From 480c5afd03ea8f35fe0c1e50cd08fef41a5f513c Mon Sep 17 00:00:00 2001 From: Ryan Sauge <71391932+rya-sge@users.noreply.github.com> Date: Tue, 17 Jun 2025 12:16:30 +0200 Subject: [PATCH 1/2] Update to CMTAT v3.0.0-rc2, update OZ, improve doc --- .github/workflows/ci.yml | 6 +- CHANGELOG.md | 3 + CMTAT | 2 +- README.md | 9 +- contracts/SnapshotEngine.sol | 2 +- contracts/mock/CMTAT_STANDALONE_MOCK.sol | 8 +- doc/TOOLCHAIN.md | 4 - .../drawio/factory-BeaconFactory.drawio.png | Bin 36848 -> 0 bytes .../factory-TransparentFactory.drawio.png | Bin 43596 -> 0 bytes doc/schema/drawio/factory.drawio | 1 - package-lock.json | 8528 ++++++++--------- package.json | 4 +- ...C20SnapshotModuleOnePlannedSnapshotTest.js | 14 +- 13 files changed, 3989 insertions(+), 4592 deletions(-) delete mode 100644 doc/schema/drawio/factory-BeaconFactory.drawio.png delete mode 100644 doc/schema/drawio/factory-TransparentFactory.drawio.png delete mode 100644 doc/schema/drawio/factory.drawio diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 593ab46..bf5c3a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,10 +11,10 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #v4.2 - name: Setup NodeJS 20.5.0 - uses: actions/setup-node@v3 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 #v4.4.0 with: node-version: 20.5.0 @@ -28,4 +28,4 @@ jobs: run: npm install - name: Run Hardhat Test - run: npx hardhat test \ No newline at end of file + run: npx hardhat test diff --git a/CHANGELOG.md b/CHANGELOG.md index 9292872..ba89f8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,10 @@ Please follow conventions. - Update changelog +## 0.2.0 +- Update CMTAT to [v3.0.0-rc2](https://github.com/CMTA/CMTAT/releases/tag/v3.0.0-rc2) +- Update OpenZeppelin library to [v5.3.0](https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v5.3.0) ## 0.1.0 diff --git a/CMTAT b/CMTAT index c887529..903c261 160000 --- a/CMTAT +++ b/CMTAT @@ -1 +1 @@ -Subproject commit c887529fc2c29b9c15ee496128b216918423ce61 +Subproject commit 903c2613b8c508864317504678ca18904258ecdb diff --git a/README.md b/README.md index 2c069ea..08a592c 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ > > If you want to use this project, perform your own verification or send an email to [admin@cmta.ch](mailto:admin@cmta.ch). -The SnapshotEngine is a contract to perform on-chain snapshot, useful to distribute dividends on-chain +The **SnapshotEngine** is a contract to perform on-chain snapshot, useful to distribute dividends on-chain. It is destined to be used with a standard ERC-20 contract (e.g CMTAT) @@ -68,10 +68,9 @@ are the latest ones that we tested: - Hardhat ^2.22.7 - Solidity 0.8.28 (via solc-js) - Node 20.5.0 -- CMTAT [v2.5.1](https://github.com/CMTA/CMTAT/releases/tag/v2.5.1) -- OpenZeppelin Contracts (Node.js module) [v5.2.0](https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v5.2.0) -- OpenZeppelin Contracts (Node.js module) [v5.2.0](https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v5.2.0) -- OpenZeppelin Contracts Upgradeable (Node.js module) [v5.2.0](https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/releases/tag/v5.0.2) (to compile CMTAT) +- CMTAT [v3.0.0-rc2](https://github.com/CMTA/CMTAT/releases/tag/v3.0.0-rc2) +- OpenZeppelin Contracts (Node.js module) [v5.3.0](https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v5.3.0) +- OpenZeppelin Contracts Upgradeable (Node.js module) [v5.3.0](https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/releases/tag/v5.3.0) (to compile CMTAT) ### Installation diff --git a/contracts/SnapshotEngine.sol b/contracts/SnapshotEngine.sol index d9c8679..fe0ee88 100644 --- a/contracts/SnapshotEngine.sol +++ b/contracts/SnapshotEngine.sol @@ -18,7 +18,7 @@ contract SnapshotEngine is SnapshotBase, AccessControl, ISnapshotEngine, ISnapsh * @notice * Get the current version of the smart contract */ - string public constant VERSION = "0.1.0"; + string public constant VERSION = "0.2.0"; IERC20 immutable erc20; /* ============ Constructor ============ */ diff --git a/contracts/mock/CMTAT_STANDALONE_MOCK.sol b/contracts/mock/CMTAT_STANDALONE_MOCK.sol index 7a91346..56ec0cb 100644 --- a/contracts/mock/CMTAT_STANDALONE_MOCK.sol +++ b/contracts/mock/CMTAT_STANDALONE_MOCK.sol @@ -2,13 +2,13 @@ pragma solidity ^0.8.20; -import "../../CMTAT/contracts/CMTAT_STANDALONE.sol"; - +import {CMTATStandalone} from "../../CMTAT/contracts/deployment/CMTATStandalone.sol"; +import {ICMTATConstructor} from "../../CMTAT/contracts/interfaces/technical/ICMTATConstructor.sol"; /** * @dev using to make available CMTAT_STANDALONE in hardhat test */ -contract CMTAT_STANDALONE_MOCK is CMTAT_STANDALONE { +contract CMTAT_STANDALONE_MOCK is CMTATStandalone { /** * @notice Contract version for standalone deployment * @param forwarderIrrevocable address of the forwarder, required for the gasless support @@ -24,6 +24,6 @@ contract CMTAT_STANDALONE_MOCK is CMTAT_STANDALONE { ICMTATConstructor.ERC20Attributes memory ERC20Attributes_, ICMTATConstructor.BaseModuleAttributes memory baseModuleAttributes_, ICMTATConstructor.Engine memory engines_ - ) CMTAT_STANDALONE(forwarderIrrevocable, admin, ERC20Attributes_, baseModuleAttributes_, engines_) { + ) CMTATStandalone(forwarderIrrevocable, admin, ERC20Attributes_, baseModuleAttributes_, engines_) { } } diff --git a/doc/TOOLCHAIN.md b/doc/TOOLCHAIN.md index d83b3ae..270bccb 100644 --- a/doc/TOOLCHAIN.md +++ b/doc/TOOLCHAIN.md @@ -73,10 +73,6 @@ signature, etc.). Encode and decode method and event from the smart contract ABI. Warning: marked as experimental package on 22.08.2022. -**[eth-gas-reporter](https://www.npmjs.com/package/eth-gas-reporter)** - -A Mocha reporter for Ethereum test suites (Truffle) - **[solc](https://github.com/ethereum/solc-js)** JavaScript bindings for the Solidity compiler. diff --git a/doc/schema/drawio/factory-BeaconFactory.drawio.png b/doc/schema/drawio/factory-BeaconFactory.drawio.png deleted file mode 100644 index 081a661dec7005a1bb0ec89380534e214d0d329a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36848 zcmbTccT|&I@GdHd(nOkwiqe~+5D0`IB@jX{p@t@4LJE*Ts7a^_f)qiT3P@A1fq)c6 zl%gWd1{PFMX#qiy7LlS9@6Pwh_dDm@b?zT`tt=9f_ucQz?3rhtnb|3Jwq^o+2l%#a z+a_RPj&j(xZ98JyHjV0P4Tvu_G)w`CQqa&ap%8q+La2e@BltdmiuWV>5%B;1rUB8=JO)uerlI4cuC4$z z($WHdG&EGT)S>SGUXLXa0{&XNn)00N%_9K4dEU7JLYnuIfhxmuo;&VXABq zjeSF?0pKE2bqGuqqN=5#siUf{qXT~VA5}~>)K#IXQ1G22mWU1U`(GZ%UV=sl3H1Xi z|6_oyh1ow4!my-&zm1^5ob9z;1JwiEyotv6V2X|j=3kY=B7zA2UV|sl{Ct2U>^p;i zB|`r$$o>Xu0?du~!;(U<0pMr9zZNy}(=j!*cEMS}j$xokDir3c0W@bX5Qqgz{UZ>P zfc0VT2gDTX6Gjb*_;)#|I|Yx|qSDQ5e1JA6cVd_(P8|kwrr`;pnlM*0oXr_drVvLH8C;frRo$qAWvT))XTPw@?BZLxR)7 z%*-@GtjR7WZe&fMhY#FL9i{`tMZzOBv944nf3j0pgcck)Ad-eQ)}dKg(jxn`weAF{M!%Fp?&b0d=ymbI=J0^ba$Em7xf0#X zjm^n*KP8cc}9T14JGG~Nn67556sc0&W%LtfMnW_gWNjLQti^B-gOZRCKPRHC84*dQQJ^Subhs}%A{dXyy1BvVj39=+ zoiIj7=;*_N8oU_4k1{YJ8)#AIwMHk zm>y|NcCdzP_-fP8Hbj_-v3&^D!74a3h)%{iKz!(S?(hH_3_uGq+}A`qlZnaIg&sus3yrhMCx7jF512up`HbiGQ9A!!ef#45}X=-m3V1smY!7+R_{ZRqtE+h!U z6z^+{a-iGm1o{FrBZb3YXgfEDU^vMo(8U~PLv?evvkD3bR5x`A*NlLN02DE0hYUS3 z$O*h7HL&<_bG!@G#|=)!XggY{!vbMG{zM~;4a6R2>uwxKfRK^c5cXYm5n5rcM06-l z-JH%wNA?Tk3DYfP{lCC017qsoqUBE4Hh0v4TUz5VzCl2h{~czXLa>3MLD&#>0{cI( zR?D4&11O8MAesJyw*GG5kzq(1UsH2!4G2Mt5(HECgJQMdFr0~{t$PsK-V*0;2CgAG zSfkKx#$l9Ts4Whs?QZ9bGPaD2L^C3dP`*KC8jb`r6L1-OBM5#@q4qX**609#XOe>v z$yhU(=xR#FIEKQ_e4UViBu5_{#>X-YZh^OexTAtCXaF7p{4K2P)wRed2U7~%jp5@; zLD4lM9o%tt?iO?noGS!M4>a>P4si=Zxe_4+f-RkfvGB8Z#bDr;q2@kNXe2f)G{Vm^ z)C#8_Xb~Lj2GW>~_ktWdsGhNG)L!&JlF*d(0jtl{eyNC<~U_=Wk>-7O-`iCUVj z1b?&zQkxd8!yrVMfjsVNWrl>hYg@TOBYk}$kQAa@5Z);)Jje*maKfVkVRRze7j9{< z&Q8DTA!JPk1P%%EBL=yIL3Ny+QEtXKV=Xsyu&aNhEnEj&g%O~d z;6H7$W?%@+$CgZV3V;Xb=vV}}`w;9Q&aRjqDK=Ub8h$orKI$%(8hA5xTlFvp zy0IPBnFz5UFsSGNC=PWe`A!DzlNzf&JnFn0vH1N|JV zd_rwqLS2J>839N_h`J7zVgj@ca}M@{*xOssooy|{koJy&1hk`ut*r%+&(z1vNfS;D zH^w_)g2GHR+_ZF{0nh-u@GzsG0EUwrHVEo!g*775a1OSS_AvJd0^32HkPa}NP&+qk zEtoG7Mu$iGBZEzFGz%;>4DW;YBSCFY0WNN?XbKMS8}~>T3w!NgTa8d7qP>5FHl7?A zf;0~du!#%`F|kK7w1DTC60PAFm<>c7PH^*qTlK&`?un9MMnH(v7a|ALc?2bMkZb zqq|^yvEkazM&J@Zb2E2)r$~1#f)Sv&q+lp16cuR|NOLm@4K@o2bF#7|m>{X<$Y7#b z0B~9&fkx7{hCww=9V6__LUbH`&8b@2!FFar3~hI~R(Js1G{}k+XlG~VKzEOz25Fc& zvN0Wv0!Zc>Y^RO(BM@C(Ewn>4jsNd>3U2sYC_qhE_!82#ZPME;P)1G+ubCqLRcFWF zUEUq$4!kl>)xw7l*sBtp(%zb+S>BSTe|30p;o9r;(l6Pna=baJ{&ugNG?v6=>_cut zWUgi>*#DWVCocC+{cI|HVK6z<(o5IRFbiMyimK{u>M{7M9=gxkCm9L@Ax|84CNPl19{9>n| zZQQ$Gh1Nl>YC5dV6;Q z+`*P--+%JZWFLE##BJwxe|lEHLvJ3LOe z?2Kfn!uJ}*e>Vh=btW&{4T{8-@|v&vhW%?5@OK7vGS`!)UUWusFivL8^kc)c8;ku| z(?fB^*{og~|g!wJhZ@HXMoIH(sdJPIif>RiOTQL8*yh&Y152v{k!~dUy8r(6hxd^?y8#EmS5Kht2t%(_(E_ zgkhlrHa5$Nr}Yr6C!G}jN-T7Y^YTHn7sWr;QJ;&aJ(+Bak*=$l{Oe-UR33BiL*Ks( zi`f`5&B~1bJ{EOSiG6F7U3cr7hC7i;tp6WRWwm7eV-MTn|8IrIf3bFy9TEQ5CUL%O zTe&Y^m{j_->@+W;B+bf!t9Ty%8($H|(#g!p!qA>t7q5uxk9QJYT)HQU)_WrvyS8-D*PGUq`(7@ohSNY<2hvU5EoJMt;^8``>lcnVKM#C3rTDourYWGm=80*BWPnw! z>OC}Kqff~ANQy8|X^bfOLA6NSPhg#EU1<8bf4A9Co|h{)ByCk^b>vLZ2*?eL zrIP5kb1f@g#{1rvJ9bGjMmThTjpq!KyiaZ1TRhmZ{^LbM#3J#wec4$68!vl~e?PkN zs~7Qya(_6s$tDl-WMjY4Qny@2BWeBTJ2Y*wi2e!MtLHO(>Q74(X}miNbI;$|<56tO zEVzDdVEfKpL8lN)eU5{}x1GvG8in_w)^_gBKCs6Ecy*TM?c)l6Ej%U6!yMli9Qv4p z8~((|XjSj$Yh#$-TX~OKT;j#Uj-6hSQwrqI4ORNAcF{no*B1^u&dfE<(@Ms)j<3zs z2YhY_uw9sG_#8<4=t&>=e&^9#+k`T()xB4jwO$N*KL{awe|!Dhq1e^YWgzwE4smY^ zwe{Bx{ms=eOu2)?_xHDRt2~=N3`KrFrgT;aakDTaRsYZWBIaS3pHkrgP2ZD(i1nbz z&hE#9Mt7+@AC@06IXRhFG|Tm>;=gE1Hry2_ZF_!9RFd)P5R{k}KHc|hW9cQd_bxEx zar-ebF2T}k-j8B!e`->PzMR+lVZNf?mekuo8NmJAZx0P-qR8(nF0QQ?(T8fM-rfA{ z?Be+~;bWmr=nVSQ@0_)nruo)-R3KWCDglY1uIVNhIrrM z$3_lkWGxJfOUy4j7m56J?VmjVc+eA%GhKxf+mp@Y<4e+ZqpX3);y?ar`eccf-TOZ2rpdXzx|)Zc z)cx69YpS`Qf!OT-bdOA8=eU;TPcJTOktf;(*W%8@nLNN5dJD~z8W@tL4A#?P+3APC zp^H{!n&-ZiWvB`v627&p3`H5WefuQK5{2j7GIEmzp|0>cGVO25NJudhQtC2EkJ}U%Tdxrzf2aEJF%>tu&Y?QT28*&{hoiIS`Q)DbE1cv z`6uB)%;GEU9y00>KAxTbFRFPDJ*3V0CrL)$(g$%z>kxB+&x@2d0IjLtK@N{u9Zgd0 z6UfNaL;N;PF9j&R;ncrCFjU$8P!k%|DqcAc;(-M$?K_ z)`&^<#UgqDY@XDoxXb?q8y%%9&w_hwGT-d%Zr$H;`}uZjL#EQ>PWyLTN!U-85L=KQ3k#&n1TtfwsV*0}^8oKSonCe$LY#ktW$jdcdpkY1@Ey8N)f^G~1Q>;r^GmbW8<0K9DUbnta|m zFj{$&D+3s5fl|76%Sb)Ez(}E@_`4i+R8v;Pk8Pqr$C}_i%`F|p*gBdR==NUxzd6D! zyQ}elZgw8QROT%<+~U|2>94__alVat1q=N0joMLR!-X^ia&wtFh;F6i&s@_V?@+gM z?`8utaqUf{*IC||C5Yj`mL-hGU0?gNCD*1+r2pSreg$1(&=CF|BcXve@A+K1bJgmK zS%xI$hV}mM!;c<461xo(=HUR_D74SQX3yVkq=>pc2)Pcz2z`}0u(M=zGD3z5=xW0O zEr0x~UxgRf|I4aETo38FI)RWNQ`S~`*dIJ?s<=I||4?Vb$>=0@1bbPmEMGr2X zI5yx2!`?SXgx>aSYDlna7`eG{kgNA^si8`#b-ZcI7j6|-7MQ}0;co*@`dcxaCM3-Z zN*+;4PoYjj^skW5cl{hqi_0wEDcQ9~N8EO+zo8ZQrT=)?w=3g2r{tUkgk^yH3L95Q z{B>Vx&P35wz%eKtsbaP@EUC%Q(F;$wmw!!`e3p!w84Yy5A6PW|V6vE3hSGN{D;Tr8 zxaRyJUBxhTskn?XU<+iB+t_SfA+n$v#GH91@Xh!uVflZ3H`x%*+YB zClP=t>@G4~$b1=Rj1WBr6w_*Z4xspA?dwN9MYsd3!2x+JmGbsz9z# z`yXjV3{hVqCW{(kHzL{b!fOrH|g+txLW7D}|rA zH317*IR%Q-xIPff*LrN}saw@X!s*Aaw1+8bt*fQ_>kCgmT(c0>1=+o5W%3EP)LoD; zG`RF3QA_V#iWWwji>0F~kQ|QbFUjoUB_KB3YpbrXIvpCguzWDMUD$SY2Bi4vdQxHV z*%zD3VDZ(rzvx2|UDJK#V^*FW&Ob(zq>gj+0mqPl2c7IJxyhYuxCe-ZdQ&l-vxPA_ zab1#8FRLF+9FWinxwdwS67jw2{tU2Z!wa=XddDpB(Yk<1dQNC(D`)D-yfZ1Uf!eq( znH7QU?mJewxdla%!u@rGbE3M1V~c>>_NOQn=e-%qnLE%cICZCfbc1z#?0Q@5@&Ks{ znaH<)w(N*_oHDR)O19Q}@vRW_;rz2ciSW$(47`pEYDcTQc5&}$EVop2P}|2YujG$P z5|Slt2PUt#nQnW3%UuyEg3Xad`|VD z^3}~u)XCL_(dD;RY7Y{4(j~NQzqLwxj4YOhQ6i7Bp32kboMNJ`0L z!Qo0xJEoFK-jdMYoe<)9#M53pXq@NqAmpn^#pMl2HeK7nzqj$J&BsbNAH>Gb94m}r zW53R1VUC@?i6@G=eOlqG)>?9i^98=9pdTWL2M4mAL{_(>Yi6!~_>bW4F}~7RA0@KG z?3+ifs^?7O*m)?jBX3vjJP8Dk_1#qD9pm*G5Q1~{Apf{6O}~Fvp*C1>kuSEui0w8O>;<00$>7h$n z{(arKzu#7&%4<$3DYJ6sd{a9&L=bOk$|7a{?n0JA=JbF*%Mi3VCKGy(-T%VWLtFs6 z+Qly3X^0qOo=Q$=mMG-+qbqi?y--fj3i0^Tu;u zV})1^z})_p*{6Brkt6KNi(LJnlU+wxP0SQCr;D}7mtIVqT_^`y$i7;by&SPPF_2Fx zo~mnoRiyjze&j~wEszS9fdB*7EOIIVI>cfQbw315%I{L8wk1>Pd-syze}cPm#ug5W zqQgMWQmy|C8VJ}b_j}Ke2k9AjJty~w@%cZPZTLKMJ=ZHFe}vub>m&YttC}L^4LRE? zl2Y=z!0yoBu3=n|$inxT;?*JQQ1bw93CL`p1hl^h*}~l@;jP!$Tg1G=w@~)K6S`8% z$9L+Z_{QGV5v+8lZ;Tiy)ej4c@y9d0o?vvc6*)H~1kGwj?} zxiadzyS#>-aY6sYcH9ALwVvR!i}>)O2qIsx^7ntq?d5!Z6f?`V5dMbE!<3@UHLqkJ z=WxKvo!$)}IcvCvGInRBHisEcr*brjB)ioj@w=pv$hiRl`o;7<%Hdz_!J}%7~ z<2QAd{R=?9%%tCe=ZJdN;Zv;qHrn{r`T@^5sb{2(58dHqkYg$c|GfgQ|WpC ztg+-VMr~4vUH@ACX={zQTy?=TGYjb8X7VG$e#$u(vipt0>jAbA` zfmHe3!Af+3*2b%Zui^$CcQ27&{L{=pef_evzOojl5gIIzbJ??umJ5i=(TdHjER?}j z7ePZu*8>V@0Sb}i7c&^p+>(mAUZG(k-CbS-P>rw@^j?J}sv1>(@9&mmYH<$eH7T_^ z))QaVfh?gr>IhPO<&vAAWr?93+nujbKP&eE&bmXTLh$cRBXV&Rc0m6WQ^E94-7E<# zGs|eeRJs4^hdN)h;WV;hOK9_*d&LbD*Z0!hw+c@;rOa6n%DRo9i9?Krt+Ob)lQ4t;|+eR<}KSI&a)n0NMtl{{yZHmpjEtAG%9aCpFj+vYA%TjC8-Y ziVd;_&C`jO`95qm0)j9lk7ryf?#I^`?C_`prO1b?#@wLoYU;IUH@Ts7Wu^L$HPqRs zf0+9L*t;P`{=G+ocy|jK;2Dl725~3Yc$Tu+Z+R^#F|}lFu<3JutxpyCWA%r>)tGao zt9sV&uyh{OrN;nqC{u5*!+bh-Noe_Bc!ApURiGkE3vZ}y9AIVPdUsNq7(TUXlRH6zfNQ zsw2Fh{1|_Rxo&yUTF*3mf`g-l{**di(=2GPHUn*1{zPU|&}Gn!a|iRKP`(nHbhP_j zUu;X{(sMtL_=TWO;V4`;Ef=j&z~0>-et5CLkB8dP|1(yiz5&>8ej2dB?G#|n2H!WO zT-6^GWNV<{QDx90@#_YRxd)Rom&w)YdTB<#(y1S-i)I0#fQ5{Af7=zW8Hr2~7(GdS zw9x<>;7aM2+vwzme_(-1!IyUIU?zz(+2bg9Mk*MwFu8aH!Pu)3IU-_qL*-^qGa2;MwUg7Y&^XnAoi#b#(G~Xx4vG<2{n5d}r_S+AC#BICE2W(K^aZX%?7iqBX%S{6f*1M>WN_iX=istiYt^lq; zEf$tD?ax#9NkegeeSVQYbE)sb3DNE_wlALWfbZ+2GjG!8hdzUFzAS$8F!%N*cVR6~ z{m7p+8iePre>OMDK4>i|8FT&qIpq^MPvi+ae_Nn!O9`XE{= zh$a{nWw5?r95tS0Hj^M~%d=}-!Rk`ug%4`Y3-LvOg~s{i9snJUm6-n%J&i zQ1gy$LJoz*dH1IAaj5kriZ`SJ26hGTCq6A(E+?Kl&)%;|o3o`1_+QYxOqMf6XhD~4 zR@uI?Q|Y1zVgta=**Ei5k;fhieGbQDedXmX4aXGh9Y&i~J(dMN z4d^Gj-QI$B2MrF5Rv8fsSEEm4G3X-)Ea`jH;es6npqi|iE&Gs|eA=r*Mgz0$as^9d zn;gD|cc6wU1W1$_=m>jzGzMLLRjjXj=5CowI4BQ1T`2~|zZ@@UZI~x|zFo;q>w20b zcpt#r@8h>xSDE~}uM&NvOltayHIj;LRJsptUjFM67y;!;hKhdh|BxIJ_G zPOIhkhlD#aGOu&c27W;*&J}&TS7QEbtTeFu<=ZEEb?2ModmA@FbL4)mckF}qN%Qp! z$>!q8hBz+E$Z|!@x$5WQoCnn2G=$xlm1qZWcI-JG4+f^H^%9~AV7dhSl zc_U)AwYC_|V)#Y$9z@r{&@`Zjip-N0fbpL>xDVP%GclE}*mpP4^p!O?gVmAkWuDib zB4+Qtqun|nsIgy5_(aoeL%|y5L#5jX0PeYsHq0)x)h$(FJV)i3#q_KOzieFme3(vVyuZkg*N32OG59Z5US?YgpzI7IWmA${(s9Z~Q`D@qaC-R+pV1(8WdMDFY!oqLTY7SVtz63q* zDp2Xg1>8Ka*Ne0KMw{wX)P9xN>ZZBl0OAU=$`{y7e#ok)Hxjhy2PNf~S4E1$p9*Nh zGuaabEzqv(ewdszeyi+!ol-HQ&8Bbc=@2NB$$fvGtK8`aceI@pxRBnth%A7`Ia7u_%0#!pdZha#P5D* zo>OZ$?0BPpZT=B8`4HER;Wwt~2lfwXKL48QJ=a=KZDyT~lH|Vs?vEo{|NVw;(u1eH zDro(s3%b|fu$fu!KfiMqpC9#n*vDe_UK_gkdbs4&<^YgJ_ajx$Tzfb=G;3aCUy!uM zXvt9Mqm5+``tX+rq5OJCeAak>@}oZ+^F6R1>j^7SRhN=7!T!D%qFLDVNOPp;?rIY- zd>{KsyBmaf8F7AFj7D})fI ze!cK!*Q0?By#|-8)LQyxpN;m;M2r@~+tCHEfI^6|p3GfaJr-)^CFp{Dc1;-Be|N_d z&Cm&JdJSZ0bNJ6ji6{~j0q58!Bd%XbQsAb_g{(pYeuDwYOsYzC4Puj(F&Dujj8x~f zdioC8U7!>TG6_+sC@fo4@6hqEpx!IzL82c3rT(|o;N^Wwuf5tuOB_iTk2uo~+~Da1 zhZ!C&it5W~gF_lXg0-1Vur2#c`tB`#5ajXk;Zz7l3xSMc_2#HBf# zVzz0=$$f|H6|b;F2;YC_Zm0vp?jag6=iFGt_ZSndIwR?P5H2nBu@1pvE=AU!c4I)T ziw@^5YV^ zTJ3e!YY5B85kk}?l)F67RilD&`On=c{J5@N#pQs?4U9ZFGlFFt28ifb53a<%eV2H(lcARVS43SuD}1i>FQe|uNf&7gg>9v5Hk`# z*?`wQP6QOgPwl5k6kdKykv%hWw%Bm=G9dRu5w<*zi|v9~H-_GGu>E#|NdFg?j`ftqpMG4> zMo;-s@@Kt^SGZ1*$+{{{T(!yPZ@(^GH1Z4CpWf&p!O|T!mk+)=Pt9 zT4`K0wpXx}%xq6l4HK9b9;GIHk#SEIMet~#oM+m)?)tqe6#oVgDu~J5yU*=YGx9U< zSjQP>*C+4Jto{aFlEQE8#tCxU1ToQBs}`Gs%om4-t{6TkYur$MMzLI68>qO0=Zv+c zS;nSTC-Z^uyyaTA5PQvM7y>BBFj-N#(zSm2`>b(tLt_0q-2_32N4#3HHg%S7xR{RE zs2oCb)=)yzwRuAGYKqumvXmZz5!NiC7CYCxXe(YfA%=X~fAd|b$vIBe8P_&`;~3VC zxSs%+j$a+Qp0V7Hp82AIS!a*81K%NflaDdd7v4(8-V!u2VYLg&1bmUuy^kssdT9Dh z0-3R4Y<20VI?CFD$xYoW6IPsimNdHGAMm>kFx9UXV4agomRi=5>ElzG5iAw_d8k(u zck5RD9r@UhpEPsS`iO(P$>HZxE5!5zS|?_{xsi&#x^K*%`tw;psC7@H94NG>Pvj>C zSgHj2?3bZY_OM&WgB4uc9L|9~mLNU@1TKbLrcD#YxYEUQ1;t0L>$wd11_9O>f2 zc021zon|G@0%wY=x3p&Px0#jaZ%CcDHq74+5kDDH?VuUg@6>O7xhZUlIpO{?hQ~-{ zDk{Hv)d*4}WQYyyC>CpD3W*j^PL^dDgn*&(VtL zoRF7LVRfF2>~=K8Nf?>X&RaYAedIclAsx?j^z1s@!m|D?EVbNuLR7dUb@i%o^6_O2 z^+}VTS@KtFWLY_7+GmtvH-Gh>dT2B$)=Kd@?!bgRD~=m^lK$*Pno-9@)o|?Et8$9N z($zxy?in$hblnqGn&W}$ZYJ!KOl*)=h&LcyMIjTB7*p2=SAwQt0m&O}<2;`7k{)lZ zv_y)Wl%nOXu$U6h4KWu|W1a$*tVih?Jy`}5m0Z@pm26ne%P6nmm0MeQDmWOsf4TGL z%m8$Z$$jS-=h>R0t-TDFys@moSHQJp6&Gjd*sRMsGAW|nd|jK;Z8O=zh@%v_kX!u0 zh7MeMMhVY^54dEnvZ`gKIAjR;7&&MC6`8>9qY>@GW{vFvJQjN=o+&0JoomtaYTG_h z%X7Fm=9xk+oGLI%OOSUURWOr&9nD|3^#=qkEffz3^{E%QVsEFm?YJW?{Wd5;=5`n5 zM713aDBj<)k3ooO#nKA{4#6P?MC>%PWUk9kD5Z zVB;5^WWM1XJ>@Q&=d^&?+vKclFlSV;a(SxMMAu6fi)h0i38kre2%X={5zM3~l1=;h z=TmcU2+r?zgW8Q(+DbFJSDz3eZ#UKRR^RTy;5yJ25-;{OHXad1c*(2_P=&VVaiq#B znfR1DTn|AVb|5(Gt$K0?z48wl?oUJ*I@ z4q>l)p+81v{g4{}X#P=yoD`$`PiM&b}LPkXwcCWonm^j{w|%z=WbQ`P-5J+;zJrqS=ZAb)~#n4 zvB_aqAylSyq4g`eLTnqva`Urkij-7I6vP9ufK6KkMh{orTQHxxovjv8y2R#S~&)1)i+6pHbqkih|R+7XI8N}Dnlpurck8b z;#mwr$6D3;oCJ`16JkI5xCI=f>#%76l3(AmWUv5cQ(un36arm;cQDvfWe+!!+yl#H z9!M5xe#bfc89{rC^V@v(((*y?`JSoEWHuO=W&E@fLFlC({EDwSskYlfuz%NC?Xxk4 z^19MXGEw2?>E`Af679{5>3$nO{GxK8kDEO+NlicBwEHMh*J)i&NP%SxGg{7z_zK7| z-OCDQAe->^*e~hWg-_WP#jiiKrAm$MU_FhJiIv&@xmH|mxj8W`;L_BZK1&p_EM$0e z*OMH&kE>;K%rnlf_ex$pYfgHK>0WQA=kB7ixFeFP)UcF0^a;Up+g^$}Wh;$zMQQ)K zIeq>L`y9t*6OAvDYUG_Mdw-67Rhv<6b~< zuDzvD_I#Djoiu%E>zQXk&mJ7;zx2|0y=YN+RX0DEX=U$|0rBitSA>@rEoZ&w5#$4{ zl0@a{mr$5~XxnjK(!QoWZyW03ZTr>u?HJu7CNk@J)&&c)Vgbh$KD1)l9mx4YmXRfS z?{u=H-7^6WF6H6v7yEctSwl9n&mO9nvrpOJ(|6rZ{K9H)&9<2XZPFJD?|$6*&9;yz zA`LJLN}u9KM3j|~UIJ0}v^gn7yp&xQ)(Ay*BwTJ$qG+&B?G5U104}t;n>h*QxIsAq zZKrwO;WXC3gk0xMdnzL54Wt;|F|hOCdiQuyZJb@2m{Dw+c)P$l&(-TSwYeMe$##lM zjPKoZu7y=RwTb!-%*XmO)=ex$8Gm7ZMt;QZ2E#_2arI;-o;m$2$PFAHoV;#oC@h(> z54oQCTnZfyT5Ux^{;#jZNl1WmWQqgV{I9>Jp`c5TKsm1JBg#xVKBdd~?z4D;coF5& zPYFT(wP*Y8@El5z9^#{nZsZ>q>QB>Y-}Cj(sg2vB&I$e3J@nQhNh^>0bzdGId{`fY zpc$@aqPW*?CmXu*URxU?lt|3WFZ(XejYb)j9+_Vi8A@t)O#Xs>qiRr~nq|=3>zXE` zd&uwlxg+#1!ATzQ(#)dVZkgs&@-IpmNgu_-5i+k8W-sDvk2DA@U~5yxh4c!BcgLO^ z6Mr#)=$PjSIEhVt6qP9Si(L~Py581wrUQ~4&02eWNq}$usYGDolZ{x$#^|uyHo}wC zVRT!O&fQBZ!Rt&J52MwpG5Ql-Gibj0VOGwrs!Z<}3GvQetGdq!oWmbryFi=`F0Xk6)&UahZXhPwG7}gx$>GV*{^I z?$k4jJ$j4QO8(};->YCgE_>})g(uhfI(Nj!BfSSy&feVaAs6cv&FY9hb1`32`mzw5 zb-gBm`@~a038fpMyU&Zer>$^g*&LpF39ZI9zX?R?PWnNrm93Hc?iXw4yezOj0gpaD z7+9kytEO4a5k z?$KLsR&n*k1z(W2=zF4@JIp`9-OOKJu(@cfD3UUKgc{6u)fmxFwdT?0zdgh$)+-&c zWBvoEd5&jYvINyb;^jHvI3&*kfiG&5kP10JOgDOzx2yj7naP{%F4;Wrk|?8G;SbG) z5m=d6#)FRPh5F~lM;zurN#rGoNz1c_vVQV;WrNmEccP+LxPh433&`HsJp&orxe@Jx z2(KAd*~#s($!_W>O^vBes7qm0V}_J^f(oL&(wBK?q6-`f={f47r5c-&dOsph>P~;k z2Cq`#h#rzrB7|V4Wo^ruUU?EOdqLooJ&MAw@v@lSenssY6hdp|^)| zLHMwj5tp=vtL7*ay*~2w>#)y?r);Kb%TI^<<_W&3RY^PcweKE?u?Q6NSQU_uk2jHS z7k^Y%TfDdW>%jWl4+Gm93u{l}<>x>2w=osxF~8GS_&|;+2pg(RT-iP!$hGThwv}pd zjNz4_leb-bp^pUQfBo27vYMXc2d3mjEIH22!wo;yyAAD;zdDlc##U~cad16kArDq@RMPqpd^KNBRIIgA&9qz$YF0i)0 z%FsZ3sQff~@5$$<83G6m%7?BpQIFMNxv-;N>tN{D#jDmPB7~?#9$-DqI5u{)b&vLP zGg%+}qc~f7A#7s*$Aza;v)@O}j>BGZ%A`ImRG2v>8*OUBRca{x zeqKRxckE5R7un}VM(<~=+*FEXgm=z)oqIxUz5xcMl?U=m7DNH`)aJUGN>JU zA9ZA`#7=J59JX9v@R(0I)N@<@Q{1LZJd;0*k4LK6xtK9_pWCR5Q`swGFUqZEk#CJC zd?uk^c&FJnDI{<86u$W4YD(LEw-_F-I4AFlIN$X@2kiT}_Pl9(k-@8>2GQeBunKMw zfA=y$0-GS68Y2_A;nQZ}?>(0;5H-fV-6fXNFOlQFx%l?MSynVSl(_n2{Aaz%d@7yozm;Xv=s54xxcYmWOmy=6TJI+qspGBgZbiH;#>VdxQE}`}~_3@7mhw;10{9k_L*BN1n(T zrbZ3jP745Y{cFEl@WJPWG(;ZlaRH9Ma*(P~EUK24K5U2Lv)`SPDwXZT+A!8!I8PMj z=0JVBz(k+S>4+xl%(RIeApunI1{y z=_51NhA5HQ4E^ufldK^^TXSFET9Z=P>#cu@@-jbt0J``NxC8~ zDrd47bhW2@KQhW81Eg1RAf3fZsP=mBSuKd~A*%flESGMqM?YEA{m)f7N z>AlbOFI^&y9Y?R%cqat+oJ$dxj?!8^zo<_nBtdU8t}Zecn>C}Aeibhi{S=X0h&?IB zjYWxUZ`QHS^8pb@@S3jtwtyRVSM;3WXL;Sl>XjVv7#JFvPL!{$=+02hiO_@3%&R=Z z^k-evnjURdXATUQKhF@7G(ZYPkZNSR3>5S%6G#iyW8BFr8lnWGWD08&6xE*J_DNo) zBuoAF_>xarw}tH9AH^fntk>QcH89h>D=#g4C?odzmEDVLr#H6Glry7T!03q59QiX% zo);49b`l$#-J4{hl=A8ow*#;CM9g#Kq0m>%RHfL3zM5RIUdETC4CJLud_MGk~oj*TePA@Qe&POSJr)->Bmw+ z#ZH>59RznX}SWBd}fMS>nw?QHV(>G!wA^;F$hXFTnfS&1n-3zn4=k{1$* z^W36D$|cI5RauCsa%JEMVL_vCf!f|98!a+`>RMWuH~)(Ygz}^?g<_RYPBBEJ((((@Lsh zwLQ-jWgyYQ!c<1}0#4>JPTwOX_JKo8xuW~2yy`RhG;5MEj&iDuVQ{h2D#%n58+G*V zulz#kwB-&DvwpsFW*yf@1kQi$6A?B)Z&)#Gg;Ff$RvcyRxC7@ehi^-EmHx#M>O9e6 z-7l<`thDz{N}8q9I%Cmu!l8Cies35H*+G0|ZMMGW(t>nDM)7Kj4dXPA+?VVXuD0`S zUs5CVIeV=xhzOTaDcU6wx2Gyw%V72lM!1L=f+6neC;yV~O?!gWyd{O@ zu`caySD7qlS<2+*NcJ_Vt>;K%boIZw3u5wy4X#n|jYl*@(H(HDtAAo9n=S?PATrGp-?`SKA@#G{@7PsNCat98Ze*t*L>Z-rfle>!Zpj^?QU!Gf(7MGN zuIkwVEaN{d8;{^Sn-^U5W?s6b@W>qPQ7K$`8huVj(q4EEmx3f@@0AqAA3dO@*QsR9 zldviyzXQD!cjH?8D)!92v$7}7F@pJ2C=9v~7wG?fp$uJ3N*0msxVd5Fvd&l&S!fjE ze4LOUB>8DRMJfT+Oo~%;rc8VHpdKqEOG}f*kjFkaUQ{;gXDOVl^KuA}ga* z$W}7S4kaWbG>l|tXJmxz9QAv>b?3f6-_P&g?_b~haqh>X$K{M`y$$x5e!37%*n6}n(+fY=$Q&`j zZoliW$9?Q23GuV!`3$1)y*G8$s%Od7qE!X{QBA0N<2&;jat%A`Z`rgkCS3k~2GUoK z>EW6lGMg_9JPix852cMWerf7v7G$;I!9C1=;A)zaEv35}6zlg^)x#lH`F*XGS>T2`M$H`K^{d6t>ZsR&smh5T8R=0B5}19lZ@wkTgirY6Z!E-V zYo;HJk1iHsNqEEmK-}f=^+@AmXUR|pQGB*{$fbt%zFMhBO}AwwheV9vk@RM9@1Qr| z>%B?*Sc`$QTcIoY91AfsTw*^XjQ2;e9-9d?q4!qBm|J)bhjuC4EAs4Hw7q{Kk9I?% zKh~D7<+J24l6^PrB1ST*-#-J+JVswA$%9H04!7n6g zTAY{bU-Q%8D<96?{)+{W>yADa(E?udhyn%CJcQ25EmZw1Jd(n9(sC}Wh7hz2I-=A! zVqx3B%JS*!N$$G;(Kd8uefSyX%bh|8g=cN1Ey$x-LGN)S>|Ii10~NLXi*ROXiI|TT zYEv$nTT>U2$6x|Hl)rd}UI`RD zFx$<4EBNqP`=NOMVD7Audb-t-&^NRSuV`+nE+wXn)X^<0)V+Ai_B?2k{Q-WCX;a-b z(c?l^mc3JxefnYkVgGB&Oe5k_swqGfGgVt}C2eAq`re%`6MWr9RxF&mlZC!NPcK70 z`kEBVkkF_f#)Vy)%Sb7`P*tmaM1fJLbvUcB;qKivN`~R{nEin}@n-?b`uiBp`l>W% z=VC3jr+M+UTg-x-+6!`*nQOqZt+jI03>cI&9F|u(M<#rzSoEma;~>G@LOU@*Ac?X+ zDPUw0{(P0rB~|T3ECXzNJxI@QYn?tj-F>}*j+tnE50d-8 zo5SxgbBr7@Ss2Y=9Un4)GrwX@bB>%SzX8Q66<0j#GQ<7ZJrQxaW$UOX5;=!?am1L{}=TySOq9YC(UH(R7cxVRvPkH3Bu zbI99b-g3VF!Wd;#^f`#)iP|$S33VZ%9zsx0+qqoS#$QD^+dVp*v2|c9?+Di76?#}W zcdOvou8~YgYF)o|bXcmpAd|PMRakaX6w|t>$60g7EAIJd@1;TPw}%UgcTNflr+7gg zdAjGR9NQ;G=@zMtXYX&zdzh0?rzV#LbD#z;mB?=>v4#I2&l{>FOiFY@#&bn&cwN@- z_@xRcH&!x7CNGIo!YX>7K=)MHOI`BMf80Lx$bq;lz(#{!_l}QRY1B_?2hN4<^W?** z(+G$Qn@j&i*ro#ACG7j0KWk+y1jF>H0^h$m`E&~FUx39-tqSpz(?0h zLJ#)tM?cEwqjm^TjWr)$oz8g3lBb=kKgyZ&VAJV!z$G)C&6rOqyPX2>K&n-W9@D!j z#O8nvl$wZGqe0o15PQ)}Iv}mE`90}v_@MkveY5D9_f_YMZfnE~)pIs$hYC=xFcxRV z)t%uJ$74RN>Z~-e0t@a-VOI>hqKsfi2+N7u{x*-MqeBPJu`z61Svy%X@xa*8C7JF1 zWjtYlA^0JFKp926&q{+H^X7f^^#P#F9M`A6;Yct=fw$v>@-A0cQC`{0hGWl`TXLW0IoY!MvF^aNL>_jxgxMuBfC@x zv$7m{df)L&YB~L_J|rwJ>hzka;;zfe;_M4}o!ac4H|+3h^Y-*#nP5SB#J-gs=~@~4 zQ27sBxqa?7&=EthjmxV-qvUpKOl5^=F#N@4k+d=Mxb8|QU zf}lNof%M0y{$fgB2R$##mostAie6e}PfDZdOkE2CIjS_R^xE|%*mjFS$*Xdq=OF-0US&*aN3Ol z@FXM? z--U+AlV4UpCWw>)3Rx8s)R<*!dkJ&&jbXWK_Q$wmwL!u3#`#)h9}1cqjFt!X#CF`A zmx>d0Nq;Y-a;Xer_+Z*pqr<3E1lSBaCMmC5rHur;7qMLXpV~XTejm@p$P>KL2;vA( zde7fR954>v%j$l{(HT*f@ZFfT25ka|mHipq3SoW&uZE9VtIXY0TSaTq{R7YjgfdS& zJg!Z*e+-9_>NTZYO??JKh*SoYj-;QSGeH3NLl|dKfq>wv>3|d! zMEILDK=D<<>eUIxtcAYt@2H%?6LtqVGoZD?nT`|Nlxqo1fJjO&=g??CeyxuntT0QDu2~kmCPYznSLXpPIJlO*`e`}>T82O6X;g!6rXV} zKBT^)t-53Yk2nvOP|LAVV^Dt%=Wm4>S|IW&0=JOUx710KIw>!L07eh9U*BXGlRpBY z3?-nW?-J4Pg>Aw83aUoL4Vcc-AG~+?oB;pFv*HQ_E%euQntP|NbnXjHNlfdyxftqq zm-scNq~jcJKDHVX%(H;CbFP_)yAZihcBO+0poE{gqcxHRhkOGe2s*q`QE+rTN4z-i*EJaWkxbq)A|L8a;&8-fduTnMm%Qmrtj{PL8-WEwFi{+M2KutBtj?>oMv;t4wr(qMn& zg3d!iJ?&gRNcQ++zD6U1z*ZePf}-SVeR-Hj`|NzL;2 zh#ScR;OWP^FADBwK>}w74uhfOl*5D&Kkvph68--g+)HI(a3=~lyWv^M;5GzbHnN2Aou5xj1>n;rM{sm|O3lchN>B&;IfrY)X7{OthD zqm*o02LI<69u`@nHP>QH;N5Cao0);Sw1|W>P~3K1Wcz#>hY^E~kZQ~$J{z;v1gZ)O zKxl?}RAF!5L&BaxC5Sk=*93Fy1gM4&&qk_ZxXeBfO$dB*Cf?~$o#r^pGz}?Q$Uj3h z7GclW!GKGE5M>0mLMKmE1Zc|W7#T1xxqxpK2BT*#td&a-2NRHVLx}A&x9T(>Qn-ObBz)^Dsc#t={ zCCqv`fDHDw^&BX&c;Rz)kP6u0Ct5?W{^q!S2=RY&pV&4Ki= zrHL|p^~13S`CRWQO?jY?{X*&vG-+8(;8Ge1zw}ihb2O-)3zx}4_H@>VjJJxnt3hSw z{F!M$Qya8DQD^TIcjLB2pUpRQfMYPqsLXvbs!sFq#{}mIP`gshpj99wB332QUH56N zy7?A~VQI3hRsitB&es%kng93R4D^SkfcoVAmLC8E^4^yMi~uk4{{_(}`7V_$b7t41gO zH1;L2^*>w$kv*-tf9Q*6z(dj{kxU4vHg?!SZN=GM_l!{p=POMvxcq}7=p{5eTv&3& zDc`BC@LaSfuPxk)j`BhUGT^?IVvy&|57$A3Qx1YbJeE~o4XJKMU;6m)BJj1`Ycd`C z%VjxGX`HQv7nHbt(|yM^FYkGLYeQCM)RZ^5JzGI4GU> zKY0)$vkN^>o@XN|C#Nt_Og+$opQ8zi|E!E_^72|I4s-LlKoUobp2$07rzH$XBBObl$7xDuA_n zkH=g8C|I2;LI`GovG726IAlHumwAiqj<>BjBN*)e;lG5*M17`0NM(&|(1-O4cFTI` zyClTg4S%Zllr;w=@2zVL!@6J`CBBuE$LFIl!Fj+Wu5vfqjO2l(4%vUUpB{+pJS+ib z9QvBwGz5=k(b3&NsFU9bT%C)kkYvOZ0%H8$`jL0Hnro|6$Y0aiIxgarA0PuzRqIlU zs0L-E#32?@=hPCXK`GmQ-5ZF&+T&MTv&#@7JOi#7i34>9QPyD5&0$BTjDU(K6gcz= zb8nNf>e%%%G3dx@@SesNXcF~56Qsc`Z`rUdX$biTGQf6l051Zu$BLyFeWis# zTrYeM`g)vLkGaZK#37_Qcc0-Q!Sn!N}=JR@`J*gvC0;sKTN91u2yK%lvL|#FHXPcLW}q$c{`oD_#01f1+Z?95;k*iThxhIa^~`;U5FBu6jQ17fL=ZU& zKt&+-lh?a@yi}vYf&E%B3f0Ugu#e6bDOSF<_#6_-0wnG5?zB0ZAO+z+Qr9y0Yei&Y zeI2x!9DoVn4v<;VH?@k+Xzbyy$U~2?MBmi($b>NKpk6P1QgsLR(1B$@RSkoWkFZq` zwFd8{Hl^9eF&bB-pV3J!MdQ^$eJe^o?|e_P&x)blK*h`Hi(r|OCOydu4L(yPIXHh- z8X#aa)1(}d^y&r*ihu+x$ECA{mI{3@Tpm>dM@MW)kDasxKrmS+SvT-diCT$k2;lxC zcv+t3LE7b5g7~#OW2&WhKCAr`6+(*>K!FRs>Tl{jTN2RnauvYtrIb6UX8^{x1hDwG z2zMsH4(RJnnMv*s7pcL;YWDPb3uF?6$kBJT&bFdCalT*?u|OrX{Ll?_ z1^Q%iu$j3$;RE!i#$K|-1bv+Y>5qhGk%{vgs^-O;t3j`Ur}3Rillv4Zei&3_)_TC= zF8=ZuyLG^^0FiY0E(J^n!4`n`+X5}B3``>9c~#MVB{m^>r3b0B_FPrlj-b=zT=iZpV_!z*0{JkW>k`uXw%8&rL03b4}qgHn8ezWu^-e$wO*p&N2>hY%G&%b8G{XM6+9Fvt)C+FLtIsuo?>B!= z=erO2?-XmHTcrntHIWfFpCAKAM!#ukPqFoeNy*e7IVubm9%c#_Idz=>d3v5RP_Aio zcLR~OUZBg*Mv8xTPP0Bg=V@-htF(_8f|W*CMU}sPPE++~gDlYInBWbU)wf&{q9EPZ z@0;9RP^PPKs(#H0^i010dYV`ME|gdJ%Lt97Q*;;<2mCf|<%0LR#rJnxKl#Uun}7*z zE6MfZLaE^9>*!Q4d!^RQH$dYBk%_pP{2;~mXVU`#lPL*7v+D~%tZtvR1;`&4KSg&_ zP`1PI6A-v_W{yZi)r4?Rdt3!YqoSK@MBWk6wFEV0j-bBV5L1q8lFaNiiR-i z=*3KxgQ5~u6ls{UXP|LOkseiXJn*gdJei==_)alB5R^=sMfvHS_Hs&foV4CKJVwk| z2K&XiAy&>r0Z%6K(1ZY8Tsc^bg~CkOD2nEjn`MyEX3X!X7}6P>|(h+$`N#Ee;~9N0ed1bQyU^k zf(y#y`kE8CR2paiw{;`_`bSIKd<;6#FJ&aSQsHqMSI=oU<4^-vPYUv*_dNn~L9XQD zhvODDMZJH-H9?prlr2RjXa5!j+kXg;oTQ6fpywbnp+Gfw{*N-<8bn|X*B<9+!H+Vc z;IK(jeIRq|B@zK7iMi=yE3Ssf+(C0`Bwj|OTJcigIN*74jfYWe*XRBFL|)qW2*rkQ zl}10mC4Z75n?`mRgYIoy*u_U05`mw89hxHrPQY`F1gI`(poxBYAS?KM>eENk5blq| zt+AHq-fM$mM|mPDXme_LdznvzaH$*!mlB-OjXd(y0?h|xcY`o4ud{>R%^Ep#$f^K+ z@@ZqDN(KqFjwCYJa`U8^72#8(vhb+_G)9}GM?>j4;5k86nq+I>Ok>|y`jIAu>4=d5 zh?oTQX_cs!E&1tn*+0n>m5mu^*jq=TGtMJ0dp~1b>pC6^|c?Lbv4~4>^z4vAtZJoW+OB@ zM;b$UK}i0D#B(Nru(KCn7muxheqXifWK zaXC+sv#+{rd~i3uET30dQF!x8Cw8V9W_@!=$I-@xS?e^=uQ!) z5kGvok$s^WA*h2NV3OksS>bD_rjQhb1?Xuw|3wQ7=pk-dI7Lp1gVI;hHEPX0LDM;B zbEoPexqX|ZHtfAYUaWrtIfxfg%izevctlp6Fxkwe9&b!r)rA+nHklSIwt&d5b|Y#5kmowGMh3kw_Yq}lw{&pgGbY*0c)hL0WyjX;G4R~4%ffA zaNK*ve&S?JZEY3Xt_^Q2-)KXWpdPtkFmhtpkWWA7-m9H0SfbN)GnL2lpws!Hepf!$ z=o;)HP}of-O32Ne1T5uktln&I$$Kez$z%UIG(Td&JO7$LOFO*|$4TP6h0`0v4-y57 z?1F}j^vKFowEQjp5KJt1=Pze$J-k4XRhrvZ*`xJ|`T=euEYI~6#Jh@hi{W?RVBaU= zn5gPeodO7In;0(jD~1D&D@@bt#4iyW)*l~^$?s0?feqCgGz1T}x1-sifG|l(ga&)Q za^~2G_w6lL27fBBDEVshsTEi;an076AX<}8XhtNCsM9Q}bFGB5a4Hh$q<*;5{uar0 z<N$YYwsX$oeRo| zKp>6k$$$N83g8Yh+SVXJca2^e*ry4vs9ofRZo*`UxhU*orDXy~E_RV;_~ZK8XjD=) z5se&mRM~k=6e6yZS`!hLH*nddqqRe*5F_B^OQvmIsqI; zWB-0oj=MtP>eh*grhE#v!?E@nWO1Lt?lkl+J;Z^E=ki;7bG+_Xa?Lx4J~X+V!8I6> z8h@4oxvO3XanDmDw5&f#E9F^4Brwh|cK2|!++LT7ay_v0!`@dti90cO<8Rj@!RL2b znK-p9bPPp&W~0$b(Ap>)`4|RHPVLPegOW4oyBu1;61qbfev)4lQ8Wf=^%)SQJJY9n zG3hJ2+e?hqeVFjGF4GpU7kUWT2UeIsXY4sM(Ag02j~;4zJ2}6~f*}frUe#jv##eMW z-$+UCMbgv&DzJ)Rx1db34Xni3p5b9-8Pt;}>_&W6bIuYZPizB%G`F-~`})NGECIC$ zl~qjRCMrj>J|>hb2%>?0FJ?*)p1mrVn8S0pt&q?S$% zQZ!aKWdve~Gw{a|$rI@m|J)Jq{hsUn%k&_*ZgXy#?-&Xcp4@jPm)drm@!pS@d-Ajh z(aC&Yy(|j;ggLHJK?toLdGjPS*)d{fT12~JO9$u|aDWz~GHhYjVtD=Sx#d9W_3;kQ zH<#X5(FAhIuQoS$dav`N~1Hjg1bzo-V<=IS`*fYy=VAsI+beX#8O< zQ9a7HK=3tWr!q=C)(7wRSQQBz2uiREuAoh$7~!V`{MEL8>P6}5ql-oPYz+EJdYId6 z(gPQLbs_FXaw=h*pZ7w?t8tBbNXK_r+nOEV*!UTydp{^n1{|#|6`70g7-Bco70>~Q zuqx)P)&ck>lqvz=ggtR;@3WUaHgPl4pzTCYiGr%sHS5j!8>}AtDQ_x1rlpt09eZ33 zvUSmhC|@pQ*u|yq+-8fM@{XiVAWCeYXb+Vsv8}G3M)^V(@T=(QA!4Q4%AV}u&-T!@ z3gqZyzI2uwvQ}i$kP_0(%_7C4(|3Gs+Azao2A_quAX$2tM_#NlH%kCl11|+#+mRxt zklPtgAXEGmDZ^GAe<{Wfbr)uTy%?C>nOLd-!>E}9YOk{Nkp&>M{3Eo#CX@QY3d44T zT<8NH0I2IM25{S4nc1;KagMk_4RW_e&6qC`X4H3_M#gcSq-7u! zC`TvxxijC)35iv}1K3=xfAwAfkv(~yEC!WP$N}{2n(B5a>z@f>k1T*fo-vdP+jGSG zL|%i<2brE+)X ziOcCDX$-sPF4{7Nh-5~g|C;-q=!{Wa zsA~atZ3eNC9|u5D6Y)V;5H$;MyC4p*wfGh(I3j!^NnZ}hIufj4qGT@}J$VlPeGsjD z%Neo^eV`lRv;l|WGr0dk7;OHlk+8$p;}4Fmvq*Zm`ltTLLi9cmVOEeIau$_|kLUJ9 zQijh54`Wgh)kB1DiFlE+?QEXDvKRPH>cO|ufe-s9KZf=HKyUuL1>6Tm#QAlA+ckzP zVBu0AR1|nLk_oBrl}zc)CalsuD01&V5CPGK2|GF;Sd3H)E5Cs`J<}{c_Z%{my@*%` zBF5kE+OFOS7jRsg1C8{VpU2<`TAhGcyX%nWR~&PBKxU|Sisv{BqWe1gthl)d30ojS zF^OaIslR$0gnCz3xAZqEp_m~4M(_+7i3AXt1a73-Jk}fRS22<7{R||4-wycS*qk=& ze56EY4DK9~YuRK;dk#Ush1VTT+$r{mc!&2m#J01-=V2*o5uN!7;!Wm@khA{o>yhL! z5^A#t8=CTb{@bOk{3LROA|l$b>DLv_!FlW~vD@;;6Z{&sd@IPHIKEmRPw?qkTm)bH zg^D!Q+$T`FpyRfW`&=AMomLN8befO@Oroe+3~b1Pn!7tpSr6pXrs`Ti9M=BEM&ID= z4{m`I#Cup;kRTIEzIk*KcXwQuR?3UQZrsA6UO^~v0 zrC|*m3ZSChO&kMq-F{*FN!cAZ-FvTpE$3_K;Vfevfz=e7`W*@D{Xc+dZaQe(0hS>; z7+tkKejv8DcZ05_4ic@2t2dj(Lib`OeuxkI2bV*(R^u5#6nuJXaC+TH)rT?3kc;d= z?h8T6jaSCr8G=i;OG*&rqYy3SKfE)DQ70<|7-ZLRe5U-2B4L!^7ci z{<<0V%|yi!P*E^94RZ?IolfJg3#GZ=*Xl-6Pv4wDq-gT1e!dG$K>`mNkzK#5Ahtzx zcWE6JDu}2-kI_94mI(J&g8Ulj{w&&qj?ec&oPL2prB}&@H%x!xzH&%xe>zk`FKxrF zM}_0AUX7f~Sal5bxYkkWhwxM5PJccKlX028nl_M7Q|!n5mTo~V4pF!~cvQCgfuNZq z!X$jpr{uA}<#gi=k^s|s>4+qD5x0G_&n~}mybkLyN{&G8w+LmDkU+}l@c#>~((Zun z>Z<{%GN~S8pcdtPh*+TsV^ue0DnrPBo<7*a3-ya+LZk=N2&MMfM~Zt6>pr>t>I+`l zqa0)Xh)@9qNMpj~wKALbC#M8k;aY~FJmN=DqGO0yxA!u!6YJ~|G%q|0RLi`|Lhnc& z)=+xs?7Qtg>oR_G9CL&kYr}mbzoFQz4(Dsn<6P@4$+@WPJX%!`nYSluzWb6Fl(^;R zDR9k<#_%*=3}$tYTb>&nj zUuBE%`9Bv9gsPkSt(|^GbPc1IUZA0~%wMc)ft=shUWIiKRGF#Mx4#mct(#dcT)-U~ zVDMvQncuXc8%XRXT1P^OSc4D=p$S~kgwmb0g`4S9AwvF$*9uxoNtyS50~kpdteI6z zY4Xxmro}iCH7FHIbimp>8MdLP<+H@(BPpyHxeLbduOh+s6NV#sj^i@*I&3qEwk z@|NsAR-&ES_`(qO*D~C^@gh186tiFLb`10(nktu9ughIuX^{Ta)=_Jk0XKIH%*LLc zKM(0u0o8-D0ncnX4pu*sC!vcn?}++GpQ_LdEQr<{2DxI_vYa zae@>a=@qD^%!1Kz9moW=ba6`M*Em@Z&ql3@i^Uh_7>6A(>@~keYBzLPYka#!I;^K5 z?}I$|BQT+t1EFpaBJ+S|?HJtH@&y8Xsv`{vrxk^pnQ9W`icq^~=&)QN^jtqV4$JUs zDZiC*KOs-sgcf);BUHANS`d>=lx=8Ko0vUpc~z(e6@|5MyRH~;6EX%JTlsx--u8xMuL4dZNsPj z@y+jmZ>|WwIXI^AAgpglZTevp)5m_Kl=8njnU#j zB=n_4m4AOc^aOwcT^FA(9v{6oli0SY*lTqjM|>Q@E$B|$p}l`D^jTM;SdgP< zJX3C+vfjnl!QciDns!;iPw;%PqHyKF&Ss7(Vda%&#!S9&QOf4=kuPl0a+>UsYW=D) z;CpXX>0ykJz=;{P3Jsd}>Jd4=qGPvslVVVn5$6Y!0BDMTCn0&Pp{dG{I75#J&AG#m!_hLp-SY~E8l*V$O*i`VxdMN3io2)0}A3);`&n{KYK44xLj z6}`lMP%MVC!@Ng?_k6hlx=2=L@clFMy<|Bk;5(5{B5B7k`59dS>UJXPxTXt%PQo+c1PP1*hP&rlS-mrsrl2^|4hrpTh$N=_Qy+unBWPa z>UEQ)%B6(MqSGJ(o7w-_7PeqCzBS6ZaSzV|-eE`1wNpgc64Xz1Gb7z*y4&F478vXU zNys^6Im5I%O`eZW6v1B(O!D&$taW@d(kHl~*jF`WB1$vq&7$#Yz2Ek4QWK(9KX?<~ zk6}dBY7l!sQ$30wCV<_p_pun)LJWfdB)DOkeqmdq3ZxI-Gzy zW!&JeJs(r28JC+`iuC#c#e~7LKbJP_>y^qH4#E>I=>G!|geoxtc+fG4St)lKtP~w!U(=r+Zk0I0AFe#e}oBf@6go zIAHS4QsJj`IQ(|H4ODn`!uii&*S#(r$~LHVtDJLf2vUxdFQoUEdm;M9hyL)ZwM=Jd! zWO45wG48xY$9Cv5R}Qd>%fO`m=v)$aJ--D(f$m&U_N$cs2d_6#!07dy?O(heo3uF? z0D#(srtFs4V*&cg#1ju6!s=pKQJ@Q2BJ9v>04})w{Lq_sznEm(|JOwi^fjhgO(d)j zJg{wLE+ol&Ybt?v^APLfzZ*|LJI-_$Dt7BZu`n0H5PDgbOUW9`n5`=GZIBsN+A9;>Z{q5ePs1oQ^(nTt2Fx?v1=Na%wu zD6cHwNQc8_>fv6jleuDl)pTK>wviCj#I+&bVA;h9tFSsvq37w|xpkVZ4o{Q+QOrg9 z_!#pHq|cYR4fE+%AzyFH^Y{x(Xv)2|Z;F4rgN(8O3G>4J+#{Bs2KT_{tG{ok)# zKRuN6+i9*!ZYFC$nj$5i>J>GAVR)tLjL9P&zE1Pgg^w)H*&E21HR!OmlgQtW53{;Uz zNh|Ge?Bp+w;mieHdp|S=OOWxS@V`U@AuF9{Ls{X4hSJRh=^D-A@BU4!5%b4iUKvpG zqo70~?`(BKu`AwI#s!QFLWr^4O*fpWluqdqFn^rzq=x`yGWaS=)DB~rHJ0wh!Tpu< zqf&pG;KP?I{N~%&cpdHhYBY`2G)P--h4!pszj@t>p2K-_HJUCDjQ(xUg7&sh-j~KT znoUCj+kMcgkg@kYnjJwGm@@Klx;uSdx52R8daHZLK=_Yd`Ve=*zPo_Dnx*}SD~CjW zVIeEC=EC+*=g^qXMydJ>p=?qSgTLcjiR8~-VYJf~^Sb*oZvB}H80t?sf@}+@<#T!3 z3};GTdg9f^;F}}D?Ir(rBD4yib4M?$C*XZ;#aznO|F*YQ!62*jV_Fz|A4tN6D) znktY@M0Q$g%}hy2Y3JU*y`@B{Gh%%oiWOHLh<&FySCP2=MOxbaYq=>9{61Ox{S(Ps zcvLd@@`>4SUQ=D;W%)ApZ&wwEAjJOgdL7?qas#q1HJXD*yUO*4GdtTe7ynsZN|Xsz z`p9v}58P)ft4AY!q5iX=GJZ0nRQ%p{WQMYnGQ*iixVUkD7wog4%v$#13}e@|;Y?B0 zBirqIdeA;uckj!Q;Y=&%SoXi`$YUn6#yeOMb`GXW^zhGrrz%9o{)Qx=0Hv=Ogjo^bQIZcjjh!l= zL)qiW+9uokf&C)&F((Pb)KMNt^&r}t7$$?1teuFx@s_Kyv zJuxWVwnOwN-lR$+J=+|(xV>byhg)^WtO>VLpx`IO3h)C5swxNug+7A5K@#zMZrQ*Y zL>AKb#+?QzMkb}30oKLJ$S$|!t=-R@r+H_f#3jG?JiAilhfM_H(hfPJL{P7Pcrb7P zl4~lr)P^$~dpr}uVs!o@f#hefqRr@ic- zw<+4B1u>n00lVap`77pYMw9RzDOrk0g&$wJGbrVZuY_CJ_Dn1L4+N&{*egodTx^m4 zh6wAzy%}bv1V}HAk!qZm3Mh)^F#&8({`rijAlOsUkn9Ekh7lgS1x_>T)cJJ z8yF6}d;};HUi6iG5R!D|9q-HiLZHHXe$&9MLx0h(EuZz;mt*}d4XiIo^cIj;hn(LjwYouwj$NfD0G`m2_IUcZ^wZo@qlbXw zYzG`h3Pj}%2eF+X*mw|(pM6=s`!~Q(X#k|hs2rZ1PY{FMO=${!JsKYiyI(Rm1@@cR z&SH!v?)g~*i=gWt;dVk|{oUs;6qh(r?NAF#NC^#fhf5WD4j%jkll2_3{7)dJl$eEF z#y7YWr{y&1SEQ8B=5m)!e&x!U!@19Os!Y*$JTCD*$T(6yneN$SJRP3`EPx||lHt|G z5I2w6$sZ^j9e}4TVN(F!@kL`vq(-;mkOOi{=kIbe($QvkD8C_yi``d1$ktE{Zs%)< z@~yNf)~@nYzy$RH`)G*r@5`mm>o!HDX>1#(r4kwY>jj_-s_`S-rOVoPfi3b@sJKe`dRqn(c0bLAbZu+5dp^JRB(uBCj_n);U;>?BZD4u zknt6xd1T8#dALS@$!;`4M8i7C?X2%6WN9^^PH(x_Ui9`7*`qz6LZQ06o5U~ zdjli0)N+g7@qN2}ytz?OsUS406OtL^{PsbJV9)OfI~CF@mMu4ynJ?|o%l+5rPM-5O zm||2-<0=_7TAjz6tvsT~H$d+EUTjJIr`*nCph5ivF3aM+!5bBQ4DJtT_M@NRFZ*)k z7zO3&s^TP!4zO|T^0MUpLTulG%yEp_Z&;|SSWg(z)q3to%yI3A z&{RhK%r#tB_LGM>#g&tzuoN)>z?yPjqnUBoDmnJFDY6fD{Ra*mtB}6gs&BHW%p_|_1;>>mUiNNUeDLiUZt{=Rnqe! zT~{awZDnCh?@kinGcbwT*AC#axRFz77+aGgT%Ysi+w<8Jn73zwM=rJO{Q!wjS5ziS zBFm3)^NHm?@?Jaj{l(~yyCt1C)moCX16Zr1VeT3oJ&W|p?@H*$fSnNE8PvJbmOGE{ zNXr_pYdcB)0Auho}3dn-}Fk1p3CzZO@5p3Rrfv8I1S5hM*KeEsm!Vk za6@ZG#Zx2AVeTBm!oWQJj8Hp;i}hqmy?UM%tpQmm)ngL2d1uO5^mlr7K~coSt6<)XkXSa3TNU8X3KFB+jxdw{ zJXIeW76l3u3}>>K4sh4yIWJt-;xC?7Ukklxg}aiTi`iMoE2|e^8GjyqGr2}{Iordltzk$k<`HLPu z?ToLyTUN=N+Q9EL!f;n9TvK=)O77rk$exQG|TKFT?J zj#E(V5K@spt@r2STG24SSgVf-IA2>S|8mXk`Gp{`y|_(ARBnw0Q*3|xpW*vc3J}P< z=MR{FnGa%HrQGhqD0Jis*_&Xq()CE|F(aaaQl)E6_KJ{;e(hTiM*7+~0Xr=27ZU1dg zhjs<-Ctn?Dq&aWCI=DTib!cB7*ROy;x8AUgd%N$l(0AEWc71X4x_#O0F5B(y(C(h` z&?kAmeP;cn*xz)W3?-_8^h^Vc0kPw^ATpFLN? zreDqLCT2X?Zs+48ko8Xnt8FJ cWru!KFe*$6ic|KOQow&I3L5fxvgQH*AO456%m4rY diff --git a/doc/schema/drawio/factory-TransparentFactory.drawio.png b/doc/schema/drawio/factory-TransparentFactory.drawio.png deleted file mode 100644 index d128640b1f2e0274e4003e0a1db6ea66e191d233..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43596 zcmeFZc|6o__dgyfN@a$MN|v!zgt3fKh%sjDV>gyCW~?(~41*c66&Wd%N($|ptSL)& z1}&mgvSlrlJ=u%zHF@9n_x^nzpZo9MKi|h=GGkt^>$=W$u5+H}dCqw$(aI9LbNl}7 zn>KCQX=04F*|cdhebXkMmjYYCHv`JVPVmMPY=cE@%5N3_zG>4A0frHtL1lXTQM@+E zsT*#5l2cRlr3EwO)X{QkYDN?bPn#NI8_)#@&J2+fU z-9S@=`$JtBuBPU^aX-PwE8w4rG?i7s1c&h4J5k`1xnDpC6TCB#2zP|WVerWyFp%Qq z=;dkV$BWYH($BWp(hKEy0@*|uCWl$8tC?7u zTBs9)RS5`N=Rm5lvuS9kFUvm=??pq{7=~+@T9L3cBdVvbA=B2+oMA&jSYTCEol$=N zSU)FABYQkE9HUCGw?O;iP!7S`WJ7RTC})xp_=!T>IQwZDm<7~O2?zou#K9gz z()K|Zcw>TW)U?RjBqJKuhY=WPf(^641yQLsBm#+G?PL@lPG|XeS_j*a%rwGH!DJe6 zb-1asl?@eTf!DV3)dZUfSJU(kvNA^nl4uqIPFQt@xrQaMbqvfO(8;)@X z3!~M{4beD94BjdTNl<5m!?iRuunu4jbze;jZ@UoS3MeF1I}E(}1qRrVyo~T+#84+6 za0d&A3JGBul1d`fCEJl z&4Xx829$7=1A?MPU=V^0=#D-VI?>q72o>f;^7f~MX|fCvMt+XSFgV8A!q^^dfWX=j zC^%HGx~HbUIuYlH^>WfQ_p|`BQPmtB)jgdl0nTcU3`drOr=1tWg2qw{@-%UvBM|;5 z3#^HqwZApd$jUj?(}^V}Q1BMsP2CGbiAd7%PUFsUy)BW1^~!0{)7k*fZ%t7PjF=<_HsP zkcPIc6+Tqk&(G2#kRERD9Ar=Q4K=ibQ_MBJgPpmW$54>A7~gP`ks-~;3PCVJ25At2 zFg}`Ew&B)h{`P1i4P!=#RR}`O(1fgIXKZX@N-?3B8d;fXIH(4)tjMZ11Rw)b1h*TQQvq^ej5I8*sorobfdE`P+y;EZaAf%V zP%xTmaAb&Is2#)4%fZt=oa;co-fD&nX9knXMVc@inP6gq_hWL8&BD<(*wIvtu8C9& zvSN7!)76n&uv6#mZ|3ao+5FsEqkPyTT zM*jmhHJvG*L?D5Q55@w#WBh?_Vi+h3UyQMqnyQy3B@hAkQzvL55uQe-md=4VYg12u z?kRcOn4@t{h71Z_-O|%j%h}2oZD<-Ej$?)!pnU_eYPMcjfN>ZwwV9WnU9h!; zZ|`Gc;A5yk_r_z$4z|Hatgjs^z{i&8=|D7PAWcXns?KP-Nhr!hjp}b=W)0UQqiukv zI5CNM3OY<9+{W3{%Go4L%@ePx9u|Q0HwC2%Tw)Ff&8@(wMe*eX9ZiEv(&W>EODN`R>7J<4(4Ib zp4Q$d1SZ%&2#gIivBpqwp;keTBox-r+nEfebppt5gbAYAV104kc9!NQRHBW!y((4R zJcJQK(PR*jp5$OlTWxc&4!GUH9BGRtSrE#X{3W&Cdc$gahLwVd0i= zhE15E6~W$H)x?WQ!%@{eRY~T-V635onYFK(siC8hmnz2JUfl_U$J=>g$(kX~p%ip5 z(!c>nW|`Pn88|y@0dZ04L=#PaOHEaDNT6p(09MW1#uj)JDkOju9BvovPo~+}qclT} z@c!CX{$}Q6Uw>aq11(ZuXjmZ9TGPe^6Kd!jWI^@TQn%7pH#MW!J2(efQi4pw0tjd$ zz_T#s3=_I0(+(Zz6GS1Cw1WJo7OJM|S`KQ65JXT2(VL(VsAkC|`_TNXv`EG{4K;rx zIn*CZ4a1YkYBWL!l}y+2)5e++07xR36elfve?zpHzZ%Ba(-sH!F?3K3M-a`tNE&t~ zm;gT;Gh(o%V=$iX3w+xv2(C?_7=hg~?CE~0*48Fr_Lim$l(lVu7tU7A($WOThaqC^ zG?26qLz0a{Aj3$_NmE;$s!p{EVHgBbnRZTuKy|zs!N5Dz)5bE~8sW_H;u?q@$_Akw zY~^IGiSR`s!jR$qD7ukns0o3_AQ4G^KI#@|s-qJgNAbk_(wxH`O{}%(mTJKU-q!vs zEfP6A2xS~VwFnOkGO|W7HG$<}yv>mg2n$s>(#wg6H1}gz1GZynYY(C-h8`YjXvPJg z@K8$)6Ea52$VUUGsvcr)>Zld!U}5io4z$%))ec2_0ysm_199pYdrxma4O6EuEq{h% z7{ksF?-%Ci;7bV6vNr&?_!(oJt?j~{HN60)s`}8?eS*>9W&xp2M!|G!5W~*Q)XNA( zGe*(9u~cBR-d>?TTIL9K4U8?z3LB(t>uXHY)S_Eq1DRURNX-x`5))|V6JTX!WfSJi zq6Mm9Z2f_>I5a>qJl#qQ=jY{($D3#cX&8q61=IfxPr-nHNWZ#~C0+T!rcF|tOwa~) zOt*=wos|x@-Rmmn58wXz2qLfk0Z9_RkZ7Lr`h&TliG_cq9R_;r_Ws9*t{*nNxYbXC zo;o6}W-Yyb{tnvQ3vA0hSYiB4#}TaFpz(aDMu zO}}^`2=mv?NCT;DkPOHm?-^mCwKRU zLV0E3e(&$Z=egIoNneIv-x244@c;Pos`AMkk^=ncld~{hm=&H^m>&PFpuS(RQC&(d}t}|hU$JgkT)*>lE@#Z1>;CkV_EG7<+PN5kxQrOI>$SYQ)rs6QhC<)LPV_Zh{V$W-L%5f14Hqty zMrs}ditzwvwdIXV9(Qnz064e*xAy;{bIGLNT7Arh>j>%#EOw!Xc4GBAF4|uPbG|Ti zvfHb}`^{d@%-=cSI49~)QtYnv= zknZK#s`9>pgvj8@v?)=peLfOSWhdo)`$*%u0ec_MiM`9&?25&{h{=~SDGW~NRIlG+ zZ*a=n8(M80`6tO2_G=zF^vdhaRi~a3Y98jo{)LAp{=90{Tcz})d(&`wem5f*GD4>N zbZ6kJg#KFo+grJYEG5e)JB0ES2r=ZE?zyZO$)r;_PM%Y7(@ZF9i*y)}yeF@;&;QTL zyyBsiCk55r4h3#h{)3Fv$k|5Gg-&A1vi#6?ZL1R#E-z;vQU7|ZEHG_UyJOFW?e5|G zjsNN>H&nema^Uz(?dB}@cyD>}!O%_u=GxE&t-diGf|r+933Jx-fDW@T4_{QjU&D7` zEqS2lIXV4c^zYfwpRW{pp80)nU01339pqBz5&Jeny*cXFUCDB*=DkOq%laofiyFSH z4<)HM&yBoYEMx-6jhv3?FILPit7mOjshmOel+o{gdg53x^uqp$Lzh?jN$-N{m7G6c z6;9A6+qJr-a)W*^&305rMpVqT9{-|icy>q8aPslit-Hj1C8K{Ag?w*soIy_&x9MFK zv+Sygj_#?7C>0#$D6+VHC zi&zO3Cw%^g*Td}aoYhr@o2NXFx|A?r`Q*>}{lfIHFCpoxU&=?b$N3HuU2CGM#?7je zBp2R>N!s7!Vgx!K;EkQq{V0GvZ2gvPV7moMMcc#{`=g^PmPc-6Nx|Op!;)1ol@7bt zqCrqu_&wL=XeD`!@kn=dqIdy_S+-uWG?X;?{IgqdL`&B#g#J^D z*7JWs(+&WiQKQX|hur;fGB^A}+FZcp-cIzczP#(2Nu;x zE33ag;J#=A2MoTQ_T2wd5Uk}%$_yGMGTT1*=lIuD!-@IN?)^lZ#A5XFw{%OLh3_Al zx0$}aeAsrP-ApCqbDF&f-1y}^g&$?!Kfk^TUH`M_$VSEufC$_B$31fX%9{X_F?k8( z_WGH7X_iml-^E6oain+ov}QWNi^mr4nWSZYR_<>US{#UsXBwMR26+Yl!vZY)~np#B0JHz2ab zOuy{rVqcla4DsU4JhmYk>U~Yzav7+#0%E#QCw<8hIml8S>8{FU1H7WwGcqq+BB!gk2Ta$jSL@Dyv<+Qb9<7)g76`eQ$``*XJ2bSG_-+X} zDf*T_h_crYZs62yDTq9DvGw?LXHl~R`LkO@UQgOtpCr}h6Tb(Alz-EQIEl(S7gbI9 z4!V_&7u58{E7~CIW5DlyH)z%0QQ9I&ixHQu6n<7NlG;7X*P5-{6E&OUj!cnq)9W_u zEfP(cNE4>tzE<)h?k{hO10G{g_{5sKcStOWmmp04HJRa)P5-`P0;`W5V7^o?|0)c0 zyXboDE4B2?$eIP=X1C^N*Wsrp!%y$T9r*lIOSxR<_e?|6v=*gvV4+cNZ}LG8m4o#c z{saoVu8v%N5gCvf5;l_I)BSsSPHyNI6wnSxEKFVs>d0yO{O+$snDhOH(Bs7=oupqu zzJD$!$BVllsLgMyyHwxla@CTm0yMM?dmPSHmp)$*43ci7=kv1a_s=(>A1t)W)j$8> zVpDoquej)HQ=`QG1mOSA0Dmy*iTY9X*LBY7yY5|%!wYXUxr#-}+pk$jDKA{n{k!@O z5PRx9w#*xF=SJ%%{l3-)jNsY9RP9QsMAx~|2jqt?imMy785lPi#xAb{gv zJ8#_Z*G=n1012<$`Em1x*YfdBTo`|M`^-*BJy%zlrN=*s&t!a3*}+edz}aR1Q5U>v z@lob4FY@O-pcU{e|73;phX)qa-ZJ`YhkbQj`U2m8R}&Q-^Pgp?`#3k8-6@0I9^%Ax ziFz}D-jyZRZGRQ{XdA@Y$-%)pZa8G3^F0Va@&=+q`(guKiag`Fj3~arjq%=S`|TY? zRUb9M;=VxGq>?`$BmTmxCeNiTouz>@i0HLbE>+>r0cVow7{2gx!2feT)#AEF5n!!O zDH6JuIkK;t?D~O!qHtjKU-CBmTwm4a8$u5xDr6UC>qc|~*5>15n@QZ{R?4M$ z2R&Ms!`!q7Vm7;uG~G=;_WI#f`@9Y0$OLfI*!5!njg4Oowhho%f4))qOOZi1?(w-9 zIkEz%-D>CP&FHB$ccTq7;!^{8T>4@7NtM5OoD{F0@Y2$7%7u@sl99hI&j0xI20`ic z`1b9aL$SBTDj=Wjxkl;#?4>pv7`=uJ_t?Oz)`yqabiT;ZJ@Qks?gIXXD&e%I@4MQ* z$iROpN=bvziQahYYCukJkKH^b{Z}H0 zF2LsZ#Tns$(|Q<0n)l=j2HokJh;q`n~N0fPu~iXTmbq1BbW9x9r%Dd@tl~f-Ndb1kO8+b$37-(Y;^Z&FsJmR zCl(tg+9@*DUsE$#wb&QBI$7ErmAn7ehRzFtI!=Gf>)24pxtL7}r`AWbYUr=b7y6^u zVPZvR4{dCTn>tAOJvq8D-yNxUcZ>upe!f=ZvSA~*+fJLm3jH71Fo(Azq+ zDc&yO&Zk~UNAZQVT#`e1@-CA5y_JDJ%rcFK%QyJ{nS4Md_KiwSZ}rlUAh7qEKt3G7$uhA$8Qs^l?n^ZPJ6@tSnD;;!T5 z%Nx62myQWMHW()|0r+|;C_C+o=!p6=?%rde^@Ze<6>?R?7Wn-+Zk*tz*2jN5x|<8` zvMkGrm@2n?c{1pg93te0-FW-`B)WX>*H>vEe;Q)TOn_Ya`EA35V|AflFJku(USG4xp{22;YAkk&%(dV14|; z+|BjgzUcKx^1EBH2UgGTQ=b5guLwcyMnV@s0<0a2sY_ev4Q?y{D(hxYru*mD2h7Rn z?)+tP(rKT3x2o_3fGaM*v65cz z-Jc7%&IqttHJ`oB#{pOMwZCBU*XVDV@-k~d0HjS<&b5~2&(_>e-99Zo zCvGszSBU$0>&&jFLMMK|`_q5NC@J&N@U7`@Z_+DX__SqH4;~NgHRQ~$5>s?LAgoh7 z5niLMS*_|}-|wft4*F}QN4ek%0Vn1s@eh>m;i=!hE$bBU=O?@Aw5s{5g17GlYSikj zP7K#ehzQ&tB*d!$v)p4Fswe@v`4 z+@(!QS(#}Xyl?xr1owlxQWW^N>z~yQ#sUoP12xdmO5X{SyS?G#dEDf%lanZN66tk^ zT`~1y-1Vg_Z%a>cD4@p2pzK1!Q_^2MS24>#hm-FNg`O*9GwUad%yc|ArMP4r3vsnc z1E|?{vTc2SqU!_Zyx8EvkBxdPI&(z-2=7l|ocH>xUf6V>^6*z6;Uq|5OZ(T?7DGSTJC^rb_fMAg2i(x2m2ksR zcI1Ln1Teu&(P`jFB{ggF1(s6Tq1}E{i)>V!RG%IimaUCC3i9K1d{Ku7z{Q_9{p_;e z>K8mO2-B^fU0>M%^;D7Au>Q!;EA!){!dC}OhRb-KV!|Vagmvi}oDkAOS#>!=s;px9 zLO1!O0^b+^!Ke*jfd~VqkcOjUE2N>09-AMr{x1pw zfHF=8LEy!`p~x(>YvtsV_y5Ge4UMwFwe#mQ8mwf8f?^)JY*2}R;-Zu>nAV_u7tKYO zKKT4X_(s7LECvKEK0aOf!7Xa}Tk0?4FJO^F4qUwRU)F6t`ft3G;{60!nka6YxJFEd z$GHLrYBc4#%63z*ms?AQAIi|KzUH@+H*72J;-=9T)>CD}$*Q5aNNx#M4NPg|J#*x& z;(ttO4;e_E0zO&3xjF<=`XCXwqZqK#_`2=!(`V4GgVbC9ct+giP5hz35N2Dpu3@(! zH^SWN1UK%v(Wod{0BkGvZ|DQCg7N@Wof5`(n}~^`W)7AsA<7U?D~$(-e6fHVpL4&k zVSYfu!8BR*!M3|8ddJS6w7UuJJjcy~F7DU!>->+%k%}I0tXa7N*lj&1Q6E8Y4-0Yx z?B=!_w(gh=)KT@9KYk-pp66r8yNc!A(F3Q#k?_4HV5?svs4tJR4+y=AJ=W8+dsrTCtG>nb~mv`rW zjh2)f`t6gu7fcCWFnxWWdZSw7A9sK@dIas=+?0ilz)JZq6=KeA5G#)dKmtK<@12cW z#m~~4!t}MD_LCbDNGkvdPytdQpq}9&1on6x0_yhvij0T+d5?+YKYCkGm!$s{Xy2%n zRLv+eg*M-K#V>j4-ALO_8mRh}0N`6{=dnM++h}?V@Z1hi#sGz_togC`4W_21=k~-m zO^Wd7Hb?S~8$J)0SlVQ7e@@?=OB+8H?%Vam2CC&zyNMeuL00YDoO}?JN4*_N1HSBd z((w&Q`3c%tLcPJQT#mG45N#ir7bPjbcqwn0dB_)*D#{z4Ji3MGab=7J5%brS<-Mo? zh#pI1#A{OoyX?XNE$7eqC-eM1JU|5WBDa-RN;$~EQm=0kEaL`ZhkRE*b)VK}XLlZW zP;KJK)|cb^C7!bO?A@Hy3gV*xx)ui%64ide@(Y;jKl(85_r-=E;f2Fg!+-hSI3AYI zO|CF^+pSK^-Wp}5KKny8Yug;XoD&LV9|3IRk+X8mpL_^Cu5Y5Z{6l;Q7an&fZz8mS z3YLwp*PuD1>*~CCO78cZiLz||+2Y3-S>AF`oPKk~LuV=sHuYAkUy1hb4$W-g6AYBV z8)u{W?=B6rg!t~HLSka}uz~GjjjpcHUjvcy2ljZ!8y>wfj_#cqYgL1EDT@#H zd;&e0RA_A78Ge_y*EOjiy6pS%Fexd$mJO9LZ<}RyySJTTcH7?-j-`N8@-kC)ThxYz zy*~W#a>_<#d9dKUp9TzK%_}IX{0tBRf0`?L(vcldENa;{i%MOrvG|t|rd%ONN7q+= zpk28s<{s1Uk|fY6%MhMHJp#qU?C*Ims*SgCn?2IA@aI+8{BX_OvvRynTm=Zbwgd#j zT3bMO=M52|u@lR8$3kD|yKj%mSRc8X&qAkjfzd%0sZUgtJ-QLqrmKz!(yIfEj;`^1FT*k9`s(Qq% zwsv!X<-$&}vg;zT5D{PmoThDsWWZbN9c=%Oyr+KqK3UU!NSB|~&+Ku$D-vriFvd#V zmbc`l2o-hj@h3qQZY3}{JH-MQHQjl)N(2T!rPbDc$`pvZ7L&~{jj)V4nZ_1`lw23) zj+D;YcJ$Q>it;)B$R&J8FSypMd!q_rEUkABqWdSJ(+;on2LgBVbz(K z8)=c7x8{$ar8s=QbOeg%yc5^at}%sG5B^0!k5HFC*Q`C){q@dJd;SMVze+*k)nWr?n!8cy$pqC= zZYShf^zUKG(2v&GZ_lS(72hx>kAsHg>h$^=jmy`7`MgoCm{21|X1A$%as(u_LcJGS9>PQnVEJ;68;9j`I?z`+aq{;EThBGsVvYA7PmX`8Sf}}E3v_pt;43=EV$F1#RWHp}NyT=Krm_)4JTwj*d z$`#UEs$E%}rp=AEm4bZo-O9owSq7W@46x%)(2w|{8M*SS=&|j?ZUAAFf!f#waQdIh zgWHZz>u`IspK_f(#0T`zn-4DhnU3z~;^$~)aB}cu`&wAd>PbhT$g+Xcf(uL+h(ihe zhht6xBeN-|=&PmvoLtyhLcYPm&f<`dT2O(j`Z=Qpci6+a94=ip>JbsuRGsf%4tZ!EWAm}q8WAEy?l&y5H4&Zo`xagHM5%E`p zmqERTL4MDg8|kX!m!tsG$pwt+Z^DgusTk=ky~$gJKf20*XLp*liJTc?I+bC~vMF zZE`y%zs9AP+~)at+?E7;{Qcd8ifKTX z!y@L#K7djN1;k@U!uqoo#6k#Dd^WoGf@ubtoWz(Bv&`J($)cClvn2%> z1>OvZ@w|@lUOF=ZKOHjF+m)EgEhgoy;)$?xoyVI6qiJSs36fD`;=BSc2n}b;$$iY> zoeKHFiyWv$CIAepnx7dQT>KJt6JXfe*$U8ybJhJN3Vk{K zxEM&>uO?H!7}39)4UHV#*3Nxs;~JdUdtJ}kDrgP_M!6xiWmUdNs(qpbGbvW;?o1sD z4KF_=fYehu9yZ0G?TK2OyIG+HtCYUgat+>)s3&iC$1Fo=JM27p{Nv-{e4{V6S~T9J zcLN#27wQf84}OhmtC_8zl^#7)*JP$=UisZ>Te3cItw3FCGixaTVOtcv`mtSF5uq<^ z`Gzo3pXQ{TID=gV=dB=`|$MZj}{)HC5 z^XblSx+6j8p-&I4HRtK+SRfMsAT!$1T?pYIqqGmcDeCP{(y*f4{0i z9<4lWc;>kZ>|)elOxd@qF1-cmM_s&6EWg5KGG$>$>61yF4Nnpva|<`VoSJ*fZ9SLI zGlGy_o}Ov#?KXxlb=QB-?fK)8B%Ezh8No*4>pvyGK;8FG}pl0AEpwYR)JPzN$8}rLhsV8Q!C#eTFwt= z8`U{F2rH=3;NET7lk(Y)OZu}sqwB!OM*F0shAL5bIhy2BO!2Fq+)f_N_mcW}oOtlp ziu51S2bX#LH?ibyEnjlXy#2&{VP}@fM``FGF>Z7qL7QKQw28%2k#T0i!ee_%J{K++ zx=LLQC>uPx{dS`!H@{CBg8hCkLPzr9PjKVJ9SJ_^)~!0O0@9T(*}PRXXlEy3*rUtI{>%R_Lc?rxS^JtD`5@ zyW-J9Z;1yjNc)GL9D^nlqQ#%KF1#L2IWg7Im|F*>GmmtIf8DcU$v7a<_LgE{f?LB=DVO3+Q)zEEUZFlZMsH1lY7fhRWJF&D7osiT`EkI6%BC&yvb_8n17 z6v;4YKoft4#|v$9)9RBge4O^qOee%`8Ps7<;^nfDeb;6NrIelI@Vt*D+UpiDdGT2Q z1v-yjc3CI&_bz=8fU-q4)RpjVHn{-B8BA2DDiMnfzqV8pSvOm8rvXKjaq>+k>NK>)R z#AXrpBbVw^toxr$Iq|>KuA6e8VJ&>lRpB9xP(JqIg{nbB(@f=2!X;SYq0+waCv&;8 z(iY~$=Z@dFaO+CE?NGp4^!oIAq#2M#QkWwvk}c#v)K`@{e8FN7z~Nn0E1GgdWaEuD zf_x}>=9@;$_fwaXRH{2C*JZt{@Mc4&1_gJvMcT)UY9`W-CtYwFTGoF>98Kzs`0!?W z;I)}XbtlUO^cjXv51eb5yCpU7@sR*0l^ZJaVY>#;h{V)izoL6G&INW(2iNODtNNCm z#BH|s6k`meX1}zC!3j4q*ht|NsgJ^QDyai0^9sC2uCUEqSAU8(cU@%a9dI+`+wG~m z%#P&*ns$@85tAw59x?em7cEYKJe-)9@!LLhg>>l3p2V`$Xb;;&r2Ik2-IeYXoyI*a zH#w4XO+15VS2M_+Vu{yerml55tJ(ZKE`MAC(PuueRiQ#o(RAWF86Ya5>jN#AQ}eHk-IvRVXTM@7xvLo9rE)-Ce;M#TdW0a?x3+aHMXB`FjmN>y4eX|HYd`bNIkS7Oi~8)orsnvntf{{X?Jf{XXG);G zk{{iKK|;Bdv;15cx0A6AUjGN8nX3!cC*1`ASHH`;K1%he%Fm&je1|JDz1GDCxr%bj zm+p8Zc+t?3Une-uJ$$_ThYmfF?2g*wBvdTNo>zrkn7CLOM?6`dt?SlW)Y>%67U7st z>K)|xq^XObIK^rc7?yPs4DlXLBSyDv=dJ^f@4arkuO zg|{Q-@?xuBjs5Fy2=yJA@s2B>XSmVkD(!%pv5*d2EA zL-^boo^P8?PS~ARNClX5Dn*S3K!tO64ppZ}x?kVZGUCm5GXK69TD&hbS$I(0)#$z9E!U z&uEp_nyXP}`cug|gRi1}aMaec6tUX!+LcR`@!Z30;K`2kg`4Q`jC05p%ML6`1DYgG ztu5{pEHM9;2uurhZA>&8rrb5$6n^G8JfeL`!t2Y-z!{+zqFDmAIL><^jwIP1HWYZR zaH|haO3nq^>}KHRoHh_Ad)R&tYiQ`_VdVj2er26mNOJ#O|K*0#&`ZeS)|8@kk%5Vyzu@~13|SE9c5KEFIRw;qK3-ilK^ zomDgZ7OQ`$>wNSH@VrxNa@>H_)ynhUr!M|nty%vwtsJrM#^|z|f|;^=?)e+4dnZf; zkZrQwznIRQv7o6||dn|k`n+92s-?nx~&*^JyBdu1pHT$MD+UWhTJGcfJ zh=>)LeqE(19(~<9&l*;khgO6O3F!V9Bhe8}RmBBHjAeHrHQx z=Mg8K7bj#@&uP`2CVuPhR%w&&Z!EH#c$}T257!b-kBUe0bTzJ`5w|^ztPFgWPeu zr*r3sz%j&WnW4fhG%ct%B?tRRCcN_U$Ii##fi2~``=m8HZ>YyZ=pPfBuSSYiey;+B z;NB=f%6W@za@a#fDLfaABjV1BBsWMu^~q*EIDUhDEUk^-wDm<2TV|!!Og!G0L*`a- zWH{_dsgE~Wgy>G6DrItFcXvHYvAVx=CD}2BLjB(I3aKOHIUfTmvb9*=F1_iw_i`Zd zvfA-rS7Mn55}UKfwR7Sm?C~~f+L3r^$cDboJH%}jDLE^e5U7cYs;ZB|A%uem4uSB2 z9WvW8_04!!<)g@;Bzr0x4C90Mq==sa>$sjmLNK!7m>g=}fokdQO zy1;IoeQxETfj4>Q8zD%_Zzjj{$2SJsk4g;{C3@DS86J`qSA)`D zjT$^c!KV`jd&^BOJKn4Z&RC=-1bgbN%cf$&m&O>QRRx@R4CuYJ2zj&_m)JxW# zecO2;mObpYu-UfqS^Kk$rG3(T;?sM1C7`39-s)D$dQ7QGet^<5FUCpT8+d%TV8UXd zGL&70jtazSPCrUYhloE&;_o)gtY3c^jPMc9=C}TR>Tw$kBG0Qc%{p7iZvkZxo|+R@ zU{FV~DWDn~VRplfMF8({yuuwXc_rWpY?zXAQK7H=hdr=ls}l>mS@D5pPnDmFS?;C_ z?Be6OQ?D3Tp9h}(X3@aWdk($lDGwhK7TJIQ*o}4(`X{fgL<0i{7miRyZQ)LdXX`5k z>p^$UMY7{|+Cci5B?1cQd&DQLS;s4?$P*$mY046cI1V)6O||wpt%nfws|<_5GfNMv zIHLUEfj+Tvt%FcUC(kqvDn(8mO=;fq$D}5F1`P{+Yep5PqQ8*r)A7XA$v>go2H5aMkGK z0G^jmqJGz`{&tT`X3YD5@hNMnF3O*^z4Y^%>I=XI7O=C19ZIIV+YCr4e6Mt7u6-lo zT<@^WLJ)E$b~$f$oaMjp$9H1eU8#GJe$wL5DKqpZZfYug-D)O>PTB5u?9zRy0q8F` zX^o2$FJ$l4IV8e%r5wm;GxkS`!Q$6tGSf)f>;_P?JBHmsIx;k7n8Qj4lzSo#NeBx zsvYKg_nO3AVXlfTUGfe-M&n95z@d}&W%?a)y< zx#ikVBsKFXPH@T*ne^7!Qi>(cRmVz*hFwmb*w^_{ znkq4Q1vY!82*sDyxi-|F-Eve=LPzj?|M2zR=-x5eXb%IkLpV?A1LD%Azf#64hvFsV z+}<2G*vB6J<8l7?4Ru8U(VQGgXJOsZWTs1NPe|qd3A5SPCDb0*u>&>4Y`c<&oC?Ij z9v1D5;q#D;j?;_w$EQ`GM#AN%p>T#re^ zo6!cvQ!hP?LeYJkH0hK^g`4U~d7piEl`oY8nFQUjnz>`rWz4Hg zzh_-CSOF#JOA{`nXg5E<$Ey;cAkdjID%j@UJ)H4UJ$_nbWl+xM@oSOvQ+ifEopkNJ z9-5!hvkR^E&S5n(SslgEsef*YFknHqA9uU*;0Ua)%m7d_bRqNX?^+XI!{z?9+NJh zQmxQ_QYd0FQ11{KQcV{4?lal8xL-wKIsXo%zO7>ylQlfJ?o?A$a3j3{JgRC|-Y0XU zF{$MxNew*OS#8(ZTq`O_Ykqt_{-{$OlYGv1_WU_xDT(x*eQpG`S+AEvH?;1NE)xx= z_i);~d~QxI@LJ(NUh>R9eK|F#rk!E6d+(l24-2J6qW0D*{W?TK$lP@fiH~>A*-V2A zob?&KA4u37xf zG=c|xHFlI+Z!4>MyX@L_#}}jzmK-VXL%pEA<}&K-Q?$dUfSGpHJVruAcyr-^0b0%A z6>~HZS)Y7l*mMVCz8Est&<4|nKRas8DZ;mX3I+W9cJ?U_4=izuS5DDf1jj0e^;T~m zj&V^p<>R2N(ad&QC-l+8^V@nhm1*CT^@5H%=`8CoRgRAJgFjudBS^*xg6Eb#(Bdl7 z&mJ61uASMQbnH@KDk}w2>?+azDGJHE0-k2A9AOe-#)f=1Rm$t^uBsopI&qmDQ2!NQ zDH3F2z=2~~3p2T=WhQ3xtuLjB>GRFl2vq#^jBnc!+^P82AcN1eL+ODgAqcM=^>Aiv zvn%Ev(J@7*^68i;MoKDBpgQBb9FpqgQVKl5jKO~2P(ehA{DGI{ zcx0}=$q84KKi|r>@Y#vMM}@?XB2+$BRW%h7sJI7&wbtvI>D9Rkws{GD3DeLH7Smuk zzwSNipzoFrW@Q}qfR)zp=r<`971q^YAr;MKJ>t=f*6_9@n^%k8)vcVh`TgUX7e#Zm`l%1De@>M6wmMbO z_SRM}H8I|9?Dq-5H)uU2lx)i@ufh?S)7n#u!|wO~hrk|(n| zK4+dZHF@4=rdgd6v2lbwCGIq_xm9xF)Rq6gVJ0 z5s7_#F^){~CNc_{L9tIn?mnJ&F1~tk;i}e=&g8@^W74^n9Jwj=*JzHk%{4_(1P)ai zBTJ)QbBc!Rn~F32-4wj#a)0ogR`rVVT>M%uxTDgiWs6=fn8|JT3~#LnojC@niz{h& z)RETNRJaeO+mpa35jvyVpN@lye*UX**&&TyTjQ>7tCd!1lJgeOB|rNi`U02=oSbj z?y0PDuiPo!3%Q8Cdc5iSm^LUPbZgkY0hxg z&1b~sU8M=T+QbE;bo|N~^l$CEra~67XZF_4LBe6l)vVRnz${y#MVbA+4I*^&B@*rs zthvW0L1EX$)BLY`v|g_1)S$%)=PHpi+eJDAX%?EHdUiU$ZQhQfN3Q7V&!j?4P0Peu zE(r#2E!CFvuQwkw6uVVQyQt+`xjeXYH^DoO6uzZR;!f6bb7sSwDf|B7U<<+(*29m& zPrrG{P8!!{cSSv3r3NRKeT@6?pT}apO-ewZ(Qs_$batR#{h`Dafwn$r}2n!**nRQpu~&BUvi>Q?3gS$bo-s}lIu$eE)jDuNrfFJe6QGz z6Hu#NGR7wZamvWRu@mC~v8ArfRBt41m5Ji4|*}5ZMXxjonby%@`lfO7 z?b%2)yR_rY0;^U}MTd(108AH}{yn@VXZ{!fo|hPf!maf;jE2yRP20Cnf&&0;g9{R(kEN;W;oE&Z7qxo zuh%3{`eJ;ud52DdlA%uf9(tUG@Y%#MDIG|`=2|FEVi)h9z4T{oVpi<}$K(&t_=Ot< zZU?cSaAr*9WwT-Oa>}33&}Njx?Rc%NUddx7EtVNCGa@Mh@bf8eL~#lt{8t5zs#u$V zj_wx;6^?LYkLz$(79ZAwW=w zQ|Lo-_|rOspa~ue!aPh*cIm!IJCJ#E{;#7=gAQOMgsFPL1S&v zYsD&mEuL}|_WRv&d4W-(i)a3asd|nww}`YI@Z58H4)WBCF@d?$uESmcAeSu@7YK`sV#%Ci$bxen{?694pB@Z&c*`e0b%KKJ5CW1m&kcaiV8U3BW|{U22mH_oL- zsqns+uPr*lWIkInD`a{ zWN6PXSo0W88K(ScIs1ElLYD}3OdymfOh#`E%ZO3;Iq-fyT!Cp@@;p}6Xdav&1 za8+B1;uNLIoiPg<+NxuanHE0=(ix^QrhdKi(aV@IvA#zPP}h`=+kLlBn~`m5R8*YN z{$@(_8C&L5vKAj`EpGEXe?G0uLZmHvczv6uZ0Ozwxg=!M83>7xl5p{uiTCMEp6ikU zbd}(ppJ8n11?J)-^(*W%x<%!$;Ee*7l=#m(=?(xprenO+Y};!9b^J5ZDZsZQbh|0% zzIy0HgIk*2+_5ZsudwkTQwW9=0PfTHebDVRLvLKyp;C2;kTsA?RR>)gCe?jGDVxOUneE@IUI?D zU&J#<@c)ObD*=ac?ca=vnJgJ(r!n?jWTysW-^*5(kgXz1iIT0zAUjbZB_$+#NSf?R zM5&OSHpy0&qWb^dwsX$+zpitg>s;UUz2f zUQ}G~POZhprE|Aph4?%5+|Aj}O_->t85`QROxEd8QqX8~Yga9eYu*oZ{rkYB$?>b? z-7vfn`JqbwF7ssGmvV-S2_qnPR zycCIb9+WNk7DMv~3(!$}mf8P(BA=}Asqm&js5|=5j-D!3>G`X-o zi7lQZQ#+CIwYY`YPdaeEUS@<{WkR<4*=_rmY`GD0_Q5=bbc6{yYWA<*=1YkQMz<0i za_LIUJ7Orq=?}h=hL+B9E$}8%XR{BLu1VV874+)3LK)swKEbU0xs0(@UG^R`LFSYu zgT4HlX_HA^O)OPxi#Ao-^w~Q)B(rObepwUI(<5$CwYJQWC2N>YlM%gX*zKcQ*`ga2 zem+yHZj)vg#A)+{cocUQG-fUeI6_-5&xxcHATUJdi-D#a21mC|`<-1OYij$oN~srV z^r6kQbD0FTQh8iVCT&VHVf;!<;i)EZ92aMXoDpZ!c*s7>9LVJP$HaP%8h?J%zvl@} zE6?_kZtDW8l@|W@PPp5hA(Jfaaap4I9`1z155ZJ^RwQ_d(ee<_AK=&C$Enn&&Ycg9 ziMp|Ta;r-spK5!bq&45ph+Erzr6$`S``-nG_@|75qkC~3uZ=aWN56(nVmlh6??s-* zqrQkx#!hLAvc5#WuS)swiOQV!gYOIZ+KZ%T|G@cl)MJ4|ZeBUj$~AUHshkNG*%wi=58pDSNNQVPW=p_lLY8Gb~T8ty;s~ z@;{LPI8QlrK&S!TGvjI&cGP8Am-47R-;zVWO%@%{&0|Ifi$6B@uP|RGXg<6CR_kWV z)Tz+cT$LRC?dCK`t@;t%(g`11a_-SawzH@Ge7YJRmD?B-CPaaClY&Y7D3hU^U+}CZ zm+rkq+z-W+?fxwvS>D)L3k*o7>EurP&Msa^?(3d;oE`f>a3p!L$5r;U0mlYIhxg`X z*?%+pDfh6+D%+^_&+dAmJ#^9aG{0Am-HKFf3Ay{^)Q8oQ>93GnIUe^n9c;n*>G zKJUnoGFs1qgM_C?WjDu1Op8U%2wtlw>>Y*8s+pMzyb9Rhx!e6M6?9aA3CAz1z0`6aJu3zGD)}q3YwUvGy$FA*Ir7I?v85 zQ6C`}rHAUcF$C(OpW@5BhvY>k09*8isjAl#9=p0L-#(Mo9~%EM2Z5)o-e3oGp1ei0 zidcnZzMh_lz2~Z5o;6u=}vy zJsHs{Gu7AW%Yd9Y03_^ub(R$ev?~c=1<0Jtl|}vhV*rXV{qG+O#!3PG1FO;-fk0nm z@j_E)9&y(h<&b%Hp9xlt*_OCt&+Y&kix^#eBARv^zc*mQs$g}k{=wX7+t7efcR8K7 zL8XMYo;}5k5-g-AB-2I$2uYP%*=Kkctizr=$So+ALk1@z{osK#j{JZ#jz@X zIHHjvG!bnk?N~nm&{l#fZJ=5(3c#+4n(gP_&IiQ!)?62V9*rQo01#RM2)s7G6Wpm+0gAeo zcFbk=#iu;Ek>^E#4Rmh1!1bcoR#tRk_@3|8&O7@ZC2^VCYX(QH1g1E-LL}5qymM}j z*_Jd)RK(-Rs7N3%zZ$7KUdxyO>M2pZH9gz${0tExNI`uz+^B zqU3`*>`0JdetgZ>Z5s{J5gtlHyz-yx`s>g3C zdJoFU=sZ(Fi2&-ALJ9RUdqT4#ugD0u7)b#<=f~lrcLPz099~+`p3XCfxu2s+%6@6B z9njU)bwMsMkx%_VrALp@yCxs~6`8YWyTacH-|40-S-?C+Tj=#Ax_qq2opz}P#qYl#KzWAQer9|N$5I=g%q2`g8B#k#;K*LRv8nWKg_nD7lIP<_49i( zisG@6T0CDWSrW6_rznBrP)jS+AuNWY4^$sdPI1 z^e=FrU~+Anbu)rHk5Lmug|JXq+aFy+P>t|<=E1)p;PCIQL}w6?sR5=Z2j9MjVc$@n zCw^Q`CrgTb@7o0kL+*Wrf&>dy>I$1*fU;&0la;-P5L(_uB>F%R)C!icY{`KE^6y(sAvk^RWyv{rTgA_9FEeskrdJJ2l2jpfiVr~%nimW9+019x!^6zGL zT%dq8&yJXWd!FZ5$J`r~lQhnjxGr$y06~V-W?@Uhv!a5h)~5tYDge26X{6}rZ%RpC zA-2T+UT!|EdGtxtXl~adtghvf1j@(Jp1T>A8TeBRI$yS z090vJ)c_FTIO}kRzgPrzgkFx4A}jP+0iv2)YW4_V&gSV2{~i?34gkY{d^{5fyOm+z zzUs1MkQ{`1F0Ppwx4h=NEx`sdI>{q$|8uIc|H4`7+7f zl4jN-sAvI7X8->lu)#FS*)8<2Ck(axnx{$J;1+N6WZvtAA7U(!V2NzPA&f)%;%pFa zP{%m@UE;(z`c2Q3x9AZNPl3HTmeNl6%{*Z7KlP~42r&Z&$MyoH7@UX18PDIeW}x0v zQ`hjG0HkG3@i1U_nLmrI$r!Y}?v-Ow1Wv@GIPPc3Yf?h*y4aV5Y3 zGow`dj_+0y6Pj{8)Rj#OP-@oQqf)3z!r${H`RXRl)13?gPkc+tHanSV|*8&4#HDF(5S4~=y8HQrqJCm}BBy|JGW zE`p?Yy&<~EG!K9SFYX8VuI2w>X0~dBan8;$x_%e7r9A)`HRZdGww+5QcXM7k24rnk zFkjzQnj}6vFXs5pR2=jBgd___Vp&B75t3m97}@E766uC}#)t%#)~X3X#$fn}F&ZUA z3`he>7ViC$)_>ls7p?M-jaBK@QH-s%yQ2K@kzq?gf)Pg?u?mx(nR#DGG%8~v<0l;s z3|^!P3#V$pjUG^sz}5;TX~-w)j2tq7g(~|Wph+hi)2GR>M0&9}?^{b2&~dQ)d%ar{ zC}l3q-bh>$YY19B(@G6S?LY)#^Dt92h^%LXtXmYEGGn{mpl2kcXCY0^(n;KcjDkd#m zeQ!Jr7Rs%7gcPd6wQ`UkBj`~6z>XkObMrZcH1PwIJaPj-As{&;B=zUM9sXlr>%5-m zWRT-Of9|n=D?GJ)e(&~JVlCVmv^np;b}} zxH?xXXqY2E!>>e@8GV-$7dKoGaTNZ|!xa$ddk_-Dp{5EZDEV`t+$f^dzP3idK=o_1CKA_qiY35W~Hd9P6+GFU7U*c0M6_2kOp&>WZ-k zA@_G||Kp+*A|3CatgAFrrGx;X&Sn0HbLgR^QUZ#3usGY67qN-DT9CIKBu808baYp& ztwie=C7YB)0pYOGHEU=L`hX|z=ZOF^_io_rf8r`D;)pE6;p;jf+)Mb!vN9{7AQ%F3 z1@LPnkH=YMf#%J9pBt&IQP%_ePUFjMpQW3TcYs}+zM-Mfc` zKLNxSZBLd!1N5dS99{vP^WdWXz7tI(AeB{@+AL8(FJRQk9H7HtfE-%ecUg~*l{y^z z8I)^2#y1Q8^|;YOWk;S%h)x(88~XsxKYA{1m_5<}))gOhX}}QIvFDc)>;kAj-8ssi zO9F`%(3akyN8t39K)@dT?(8sIWCzG5#AkO7xZpZ=z(-2Y$QS}H>$2_bBfsN<$X$QK zb!LI)f($tL_|1nHw31!ZYP@)qmG^M~I*HSD#Ny4+k%e%VhF>0eL z;N^dNJ)w=bzb^KMq4QY7DKiRea}ThbFTQcCHvuNUAdu(kAiQv%Zc9*LLW%z4VAl;J z7A_+YjfHH0p?(=kpJk66L=?R499ERWbzC5Vmni}A=)C?P`@D&lgLnaqO(v@!K%>|4 zvCqZfqyRZi>@l1W;t_Ck7$1R>)O@BlQReW?w^je)AM0y zT_7YQ4mE09h(4u`_WQsed=7`~*(Stqg{kn=;=f(lUL5BxuVm?i zjU(7v0E^$McX$YjY#phv(HAF9T*0u>z^P=m>AWf|EZi#RmSFjdYiW!EU9DB%tE*Gn z=IbT={+;)52aID}|Hm5cAK!kNpTNuv=Qx5`%!MP%M*?qr z|H9aV(WF0aPl)B+Q01+U!25ukFCYgmL5&EEV5%n}HAjO#-<$A`k|D(#4qFQ9{Z?^?}8IU3gwC790{!=UvcWbKZB$O!^on_X7-D z1iUqMUa=vLOrUNoGYn{=o;c%Q{L6i?iT*Tw3)D=Dxw{VU_1Eqz)Xk&7-P-C+r6`NC z1dspIuz3H83|sY`p{W5`hws=392tu9uIl_58z8KRIL`_0+nA_iSQIAVx=buF3!AK655yCtqc5a_m}`G+6>$@bAY`yA zVF-?XeVd&iTVyhrRrIa`&$!~%Z%(NGnh#2Iu=k*V`<1onaNWPQ02V~cp z`h4pSr^yz75#3WOi{U5$vBBsIb* z>F13)EsfHJ%_=ouxZ@HRarLi3dCOS(`*T!b5Ml}d@L!`H;QQx4Keb|mjzc~oj@wa( zoq7*uv2~AI2Xp3~-!2QU_HRQMYu5gJA5P2_&aSTa8AeC+vS|c^$J{^ehdB%dOQ}ZW z?Lg(z9nvj^@R;X1;Gp#pO$RVRcwe-V@0d3T-T22-{|#d>veZ!0dz#>R53i} z8Q_0CT;$uk4c1lxdS97}YNH^qk{tKHCnnDiP0Psb)}1LEgeryfF!}@e06SPZM1!Qk z*-97|lL0Zv|FbKR6WH{N7l#op2-*QCac37I4uEc3hdT0{pmj7n7Yi>|5%|I8Zw^W< zL(4R-yH2ljMAy)DJA%6CIPy9oC0}*(IuOePp>Vb?>F*_T#(V}${KVsl?Z35+I@c&y+=*XeKP0Wq}ot-XL|Vp^L2qaL;UT>Ov$s7HNFWrT8TFUbB1JPB@@yZ`Sn5clChJrW80 z($Sd>gY7Cok^-Pf)_C-A2Yrq(`iy1Zl%oijz6YtA-@;ZN5PK$kr?{$}^?6k@6t`W{ zyEj`^$-Rs1{=4h(-XO%clh3E&eD$B&uLmSN@xQhrvI^{DL9`(USk`qdxW16~DnhnH z%A`P{@D9{LUsN65Cun8UBz?Mu)VFlXp)R1HCtLLyw~{yK11&bgq)e&(Q|J-!G#5T8 zBVIZ#4bG7Nuwypa zvR|b8j>m}Rp*`rcK>BhRa)5iuD`ul$JTRAGJ$)_DbAMKWm|0pHRWt%5`UQwAX^>_O zf>OwKZ7#mbf;sVP8E`Wz3XC%)h764kJaV9P%b?Ov|1GiZiQFGBe>L*L8kBzEv^V!Hg6G3F(g66YU+X@mM zXVPQ;32K)L7(u6jz-$Vqx4-HN_?B`Z%K1>ZBAxrNdm_~WXT{RxH$A$FVt&akSJod? zer@JFJ8=8tXyD5_%oeAtLL@jL5d5o1(`)k|!>mBcEq-%xSY(H0TIeUO zot0|;t_@UP2?X;_v;;#UDRKO08Qerd@*dQInYT&qoJUhb&sBGIqzL+~&JD?Iog@n; zVru*mb!lc*SZ0dCCAFVgF_ZW_-7uB830qmWgAY5x?vDYnl#5FX=eP3V<+f56P#hpI z??)a`%u$m;O^PhG@%Y+-(u$;79Z;NJA-vG1{l`lOw}ma9YhaiFL9-grN9sbD=nVt6 zjGl_ZpZ{8NJ-A?w=fd;;{!B_+`Z;^vY4w)dX z$c)2qQ2&x9PE>u971tXI^!;9)mv`)yMc)NTv-ra&`5q>{T{7y^dQTU`? zEgxh(p39)h5q&lLXGfe7fipmzomK=j07#`TKLB80X_{=~`gKNLl|HBNZ-E;?`dwh! z_}=3iHXZg7)P51By#B=dsVEM*aY9q?o*!pIW^dn`Lj+bu8^iVj~Q|jC2TYIW2 zD&+42H#cWp9W44Ct#h=iAi`x2x+bGps!dc&CxNHD(S)DRIFho%m%h94``|qwOv{`| z<=Fo-)JR6^0N$PNcf-dyf`#QFDl3T8Qx4r+Qut;*Y|8N(=SOGbzN$!KWx0linf*Zk z@UrxQs=}$Ykq|`9`CWhh8g%l<5Z!r%5+zyc1IE;Uo_DMc5opxydM!Nr}x6u>#p|PEr+!ABZ&W;luZjZEch7$)WJ#Vj?SG2M_!mp3?v)_ zIf0WP!lq)*J0|x%r}p+$Au+cKA>39%V(YdsmAekW{$GV+YwbpZpHTyr7|!qq3vdkK z&(0xohfI8GRu0BlZ-5=?4hnPrdk}4YC<+WIJkdCm>2&(G59Apg*|$?wsil_{JlPA> z-NrZfgP(CUqu>IQ*QL4-(iee%*B@;lMJF8G^gzNq(tL7BaC6srjC|9R(+SG+{R&ar z+nMn{m9i0vxI~zFEut(x8kS1J1yQK!2B9M83iKwA)@mABhBENF^>U9v6#FTY`kdU` z*l8zisiA|nQu$yhmDB7Q_hBh^ah}^zrO-S)JvKvk`v^FYzFd_aq_y%81JFmiK3-5I zLV9+Hd3FRfK$#mUA2gFV+gb37%s`Prv5>fhh|9cK_0 zcYyHLVF@tQ>)L?*6yi}u)Z0K-w+5kGK8XDe<_A$b=w)5~zOnEMWZgbCNod~X0sx4s ztz)3It}E;6!<2P&q<#fU!%>i*16{L}%^9E*-vj!*9n`Z&s_%^i#D4=_gyWYa#GmZ> z(Evs1F{VA6eh?Dm$R3itXjI*ibg#gDd}PkJPzjazvov%={zVNEJQ@;WIevZySzup)Awt3bsb-|kcXFtJ9p$r(g#8ZSJslUM?fz@8^k zEj;>I20pc25~DVV&@+JqhFH68udQw#Cl)_d<2{smPj?P#Q#lq6pyy2g!KyR&m!37i zOQ4hI__mDe?GHpp{**J1;*s>wTc7;iR=9UN1oL(VFYcUu!v5nI1&)RJ=H4JcfKggKI`c8l@Lq>h() zy&=c8#&f)aaS)?n#=TQh3z*$c?}Nho(!948z^+!!0+a+geST@n>#thwh4CDd^WmU$ z@2K~vWh#2w$-i}b@4n#4XpUhdo`e?E_RPsx0ikt7W8~`QjA*IjS3RBvgNeu5tL|g) z;`6ykVO8@=un&gjO>&4vikpuq18BFDfyL)&i?v-wBDTL39v?$YU?Ws-*Vg>&4yH1qFIRM#Bel1BzAZ zxb{W^`RoeM-dD;oe$!G!G%ISpabvy`daJ6BPJ)=hD}=vLk#;)#RwBfe_cepa+Fc;s zGSMP%?Mi1f%{x_IeskUsjSnyHF3eBQX>UDS4w5fs>K}JyYG&xnVv7%j-xQs~BnTbe z7W&qJLB2Zo^z7~Vg{xmUYT5r@A2lHmKB0TR(?gegwq4RTT!tKx=UbOJE7bPhk$V z9MzrtVGEiX6-lR~qgX&Xs6_qxS#6eV2`f?BdwLsm$ctlldg(RF+1~CKUz>-%>BfudXKr> zP|LaEZ6ZmglaQ#kxOi%dma&aZTiU`@Oz5Z4cDaEy2+!3QrcW~6*4FH3ag;Pq?R>tF>(U&Vm|nQ#bb!*4P!4W0*@7WkKLioq3QAl zE73r>8us<}eGlN-$egHv+Mij}sTEwVffvC^tsz{fQDC10ml$h&ke$Z00F2Sr_Wcg0 z-xtiE);@td7iDt#dg4(L^V~V6tThs^cCwo$TT@8qzs2I^6Q2WNirfqm!!{@4!=}GI zI-2?WU9?}uc6xP+vFE*L}fv%cwl(cfo8M zJ{PUCaWnFu0vwd35%W~x(kwQ|%rQT%;;g z6Q&03gTRl^jJ^vSR9?uDa*hr*$42W?%G)h}Rte8S{e?rwr&<_FCp^^b3qncGS_Lc& z$i$4HI296`%Xv^Hh^ohFckWgpJ;jPlhGNR$mBb(#zCR zqCG@B^Jj(;(adunuAZJ1pDsJyneUxIGfzSuttk=|N0GIWNnT++7;>QL5i3w}ty%La9>aE|QwWa3_LC zOCNqe%~5Kw)Vqx|G1+gbabfq;nvkU7?gp-FWKlne_~+$9G|mQp@!IC!?xay+Zq)K+ zkLWos7sz*H4m0LD$)c6WC!e4H>9e2!`Rok%EHWcfe|+Z(mEe#YXOeoTbd-|iVpaMy zK0Q{Daol4_Qeo!ZHYA+s;0hsnE`3_V$C_6o55?#99oi;5B%}H0{H=teLp+%d{9)@Z z(`!6R-hPJGEcES6WtmKqZDA^CcaX*&-L1U(Jm=J#ONgE{RBwC6z3ZF5>#XV!CQ_5G zcHG=O`cqAK2vJG9m_3i^xeHUXzd_RRRe{^<#*}Tix4ucmcXLXT-8epf7^&7yl)h3k z?J@4nDKyr+lY<Sa(>OB7c>gI~ zFPrBLa(wwB%3aDGKh*f2)`K6H9#Uvzrq&+o?nLGNjE;8-`+*j>`p@R-vT+`uA-@Q7 z^$y29Z_NG>Bf5k7S0~Q}Nt0~43lD;qIVJF`HI_z`YrU+WX9rIRa?W3l>u=;`d-ywJ zsZGcqgJaL839okjDhh>1Es0Y6Y2rC#UtC$yxKhu_@#T~r=j?1;PvhwQprC7Mka5yi zI}WJA;&9Mf_^Fc#_R{NlQO3&r=&NsqGcm++*bE(MwQ9Eb&>?H>!9b86^M(W8zcU$B z4G9(lh;VZr@30kDt2BsY(D+Ez0SzT`~SwfkV~&YJ)Al6I+z&S zbdQ&Lx_K&CW+mNJ*42(cSd)stjQ@cD!I`%>YoX$}%1}V)&7ct}(vP716?Y?a;4nNq zh0I(SS$+9VH}4%LS?LS{3b8LRI)i?A9IudpGevV}7f(<(CgzT~AKixT_uV`fc66CiQ2JT-w2>t~eMs;u~ zJ5CoG9*ByVHqXIw#U8$827BXX0Mh1Y=7ex@Tod=N4<6cNsjCBo=9;MjUf4X|Y3jd5J(5U1I z419;Vz^^$BGG;tO5B&axxrs`=s|M8}z*-Z)w#lXzfkrL<>F+iUnA%MVg?)e${4*sk za5Mdmyh4~u?PX>oC$|!Zx~Cq!*@xjoFzDQqpKbo(yI_)6BG&uR(H~3R%DF|E?Vdq8 z{yZmJQi$9UQo5KwR;E^xJEJy&JjG2CCLJi9;a`C}@s^z5}2L!^5jD4k;l;Vk7|;n@~GBXNNnv zn}mWT?qjuRQLNr_rV;+IH5%$DJ4Pk;XF!KI4UI2*W~Lqu8M&fE__q}lG&y)DG~p|V zP1Fo|T#=Btq?-}}PdTCDYL}N4gRlnpXf)>7S$n*tr0EwC=;<}o>Mz5XBzk>bf0D-W z$5wpk^9)=pkgaoyIzXOa%NJe2#*!R?mLL&vwgP>-^-wGZ9Fc%eRVi)3%{@vtM?rY) zt@1AK94e$;W#9}{g|?Y%ERlA*Sna<<2S~Y_W;xtj5NK{u$q9CS8v8s|a#PvZ<^Q<7aI3WLpziK%g3_>b={02{WXl;3?K zL=CTzgl6+URaGB&F#}kxmVtlzF?k7WMy7&Q*P`>o3EriH-Ps_uqiizg*|5;gb_MTP?y{BL&5zjmFJib zj3b+bkH!FLZ&G+^c^mg6lwsmGO2sH8z7kP6pcck|{M);vD3 zspV1Hk_WK$bkt|Be4c$S*#Pn;OYf-ntzsYNs4IIz!`V`9@hy}scJQB?NhyOdis#`S zc5P4tYpb-a* z_Jv`X8^6NG0&H$#@pV1gJ5oVcZF1m`JU^Uilxc*sJv_A= zRDlhIsU2)F0Zsg>O+8nZwVaFZ)NF;hPM+`J(+9(+Y=-cUWm|@xMOK%2#9E?QIdobW z0kk0TgC_JWdM}ZP%R~uU=aJ)Tw-Q%zu!TyPvTbkA(#yz|=_)BE)+QKAJG(iIyIo=zwTk5Dzj7r=_d6&+&Z?~o;TT2!V*pesx#qFBwy8&jo?UuV5- z2Zo~o`WlmFrY6p>;9MjX3HS^>>h=^S0Epk6YYx4PF3OG|ly)&%U7Hf0l0Xl)!>Jm= z6Z7at{#+3uivuXA@W!K#!P#O$%0h<~l$Eh=5nuyo^rW=5v-t~0c(KFc8!;2Epi=k_ zb~Ft(SPjKH9uYCUXLZMAA$;UrxP(Iz_&jnYAN&N17Zo+_rIHq0_0x1&6qE-1gEyDj zn_Xh~F5ZpHtg8Vrdp$O!YX9|?xw@Ha@ebHwdsG_x6$)ea3p zM|9d{Zf^gy9TkCx|3sgbrOC&NZW)(%eb-#>RKM72?_I8|5yCKu$bOOp+AUGMA_>ws zHr{s$WTYlr3uW^uerfb8k1IaxqvHEx1t~qs55M#TpPT@A=d>miAj8<=t72dzj8aL> z@R1C<)Kt-myUf(>Tz-JpH8i{}eG`2-7tZB-9}7ldix%s1+ojH-g_4h;$dOy<*;}+8 zz*-T*xC#ZCMX&)e5b(62E&$;}%DzTw4iKxBEu&y!Eb~(A3=u(iSHDytff1yrM|6UF zdC(4~U%2KP9svjwU=6fYV4{uoHFacqkq#icn!!GEUe$GVXVQAIlP#)KIW&i=WSivptqibx(^_!%S8h_NhR%X4Gp;^p zf#0@&Fio!>1jd@6$j=IN9Neflz3vDUDz0}6p`?Z?Pr_{={WE&vvU{XNet``Pd8cMl|NrLH)LL;GTqyF0$U``1mh!=aYk>T{|Z}M4^ncb?l zrF3-h7FQg-`{1NI-s;Of3^xr2+5r^qiyErf%~8)y!Ih4#-nM!VzKZbiIBci`Go?C- zd6i+xG(&I^AaCsoZ5X>IBkp!aW<~iSR@+(@{oA#P5xYn?TNqQFg*lvpU8ENGnQLzU zbQ)$nUZ>Ik{nlnseByGHz@5)N+BT-L+7GT+mVeXK3Gq{#>M3%#2qcDjO=Y!|M&8{y zy9>p%W(DTEPX!Ea+fsMeXk2ZH-P6-xw5@d_%HEf>>?~6@#6LkJu@+4O9*MNFJlS42 zqJ#zE403f@dEOu!SAUUe0IQgQRuQ~l%{lTOI7t=>x>Y7DV(Qcm_Nqs>QD>qv#5Z(8 zBhUee7o-t_G7EC6}aPta~AL8rY z^%j1paz*Ms{Lpi>-)#*TbmL0J2!VvQGuZ2;z7uHP{sX4qm<~h4WYn#2r%rt8=@Hd# zX}GGIzr%_NC&MzveStX2Xp&9?+|f6)5_WOM&mM;V2v$);mBOG`@zPk`OyUX)n4!Bq z68q(K9fS{WNI?h{^sfLS5H|>cax-7h2oAb!2OPH;A3ls^Zcm1FD8M_DDyS|SWGM`T zEuFn*DQr|oE=Idw6`;n>T%hxnAdud5_@0V^8V3Feu|!i<|Yh2_Bfij56! z^E|>E2|;xX6i;FxbKE5(xPSzT$N}}Wy3}Za%RKz)fGXA??*L}vNX_WUSGqw8*KICe zPNZ~-UgfPBbdC3e;=Piiz~1jOP~xLws`iCsom26MRoBr&OTx)Aun{MQiX959TQcHH zz8FD3P^c9#Ap*vZiF9X|B4cFIp6@DKlVFk%_xHv~5rF3zvib2&ghB&PNshx80v&E6 z$QCRDhU(36nbIK#cwjMISh;m~;Y4_oF4jf6$hMsaYyDi<{9s-e7Q!802ahrM^1I03 zSF{G@gVG2x$3?2OVN(=YCmyR@w`Q5S0VwR}4g)3^6Ao_|_2zpMy}+7MnnhCo(&$&31qnRyy` zE#z+@r*yVLe_w{)pS%=_74fx(2vO2fk|)jYnnOdd|A}@5_j6S9Wl)+Z%sToShD@_D z{SzxJcoVDGSvokWbsgFmhAFdRQ{0%|S4b9}9!G(Zq0J{>`EWoZ{(CTUunvos378LV zXld~|it(Vzj20eMSHO0<0Ey6j+ez&W9q1t39tkOCD{f6C7QwmL>(iLJ-3ezapYDO= zb$OFul(g|I*KL%982L3+p!g%?0Ax+Zy3vrLEDE&BI1s+1%)`y)iVS2L^CV35iA5oY zUGmlO$1o4wO9NIq&E+9Lr|ZC8;>8C?!-Uy+2aBXXx>`)BoZ}c01cKbX)T+(hy8#Fw zG+{%eyIPs)WheM?1^(R+p-W_~$`~(74a@VUfskN`33**BEOqY%!2`ltW{5Mex_zK} z@9m@kDk{DvLz0%&kpf9~%a*6d{ipWU`As&Za-4?FtxI2?mL+8;&N(##U33-B%vT?) zSQd#X39TVdB#9^#g%esf)s$DC<#x-7;m&7Ad!`MR(9~5ud!(@NHP6l!JCjaSZKPAx zy)=775_W4hy)4u(QXpE-?$I6S`YNKn@-@}yZD2vo0%*WDLwTERivxf(o?%<}8sl%F zjlOAih_?;c+T$`$vmQV)=cBO0Pk~?(5%QXr$J^rW?9lC(^!tv;N)&_wH3b^bmK2}L z9;Msvu8)M1ZBYfA{4*IY?6Y^s-DkJoL84eyIFI|woVD;r+(T1yPKSyWtXJAmvr}QnU#`t!$(TZlr&L$HpM_eXW;Q;pM&jYrH{aiL&loBV;lS8*X?`%0! zy}O`n0ZNQCDKa=eUKwB5ucwB2Y~$xnycpTb0j_I^|K}$Vryd!_NSjx6)x!@vMm_x& za_HkL@O40uxF9xhpvL>sG0uxlC{@wE!3C|}CHI?O<7yvgJ&l9S-j9?TY)r`nJNt@# zPp+^0xNDYB?h8QwCb+Hn5iq@Ye~s3Db?i(8@eu4cB@L=4QvrvLNJ@Z@O8I-z=_W{b z9IPw$ndb+7IQZuL@EUkGhAM&KB)D)Lw2|k-wpCb$98Ez^4g1d}tHLLSf|?q0^o$pfOWg8a$c(UN_`=QWOViy}5|xmGT|P_HX{0l?G`qV0pK1*eB`n|v!`0g}RIb~U zN)6r4L?3_dv9}}?pf-HSMSz;fzUsgVXRtuc7`6>fufcr{#lvuLi$=9CLV}-6#4P>e z8x9_Fy_NgXWADKYnS+fQ_;v7UJfOsy;Uo6K45cb;F}|Q>wls5dIIeaiYd8+P+F?*tnPs30b_%^8pT;B?Shi3p4E4t#O69Bm*tPj2&3f zWZt(MT>P?&=TV3a+@c^hVD_%HEd^EdN&E4yHV&sw!IPR%94Ui z=bJ1lF71-rg5)vCwZ(#O^U*>!pbK1$8>n1ggO1xIg17n^=|H8okZgR3FJ64Uh%^F@ zkz)(*4`g6qtK0i(c*+P{%aXabIiq$ku9k&HQ5}iuUK2n_paRKdk({kvOI>>&sSWXX zmuVq0KS8PS`_*xqjPEd9?Y!a(yL^Y%lCNh(O|qCzj)$&sZsvP@1*{lrFErS;|1c4) zgVf0u>nNCv2^TS+xrD zv36BnmQwvN^@G3Fp+a;XkW!ed;onbfCL~6D+lxsS`nDLe=fc|CojpiJtg2tHm^TVP zh13kTdlo-p(>epgMf4kyB1l?Uv8q=-FQyhL<{j@<6-~NXQlut1Rn*0MN%jI^{)31I z%WEh*6=wR~8QNB+ISGjmc`Z|3csv@0)XUF7b>U#=SD0#veVY^H#FmImoR?aIAuzlE zW84vijD4}}Tgtg>DkV8(bXfWm*dHMaJroSp3*s$91^`VW$hA08fq4LVHtY>DQlqtb z53p~mw$uXAqiT;~N<^&0#M(8~f-h z$LhsPTgs)cFLHn7vY`uyIUaW_RN`v)9_VWLX=5U&&aFWJzGXzx5U>qqCj|HJKhc#D zTMG%W0;Ic)KkG76iO=gHLO=ig+eSVwVG*p*Bc6O$Lrb$ft=zJGMJrqQNptj;oozo@ z`_q1myQP^nR>ZYw4MOn#C9YNMWfy4#!Mc>eNT!wu`Sb#jhe-WzH_gTL%0ummll31; z<8zeP=Ah77Zbo8n%?Z4fb8_oA%vcm0SLjs{lv6MXH5{aR!LZ9NP+0h!Qeqa7@(sr6 zTsU>9=o~ThCmxgal`Z70O^|rAz>LaDq~{rPaC3@7Qle?0N+=IQsV(0{jXcQdW>L05zhPTpw=J-tCd31q_|)#(I8gfKofU zQf1NdB@#k^p=50o12@jG_VA*>kF|$C9Mj1<4G31y-=dviLi|=Xi~8v(o+hMnNIkg> zeMvpF6L}}$EuK+f~2D=e!48f{wDvz_<2$(&thQUD_3(rd@Wy-V!kIW7}gCO{*) zvl%fMy|X*Te>OhDn3itO_obxi-Pq+Df~}fc!jQxDu*N*{5$(BT=nS-<7GxRv@rbwq z#W+ToV|4oQJ&`>v!mD{E0~uc_5pTVbCIBd_COpwETxKXe$5+B7Gy+A@6#Cd{!Syxd z;7J}3QM%czPf0O1UAojHl6{-NAvgt)ZoXH6Px*0-JEBqM5-*o(fLk^>KiqNX1?|`uDCW0gxkYSjGN2XlCG3C% z;#XG)M18|s)^kR@+So_UJGTg_9Veli&Zn1XOy2B_dY*0n_~Mx#iXlCI`N$%(MXBTv=*x950_#KE->8Ouj{tL`lvhaGRcW-Piy1Q?h!<5YWS`8eD7tg z4bUTI+j6q!GlT?m-=}k%Hc~%qK4>@-hx2D}I~-GTBPA;;PxJU0%*Wi=3?U1~mpiFQ zRl<_~CEjudB0I~Q+%Pn~ZqF~Sy@A|2VL?ukzvRVEF`=E7&0Ss4USOwt!E5|T$jIdi zA)NLt!{bi_Ve1}`T&)+(6~8%^kPn@u->L12y5OrRdHjrITIh>2?Mo#S_DO@rtCoV~ z+C*O#$w#qdovOt<9@gSZMFt|T-z72YRqbDO1Mu~*KRs2kDKxy3T*;(8L>@QcvQp$2 zkQQ%i2X)nt#b5qLba7@~HQ+}UIvxahB~^J0ydiOvOWk-VV)=9 zg>aS^D%eYh1*W!s*@+DbOtDLQU^Xqi-m@hR^D(b$m7gy(c%n051R(L z%lr4*cGZAf+{2ykj=ftLG3IA{@UZ-e@9YMTefY3kit(l7cO!M5Yb28RT(p4fktT zMX*68HcdGHl7_PO8o2|~tiogs5$V){fz_oi2SXpmZ}&g5<`p7z{l;=mQ?KC>h<-QC z`scl5tNKY^{)}n#RhA<=SaC70lzmcs{ZrT3m!;pR_pDu9P!6Sf4I z=SsK*IX@hUuU^qQlYewRw)o?NLemxjsY`io%hHCQ>CWW8-v+C&lE-BVb(!tZ`B7QX z(#4Y|c}8@-x6)OAhxPGr#Sx@?F_^UM2y;)W2*(O)zv&~l`8~m+gxvfwDpELh=oD>8 zl$NJ8SxZde%8Ad>gv8!>vrFk@aoXIHv;C(OjvIQmmx%C*RaWroB^J7R?83hP0Z4li z2QO{KiSrnu2cJJ<{wKF^CP|xE@*$hd(BncR{-$kOEpgT^*LfM(g89$wR|{kzFmbfC z@D-M3)Mk8)m4ulYrO7)2_1_Ulw~bT%9+8+8f<^l~rw_E?$rW_www8e_@%AIojew``pIz)^ar;cl%{`PAc(S_xcx(HB7WaO?8AH$q=* zI(M*%^y-GGi1>$9WBYG$+x;=(jrKw$UbyvT!nbdd^Ao1FUJ@F{`=p;tMMhJNzsumu zd8Al%=<5X`11rMRI}W?|!rS9&>xT)1(wg0c&}>7` zV^GsZ1y6`{bf%R&Dt3}(@|Fc6;;5Kl+N|Kz z`tI@ol99vdOL=+Hq68*cn#T9OP*RHfmiC#Z#JN12;a-m`$-&X5Tn1+w+(L9*(CrD! zgLhdq*E~|cuVT5wC`5SKrsTv^<11f1o*)#xbLJvf%(mb! zW+;;w`q$nK`02Jt$52ykd>YIo>O1UfaoOsiHgxsTCqEa#KCI;Nbiw~?@5;ZLy0$QZ zl%XI^7z7FrLKvh>WoW2CT{0vhf{KtqAZV%tFab-D;bDX_8&JeYKn5ufSfD@%Wl97Y zq!4^Uh3cvTfij5TLkfblOk#a+UzNVTKcK%gKV{u@_Zjxx=iGC@?>qY_RW{Y;??oF{ zb}U; zwrTkIQ2cSMun2huWtkyeyq2K#A)9->5xY?bxZQ+nnW~d=M7^`D)*!>KFoRZo`^;or zJJ$<^uNk-k?=&0j8-uonJuLSphxF{%f6CFdUN%cTHfFf|0pGq3ZKUGgSJlb?bUSj? z{UWc|LGb==}f<@*=)&Skq+!Ey#Z|HJBdMm+V1^vpfPUBAgpS(qBAVK26SQIYl= zqs73qJaX#h#A?C~A*`+zSeIfl_l{YNtRyznQpUN*nhh8gMoQss4cJ!}lX9=jsXs(= zLJiF09mtZGs?8Ng-duR9ysh7*^ebxdE34>o$x>0mGr=K1NH6TS0`viwT%q{c0m)08 z{Pk#?)&yLK_Uyx&Mpi~nV$k2r?6-KkoxXO8qpI$3MnW@d#Q?kVN9Qi`dO8fhE#lg^|O-%E&IZ`AjYz?btc-Z zOt`1MQzabYbnxkkOUgR+?AQB0QQEkoY@@Ef$9b>Ip4(K#TI(bZ$QpJ>}A20yEbmfmnQ;W*|Ys`o&>r+h>G(Z1f|Xw{ng)!#Ay8 z!}Mg~bmjiwqqv%KIEn@P%E5Fi*TsGIU)&+IslFvaT@d4G)0j_4Ae9)Pk++2o&WCn$ zl1!l&RkLcF$iJN9tCmvkOMq|cc+8q&g#=_X1&$3u{{!;9iXvmO)}SSw0NuK6aYtA<#T}E0NM(usq@-hvOkvg`9AseR=(ZO*@5%5A#_@7 zA$OvUOCn&ay(EoJNy^58=(=zW9i>I5r~j-zUsk-p@*nUhE1BYw=v#}_g%V9pl_@I` zDYQ80U7;RGq4d$nD$k)dKM*BY3Tcl_W_VGa3^h8A(~KXLvo7x6%045!HD_&=9F@2X zMTjVl=lmr3{Q7t=1o*`yN5w8^)~4jtq$jP5;=vJ0s5=Vc51_He5de{cPAHbu*KoIJA2FY4 zVh6I}4K&M3`sTbiTbR%sagx0!`IO@3KC=vJ?6(vNb3{Ds4M-vu<-8WI8@L@Z-UYts z!>n+9RD_Es1iW`0H@<2l8@nKN5U&r46NKNOvkbuz+5yr|Dz+eKJis0t;qlfH;eW0p zAW@xQWypCs4M4bmR}XJhF97(Y21zarc3aa6b3P380)&hT;E%2%kZ5ALck%xKq^ii~ z`UX&)gp@f@%daA7Cwr4nay>{o79-@Xp*mUc=}GI%65zPzI#9asxGC9uxdX<&Y-sYV+B zN)6OUPQi7tR8Z%IDWYgIAG=v`H_T?5LjBml$;{?;BcdGuzF?82SL7!v6|5sHX+TRD z7E}-a=p67jf_}L|UAua&wOt2Z(7r|!5VTeAq)v{4{@)p`upfW*vY~p+otZ3)9+1#X zC>JQPfepyJ0-Q*+<&P!6WeyHEFCr~wVG931ob^D)r_0o$p4}wsK%X|SoyVt#>Cf5zJF z|D~KXt$`c1=|}Tj9)o8ootfsoE+jh1W*dV%n*2R34SdMynt_O*;M8PC$gfzvn!b{` zhJOI0cLOL(E+XPINEx9msXXzhRE;MBe}VYnttrH<2FKAZ)`~)T&qD23T?G)a zHBYbfG5fuASo2(jLck@8>i&H|_a diff --git a/doc/schema/drawio/factory.drawio b/doc/schema/drawio/factory.drawio deleted file mode 100644 index f86f0a6..0000000 --- a/doc/schema/drawio/factory.drawio +++ /dev/null @@ -1 +0,0 @@ -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 \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 967d18d..03cf14a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,8 +7,8 @@ "name": "CMTAT Factory", "license": "MPL", "dependencies": { - "@openzeppelin/contracts": "5.2.0", - "@openzeppelin/contracts-upgradeable": "5.2.0" + "@openzeppelin/contracts": "5.3.0", + "@openzeppelin/contracts-upgradeable": "^5.3.0" }, "devDependencies": { "@nomicfoundation/hardhat-chai-matchers": "^2.0.7", @@ -69,9 +69,9 @@ } }, "node_modules/@babel/cli": { - "version": "7.26.4", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.26.4.tgz", - "integrity": "sha512-+mORf3ezU3p3qr+82WvJSnQNE1GAYeoCfEv4fik6B5/2cvKZ75AX8oawWQdXtM9MmndooQj15Jr9kelRFWsuRw==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.27.2.tgz", + "integrity": "sha512-cfd7DnGlhH6OIyuPSSj3vcfIdnbXukhAyKY8NaZrFadC7pXyL9mOL5WgjcptiEJLi5k3j8aYvLIVCzezrWTaiA==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", @@ -124,16 +124,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/cli/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/@babel/cli/node_modules/braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", @@ -255,18 +245,6 @@ "node": ">=8" } }, - "node_modules/@babel/cli/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@babel/cli/node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -304,45 +282,44 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", + "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", - "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.5.tgz", + "integrity": "sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.8.tgz", - "integrity": "sha512-l+lkXCHS6tQEc5oUpK28xBOZ6+HwaH7YwoYQbLFiYb4nS2/l1tKnZEtEWkD0GuiYdvArf9qBS0XlQGXzPMsNqQ==", + "version": "7.27.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz", + "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.8", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.7", - "@babel/parser": "^7.26.8", - "@babel/template": "^7.26.8", - "@babel/traverse": "^7.26.8", - "@babel/types": "^7.26.8", - "@types/gensync": "^1.0.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.27.3", + "@babel/helpers": "^7.27.4", + "@babel/parser": "^7.27.4", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.27.4", + "@babel/types": "^7.27.3", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -367,13 +344,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.8.tgz", - "integrity": "sha512-ef383X5++iZHWAXX0SXQR6ZyQhw/0KtTkrTz61WXRhFM6dhpHulO/RJz79L8S6ugZHJkOOkUrUdxgdF2YiPFnA==", + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz", + "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==", "dev": true, "dependencies": { - "@babel/parser": "^7.26.8", - "@babel/types": "^7.26.8", + "@babel/parser": "^7.27.5", + "@babel/types": "^7.27.3", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -383,25 +360,25 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", - "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "dev": true, "dependencies": { - "@babel/types": "^7.25.9" + "@babel/types": "^7.27.3" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", - "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -420,17 +397,17 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", - "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", + "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/traverse": "^7.25.9", + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.27.1", "semver": "^6.3.1" }, "engines": { @@ -450,12 +427,12 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz", - "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", + "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-annotate-as-pure": "^7.27.1", "regexpu-core": "^6.2.0", "semver": "^6.3.1" }, @@ -476,9 +453,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", - "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz", + "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", @@ -492,40 +469,40 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", - "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", "dev": true, "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "dev": true, "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", + "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.3" }, "engines": { "node": ">=6.9.0" @@ -535,35 +512,35 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", - "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", "dev": true, "dependencies": { - "@babel/types": "^7.25.9" + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", - "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", - "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-wrap-function": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -573,14 +550,14 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", - "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", "dev": true, "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/traverse": "^7.26.5" + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -590,79 +567,79 @@ } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", - "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", "dev": true, "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", - "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz", + "integrity": "sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==", "dev": true, "dependencies": { - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/template": "^7.27.1", + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", - "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz", + "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==", "dev": true, "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.7" + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.8.tgz", - "integrity": "sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==", + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz", + "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==", "dev": true, "dependencies": { - "@babel/types": "^7.26.8" + "@babel/types": "^7.27.3" }, "bin": { "parser": "bin/babel-parser.js" @@ -672,13 +649,13 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", - "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", + "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -688,12 +665,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", - "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -703,12 +680,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", - "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -718,14 +695,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", - "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/plugin-transform-optional-chaining": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -735,13 +712,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", - "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz", + "integrity": "sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -763,12 +740,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", - "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -778,12 +755,12 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", - "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -809,12 +786,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", - "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -824,14 +801,14 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz", - "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz", + "integrity": "sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-remap-async-to-generator": "^7.25.9", - "@babel/traverse": "^7.26.8" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -841,14 +818,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", - "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-remap-async-to-generator": "^7.25.9" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -858,12 +835,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz", - "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -873,12 +850,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", - "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.5.tgz", + "integrity": "sha512-JF6uE2s67f0y2RZcm2kpAUEbD50vH62TyWVebxwHAlbSdM49VqPz8t4a1uIjp4NIOIZ4xzLfjY5emt/RCyC7TQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -888,13 +865,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", - "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -904,13 +881,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", - "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz", + "integrity": "sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -920,16 +897,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", - "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz", + "integrity": "sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9", - "@babel/traverse": "^7.25.9", + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.27.1", "globals": "^11.1.0" }, "engines": { @@ -949,13 +926,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", - "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/template": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -965,12 +942,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", - "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.3.tgz", + "integrity": "sha512-s4Jrok82JpiaIprtY2nHsYmrThKvvwgHwjgd7UMiYhZaN0asdXNLr0y+NjTfkA7SyQE5i2Fb7eawUOZmLvyqOA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -980,13 +957,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", - "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -996,12 +973,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", - "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1011,13 +988,13 @@ } }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", - "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1027,12 +1004,12 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", - "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1042,12 +1019,12 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", - "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", + "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1057,12 +1034,12 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", - "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1072,13 +1049,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", - "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1088,14 +1065,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", - "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1105,12 +1082,12 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", - "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1120,12 +1097,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", - "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1135,12 +1112,12 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", - "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", + "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1150,12 +1127,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", - "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1165,13 +1142,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", - "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1181,13 +1158,13 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", - "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1197,15 +1174,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", - "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", + "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1215,13 +1192,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", - "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1231,13 +1208,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", - "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1247,12 +1224,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", - "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1262,12 +1239,12 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.26.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz", - "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1277,12 +1254,12 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", - "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1292,14 +1269,15 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", - "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.3.tgz", + "integrity": "sha512-7ZZtznF9g4l2JCImCo5LNKFHB5eXnN39lLtLY5Tg+VkR0jwOt7TBciMckuiQIOIW7L5tkQOCh3bVGYeXgMx52Q==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/plugin-transform-parameters": "^7.25.9" + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.27.3", + "@babel/plugin-transform-parameters": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1309,13 +1287,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", - "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1325,12 +1303,12 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", - "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1340,13 +1318,13 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", - "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", + "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1356,12 +1334,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", - "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz", + "integrity": "sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1371,13 +1349,13 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", - "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1387,14 +1365,14 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", - "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1404,12 +1382,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", - "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1419,13 +1397,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", - "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.5.tgz", + "integrity": "sha512-uhB8yHerfe3MWnuLAhEbeQ4afVoqv8BQsPqrTv7e/jZ9y00kJL6l9a/f4OWaKxotmjzewfEyXE1vgDJenkQ2/Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "regenerator-transform": "^0.15.2" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1435,13 +1412,13 @@ } }, "node_modules/@babel/plugin-transform-regexp-modifiers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", - "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1451,12 +1428,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", - "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1466,12 +1443,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", - "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1481,13 +1458,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", - "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1497,12 +1474,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", - "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1512,12 +1489,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz", - "integrity": "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1527,12 +1504,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz", - "integrity": "sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1542,12 +1519,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", - "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1557,13 +1534,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", - "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1573,13 +1550,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", - "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1589,13 +1566,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", - "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1605,74 +1582,74 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.8.tgz", - "integrity": "sha512-um7Sy+2THd697S4zJEfv/U5MHGJzkN2xhtsR3T/SWRbVSic62nbISh51VVfU9JiO/L/Z97QczHTaFVkOU8IzNg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.26.8", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.2.tgz", + "integrity": "sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.27.1", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.26.0", - "@babel/plugin-syntax-import-attributes": "^7.26.0", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.25.9", - "@babel/plugin-transform-async-generator-functions": "^7.26.8", - "@babel/plugin-transform-async-to-generator": "^7.25.9", - "@babel/plugin-transform-block-scoped-functions": "^7.26.5", - "@babel/plugin-transform-block-scoping": "^7.25.9", - "@babel/plugin-transform-class-properties": "^7.25.9", - "@babel/plugin-transform-class-static-block": "^7.26.0", - "@babel/plugin-transform-classes": "^7.25.9", - "@babel/plugin-transform-computed-properties": "^7.25.9", - "@babel/plugin-transform-destructuring": "^7.25.9", - "@babel/plugin-transform-dotall-regex": "^7.25.9", - "@babel/plugin-transform-duplicate-keys": "^7.25.9", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-dynamic-import": "^7.25.9", - "@babel/plugin-transform-exponentiation-operator": "^7.26.3", - "@babel/plugin-transform-export-namespace-from": "^7.25.9", - "@babel/plugin-transform-for-of": "^7.25.9", - "@babel/plugin-transform-function-name": "^7.25.9", - "@babel/plugin-transform-json-strings": "^7.25.9", - "@babel/plugin-transform-literals": "^7.25.9", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", - "@babel/plugin-transform-member-expression-literals": "^7.25.9", - "@babel/plugin-transform-modules-amd": "^7.25.9", - "@babel/plugin-transform-modules-commonjs": "^7.26.3", - "@babel/plugin-transform-modules-systemjs": "^7.25.9", - "@babel/plugin-transform-modules-umd": "^7.25.9", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-new-target": "^7.25.9", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6", - "@babel/plugin-transform-numeric-separator": "^7.25.9", - "@babel/plugin-transform-object-rest-spread": "^7.25.9", - "@babel/plugin-transform-object-super": "^7.25.9", - "@babel/plugin-transform-optional-catch-binding": "^7.25.9", - "@babel/plugin-transform-optional-chaining": "^7.25.9", - "@babel/plugin-transform-parameters": "^7.25.9", - "@babel/plugin-transform-private-methods": "^7.25.9", - "@babel/plugin-transform-private-property-in-object": "^7.25.9", - "@babel/plugin-transform-property-literals": "^7.25.9", - "@babel/plugin-transform-regenerator": "^7.25.9", - "@babel/plugin-transform-regexp-modifiers": "^7.26.0", - "@babel/plugin-transform-reserved-words": "^7.25.9", - "@babel/plugin-transform-shorthand-properties": "^7.25.9", - "@babel/plugin-transform-spread": "^7.25.9", - "@babel/plugin-transform-sticky-regex": "^7.25.9", - "@babel/plugin-transform-template-literals": "^7.26.8", - "@babel/plugin-transform-typeof-symbol": "^7.26.7", - "@babel/plugin-transform-unicode-escapes": "^7.25.9", - "@babel/plugin-transform-unicode-property-regex": "^7.25.9", - "@babel/plugin-transform-unicode-regex": "^7.25.9", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.27.1", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.27.1", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.27.1", + "@babel/plugin-transform-classes": "^7.27.1", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.27.1", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-exponentiation-operator": "^7.27.1", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.27.1", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.27.1", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.27.2", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.1", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.27.1", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.11.0", @@ -1711,9 +1688,9 @@ } }, "node_modules/@babel/register": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.25.9.tgz", - "integrity": "sha512-8D43jXtGsYmEeDvm4MWHYUpWf8iiXgWYx3fW7E7Wb7Oe6FWqJPl5K6TuFW0dOwNZzEE5rjlaSJYH9JjrUKJszA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.27.1.tgz", + "integrity": "sha512-K13lQpoV54LATKkzBpBAEu1GGSIRzxR9f4IN4V8DCDgiUMo2UDGagEZr3lPeVNJPLkWUi5JE4hCHKneVTwQlYQ==", "dev": true, "dependencies": { "clone-deep": "^4.0.1", @@ -1730,42 +1707,39 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.7.tgz", - "integrity": "sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==", + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", + "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", "dev": true, - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.8.tgz", - "integrity": "sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.26.8", - "@babel/types": "^7.26.8" + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.8.tgz", - "integrity": "sha512-nic9tRkjYH0oB2dzr/JoGIm+4Q6SuYeLEiIiZDwBscRMYFJ+tMAz98fuel9ZnbXViA2I0HVSSRRK8DW5fjXStA==", + "version": "7.27.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz", + "integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.8", - "@babel/parser": "^7.26.8", - "@babel/template": "^7.26.8", - "@babel/types": "^7.26.8", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.3", + "@babel/parser": "^7.27.4", + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.3", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -1783,13 +1757,13 @@ } }, "node_modules/@babel/types": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.8.tgz", - "integrity": "sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==", + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz", + "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1843,16 +1817,6 @@ "node": ">=0.10.0" } }, - "node_modules/@ensdomains/ens/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/@ensdomains/ens/node_modules/camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", @@ -1952,18 +1916,6 @@ "graceful-fs": "^4.1.9" } }, - "node_modules/@ensdomains/ens/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@ensdomains/ens/node_modules/rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -2087,9 +2039,9 @@ } }, "node_modules/@ensdomains/ensjs/node_modules/ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.8.0.tgz", + "integrity": "sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==", "dev": true, "funding": [ { @@ -2102,36 +2054,36 @@ } ], "dependencies": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" + "@ethersproject/abi": "5.8.0", + "@ethersproject/abstract-provider": "5.8.0", + "@ethersproject/abstract-signer": "5.8.0", + "@ethersproject/address": "5.8.0", + "@ethersproject/base64": "5.8.0", + "@ethersproject/basex": "5.8.0", + "@ethersproject/bignumber": "5.8.0", + "@ethersproject/bytes": "5.8.0", + "@ethersproject/constants": "5.8.0", + "@ethersproject/contracts": "5.8.0", + "@ethersproject/hash": "5.8.0", + "@ethersproject/hdnode": "5.8.0", + "@ethersproject/json-wallets": "5.8.0", + "@ethersproject/keccak256": "5.8.0", + "@ethersproject/logger": "5.8.0", + "@ethersproject/networks": "5.8.0", + "@ethersproject/pbkdf2": "5.8.0", + "@ethersproject/properties": "5.8.0", + "@ethersproject/providers": "5.8.0", + "@ethersproject/random": "5.8.0", + "@ethersproject/rlp": "5.8.0", + "@ethersproject/sha2": "5.8.0", + "@ethersproject/signing-key": "5.8.0", + "@ethersproject/solidity": "5.8.0", + "@ethersproject/strings": "5.8.0", + "@ethersproject/transactions": "5.8.0", + "@ethersproject/units": "5.8.0", + "@ethersproject/wallet": "5.8.0", + "@ethersproject/web": "5.8.0", + "@ethersproject/wordlists": "5.8.0" } }, "node_modules/@ensdomains/resolver": { @@ -2142,9 +2094,9 @@ "dev": true }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", "dev": true, "dependencies": { "eslint-visitor-keys": "^3.4.3" @@ -2197,16 +2149,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/@eslint/eslintrc/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -2219,18 +2161,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@eslint/js": { "version": "8.57.1", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", @@ -2251,15 +2181,15 @@ } }, "node_modules/@ethereumjs/rlp": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", - "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-5.0.2.tgz", + "integrity": "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==", "dev": true, "bin": { - "rlp": "bin/rlp" + "rlp": "bin/rlp.cjs" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/@ethereumjs/tx": { @@ -2273,17 +2203,16 @@ } }, "node_modules/@ethereumjs/util": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", - "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-9.1.0.tgz", + "integrity": "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==", "dev": true, "dependencies": { - "@ethereumjs/rlp": "^4.0.1", - "ethereum-cryptography": "^2.0.0", - "micro-ftch": "^0.3.1" + "@ethereumjs/rlp": "^5.0.2", + "ethereum-cryptography": "^2.2.1" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/@ethereumjs/util/node_modules/@noble/curves": { @@ -2350,9 +2279,9 @@ } }, "node_modules/@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.8.0.tgz", + "integrity": "sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==", "dev": true, "funding": [ { @@ -2365,21 +2294,21 @@ } ], "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" } }, "node_modules/@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz", + "integrity": "sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==", "dev": true, "funding": [ { @@ -2392,19 +2321,19 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/networks": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/web": "^5.8.0" } }, "node_modules/@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz", + "integrity": "sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==", "dev": true, "funding": [ { @@ -2417,17 +2346,17 @@ } ], "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0" } }, "node_modules/@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.8.0.tgz", + "integrity": "sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==", "dev": true, "funding": [ { @@ -2440,17 +2369,17 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/rlp": "^5.8.0" } }, "node_modules/@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.8.0.tgz", + "integrity": "sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==", "dev": true, "funding": [ { @@ -2463,13 +2392,13 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.7.0" + "@ethersproject/bytes": "^5.8.0" } }, "node_modules/@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.8.0.tgz", + "integrity": "sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q==", "dev": true, "funding": [ { @@ -2482,14 +2411,14 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/properties": "^5.8.0" } }, "node_modules/@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.8.0.tgz", + "integrity": "sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==", "dev": true, "funding": [ { @@ -2502,21 +2431,21 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", "bn.js": "^5.2.1" } }, "node_modules/@ethersproject/bignumber/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.8.0.tgz", + "integrity": "sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==", "dev": true, "funding": [ { @@ -2529,13 +2458,13 @@ } ], "dependencies": { - "@ethersproject/logger": "^5.7.0" + "@ethersproject/logger": "^5.8.0" } }, "node_modules/@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.8.0.tgz", + "integrity": "sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==", "dev": true, "funding": [ { @@ -2548,13 +2477,13 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.7.0" + "@ethersproject/bignumber": "^5.8.0" } }, "node_modules/@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.8.0.tgz", + "integrity": "sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ==", "dev": true, "funding": [ { @@ -2567,22 +2496,22 @@ } ], "dependencies": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" + "@ethersproject/abi": "^5.8.0", + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/transactions": "^5.8.0" } }, "node_modules/@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.8.0.tgz", + "integrity": "sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==", "dev": true, "funding": [ { @@ -2595,21 +2524,21 @@ } ], "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/base64": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" } }, "node_modules/@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.8.0.tgz", + "integrity": "sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA==", "dev": true, "funding": [ { @@ -2622,24 +2551,24 @@ } ], "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/basex": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/pbkdf2": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/sha2": "^5.8.0", + "@ethersproject/signing-key": "^5.8.0", + "@ethersproject/strings": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/wordlists": "^5.8.0" } }, "node_modules/@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.8.0.tgz", + "integrity": "sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w==", "dev": true, "funding": [ { @@ -2652,17 +2581,17 @@ } ], "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/hdnode": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/pbkdf2": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/random": "^5.8.0", + "@ethersproject/strings": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", "aes-js": "3.0.0", "scrypt-js": "3.0.1" } @@ -2674,9 +2603,9 @@ "dev": true }, "node_modules/@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.8.0.tgz", + "integrity": "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==", "dev": true, "funding": [ { @@ -2689,14 +2618,14 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.7.0", + "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "node_modules/@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.8.0.tgz", + "integrity": "sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==", "dev": true, "funding": [ { @@ -2710,9 +2639,9 @@ ] }, "node_modules/@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.8.0.tgz", + "integrity": "sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==", "dev": true, "funding": [ { @@ -2725,13 +2654,13 @@ } ], "dependencies": { - "@ethersproject/logger": "^5.7.0" + "@ethersproject/logger": "^5.8.0" } }, "node_modules/@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.8.0.tgz", + "integrity": "sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg==", "dev": true, "funding": [ { @@ -2744,14 +2673,14 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/sha2": "^5.8.0" } }, "node_modules/@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.8.0.tgz", + "integrity": "sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==", "dev": true, "funding": [ { @@ -2764,13 +2693,13 @@ } ], "dependencies": { - "@ethersproject/logger": "^5.7.0" + "@ethersproject/logger": "^5.8.0" } }, "node_modules/@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.8.0.tgz", + "integrity": "sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw==", "dev": true, "funding": [ { @@ -2783,39 +2712,39 @@ } ], "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/base64": "^5.8.0", + "@ethersproject/basex": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/networks": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/random": "^5.8.0", + "@ethersproject/rlp": "^5.8.0", + "@ethersproject/sha2": "^5.8.0", + "@ethersproject/strings": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/web": "^5.8.0", "bech32": "1.1.4", - "ws": "7.4.6" + "ws": "8.18.0" } }, "node_modules/@ethersproject/providers/node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "engines": { - "node": ">=8.3.0" + "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { @@ -2827,9 +2756,9 @@ } }, "node_modules/@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.8.0.tgz", + "integrity": "sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A==", "dev": true, "funding": [ { @@ -2842,14 +2771,14 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0" } }, "node_modules/@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.8.0.tgz", + "integrity": "sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q==", "dev": true, "funding": [ { @@ -2862,14 +2791,14 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0" } }, "node_modules/@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.8.0.tgz", + "integrity": "sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A==", "dev": true, "funding": [ { @@ -2882,15 +2811,15 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", "hash.js": "1.1.7" } }, "node_modules/@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.8.0.tgz", + "integrity": "sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==", "dev": true, "funding": [ { @@ -2903,24 +2832,24 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", "bn.js": "^5.2.1", - "elliptic": "6.5.4", + "elliptic": "6.6.1", "hash.js": "1.1.7" } }, "node_modules/@ethersproject/signing-key/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.8.0.tgz", + "integrity": "sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA==", "dev": true, "funding": [ { @@ -2933,18 +2862,18 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/sha2": "^5.8.0", + "@ethersproject/strings": "^5.8.0" } }, "node_modules/@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.8.0.tgz", + "integrity": "sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==", "dev": true, "funding": [ { @@ -2957,15 +2886,15 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/logger": "^5.8.0" } }, "node_modules/@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.8.0.tgz", + "integrity": "sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==", "dev": true, "funding": [ { @@ -2978,21 +2907,21 @@ } ], "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/rlp": "^5.8.0", + "@ethersproject/signing-key": "^5.8.0" } }, "node_modules/@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.8.0.tgz", + "integrity": "sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ==", "dev": true, "funding": [ { @@ -3005,15 +2934,15 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/logger": "^5.8.0" } }, "node_modules/@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.8.0.tgz", + "integrity": "sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA==", "dev": true, "funding": [ { @@ -3026,27 +2955,27 @@ } ], "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/hdnode": "^5.8.0", + "@ethersproject/json-wallets": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/random": "^5.8.0", + "@ethersproject/signing-key": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/wordlists": "^5.8.0" } }, "node_modules/@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.8.0.tgz", + "integrity": "sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==", "dev": true, "funding": [ { @@ -3059,17 +2988,17 @@ } ], "dependencies": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@ethersproject/base64": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" } }, "node_modules/@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.8.0.tgz", + "integrity": "sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg==", "dev": true, "funding": [ { @@ -3082,11 +3011,11 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" } }, "node_modules/@fastify/busboy": { @@ -3113,28 +3042,6 @@ "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -3203,69 +3110,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@metamask/eth-sig-util": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", - "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", - "dev": true, - "dependencies": { - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^6.2.1", - "ethjs-util": "^0.1.6", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@metamask/eth-sig-util/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@metamask/eth-sig-util/node_modules/ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dev": true, - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "node_modules/@metamask/eth-sig-util/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, "node_modules/@nicolo-ribaudo/chokidar-2": { "version": "2.1.8-no-fsevents.3", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", @@ -3359,201 +3203,90 @@ } }, "node_modules/@nomicfoundation/edr": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.7.0.tgz", - "integrity": "sha512-+Zyu7TE47TGNcPhOfWLPA/zISs32WDMXrhSWdWYyPHDVn/Uux5TVuOeScKb0BR/R8EJ+leR8COUF/EGxvDOVKg==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.11.1.tgz", + "integrity": "sha512-P97XwcD9DdMMZm9aqw89+mzqzlKmqzSPM3feBES2WVRm5/LOiBYorhpeAX+ANj0X8532SKgxoZK/CN5OWv9vZA==", "dev": true, "dependencies": { - "@nomicfoundation/edr-darwin-arm64": "0.7.0", - "@nomicfoundation/edr-darwin-x64": "0.7.0", - "@nomicfoundation/edr-linux-arm64-gnu": "0.7.0", - "@nomicfoundation/edr-linux-arm64-musl": "0.7.0", - "@nomicfoundation/edr-linux-x64-gnu": "0.7.0", - "@nomicfoundation/edr-linux-x64-musl": "0.7.0", - "@nomicfoundation/edr-win32-x64-msvc": "0.7.0" + "@nomicfoundation/edr-darwin-arm64": "0.11.1", + "@nomicfoundation/edr-darwin-x64": "0.11.1", + "@nomicfoundation/edr-linux-arm64-gnu": "0.11.1", + "@nomicfoundation/edr-linux-arm64-musl": "0.11.1", + "@nomicfoundation/edr-linux-x64-gnu": "0.11.1", + "@nomicfoundation/edr-linux-x64-musl": "0.11.1", + "@nomicfoundation/edr-win32-x64-msvc": "0.11.1" }, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-darwin-arm64": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.7.0.tgz", - "integrity": "sha512-vAH20oh4GaSB/iQFTRcoO8jLc0CLd9XuLY9I7vtcqZWAiM4U1J4Y8cu67PWmtxbvUQOqXR7S6FtAr8/AlWm14g==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.11.1.tgz", + "integrity": "sha512-vjca7gkl1o0yYqMjwxQpMEtdsb20nWHBnnxDO8ZBCTD5IwfYT5LiMxFaJo8NUJ7ODIRkF/zuEtAF3W7+ZlC5RA==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-darwin-x64": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.7.0.tgz", - "integrity": "sha512-WHDdIrPvLlgXQr2eKypBM5xOZAwdxhDAEQIvEMQL8tEEm2qYW2bliUlssBPrs8E3bdivFbe1HizImslMAfU3+g==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.11.1.tgz", + "integrity": "sha512-0aGStHq9XePXX9UqdU1w60HGO9AfYCgkNEir5sBpntU5E0TvZEK6jwyYr667+s90n2mihdeP97QSA0O/6PT6PA==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-arm64-gnu": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.7.0.tgz", - "integrity": "sha512-WXpJB54ukz1no7gxCPXVEw9pgl/9UZ/WO3l1ctyv/T7vOygjqA4SUd6kppTs6MNXAuTiisPtvJ/fmvHiMBLrsw==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.11.1.tgz", + "integrity": "sha512-OWhCETc03PVdtzatW/c2tpOPx+GxlBfBaLmMuGRD1soAr1nMOmg2WZAlo4i6Up9fkQYl+paiYMMFVat1meaMvQ==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-arm64-musl": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.7.0.tgz", - "integrity": "sha512-1iZYOcEgc+zJI7JQrlAFziuy9sBz1WgnIx3HIIu0J7lBRZ/AXeHHgATb+4InqxtEx9O3W8A0s7f11SyFqJL4Aw==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.11.1.tgz", + "integrity": "sha512-p0qvtIvDA2eZ8pQ5XUKnWdW1IrwFzSrjyrO88oYx6Lkw8nYwf2JEeETo5o5W84DDfimfoBGP7RWPTPcTBKCaLQ==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-x64-gnu": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.7.0.tgz", - "integrity": "sha512-wSjC94WcR5MM8sg9w3OsAmT6+bbmChJw6uJKoXR3qscps/jdhjzJWzfgT0XGRq3XMUfimyafW2RWOyfX3ouhrQ==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.11.1.tgz", + "integrity": "sha512-V4Us7Q0E8kng3O/czd5GRcxmZxWX+USgqz9yQ3o7DVq7FP96idaKvtcbMQp64tjHf2zNtX2y77sGzgbVau7Bww==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-x64-musl": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.7.0.tgz", - "integrity": "sha512-Us22+AZ7wkG1mZwxqE4S4ZcuwkEA5VrUiBOJSvKHGOgy6vFvB/Euh5Lkp4GovwjrtiXuvyGO2UmtkzymZKDxZw==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.11.1.tgz", + "integrity": "sha512-lCSXsF10Kjjvs5duGbM6pi1WciWHXFNWkMgDAY4pg6ZRIy4gh+uGC6CONMfP4BDZwfrALo2p6+LwyotrJEqpyg==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-win32-x64-msvc": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.7.0.tgz", - "integrity": "sha512-HAry0heTsWkzReVtjHwoIq3BgFCvXpVhJ5qPmTnegZGsr/KxqvMmHyDMifzKao4bycU8yrpTSyOiAJt27RWjzQ==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.11.1.tgz", + "integrity": "sha512-sNSmmRTURAd1sdKuyO5tqrFiJvHHVPZLM4HB53F21makGoyInFGhejdo3qZrkoinM8k0ewEJDbUp0YuMEgMOhQ==", "dev": true, "engines": { "node": ">= 18" } }, - "node_modules/@nomicfoundation/ethereumjs-common": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.4.tgz", - "integrity": "sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==", - "dev": true, - "dependencies": { - "@nomicfoundation/ethereumjs-util": "9.0.4" - } - }, - "node_modules/@nomicfoundation/ethereumjs-rlp": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.4.tgz", - "integrity": "sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==", - "dev": true, - "bin": { - "rlp": "bin/rlp.cjs" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@nomicfoundation/ethereumjs-tx": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.4.tgz", - "integrity": "sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==", - "dev": true, - "dependencies": { - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", - "ethereum-cryptography": "0.1.3" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "c-kzg": "^2.1.2" - }, - "peerDependenciesMeta": { - "c-kzg": { - "optional": true - } - } - }, - "node_modules/@nomicfoundation/ethereumjs-tx/node_modules/ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dev": true, - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "node_modules/@nomicfoundation/ethereumjs-util": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.4.tgz", - "integrity": "sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==", - "dev": true, - "dependencies": { - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "ethereum-cryptography": "0.1.3" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "c-kzg": "^2.1.2" - }, - "peerDependenciesMeta": { - "c-kzg": { - "optional": true - } - } - }, - "node_modules/@nomicfoundation/ethereumjs-util/node_modules/ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dev": true, - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, "node_modules/@nomicfoundation/hardhat-chai-matchers": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.8.tgz", - "integrity": "sha512-Z5PiCXH4xhNLASROlSUOADfhfpfhYO6D7Hn9xp8PddmHey0jq704cr6kfU8TRrQ4PUZbpfsZadPj+pCfZdjPIg==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.9.tgz", + "integrity": "sha512-AbCoBuTKMlwlf1lesSmi/4VvJHNG9EP13EmkCJ+MJS1SBdtVtU4YrBbdYmnYPEvRFcAIMFB/cwcQGmuBYeCoVg==", "dev": true, "dependencies": { "@types/chai-as-promised": "^7.1.3", @@ -3562,16 +3295,16 @@ "ordinal": "^1.0.3" }, "peerDependencies": { - "@nomicfoundation/hardhat-ethers": "^3.0.0", + "@nomicfoundation/hardhat-ethers": "^3.0.9", "chai": "^4.2.0", - "ethers": "^6.1.0", + "ethers": "^6.14.0", "hardhat": "^2.9.4" } }, "node_modules/@nomicfoundation/hardhat-ethers": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.8.tgz", - "integrity": "sha512-zhOZ4hdRORls31DTOqg+GmEZM0ujly8GGIuRY7t7szEk2zW/arY1qDug/py8AEktT00v5K+b6RvbVog+va51IA==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.9.tgz", + "integrity": "sha512-xBJdRUiCwKpr0OYrOzPwAyNGtsVzoBx32HFPJVv6S+sFA9TmBIBDaqNlFPmBH58ZjgNnGhEr/4oBZvGr4q4TjQ==", "dev": true, "peer": true, "dependencies": { @@ -3579,7 +3312,7 @@ "lodash.isequal": "^4.5.0" }, "peerDependencies": { - "ethers": "^6.1.0", + "ethers": "^6.14.0", "hardhat": "^2.0.0" } }, @@ -3694,16 +3427,16 @@ } }, "node_modules/@openzeppelin/contracts": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-5.2.0.tgz", - "integrity": "sha512-bxjNie5z89W1Ea0NZLZluFh8PrFNn9DH8DQlujEok2yjsOlraUPKID5p1Wk3qdNbf6XkQ1Os2RvfiHrrXLHWKA==" + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-5.3.0.tgz", + "integrity": "sha512-zj/KGoW7zxWUE8qOI++rUM18v+VeLTTzKs/DJFkSzHpQFPD/jKKF0TrMxBfGLl3kpdELCNccvB3zmofSzm4nlA==" }, "node_modules/@openzeppelin/contracts-upgradeable": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-5.2.0.tgz", - "integrity": "sha512-mZIu9oa4tQTlGiOJHk6D3LdJlqFqF6oNOSn6S6UVJtzfs9UsY9/dhMEbAVTwElxUtJnjpf6yA062+oBp+eOyPg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-5.3.0.tgz", + "integrity": "sha512-yVzSSyTMWO6rapGI5tuqkcLpcGGXA0UA1vScyV5EhE5yw8By3Ewex9rDUw8lfVw0iTkvR/egjfcW5vpk03lqZg==", "peerDependencies": { - "@openzeppelin/contracts": "5.2.0" + "@openzeppelin/contracts": "5.3.0" } }, "node_modules/@openzeppelin/test-helpers": { @@ -3960,9 +3693,9 @@ } }, "node_modules/@truffle/abi-utils/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/@truffle/abi-utils/node_modules/web3-utils": { @@ -4015,47 +3748,16 @@ "node": "^16.20 || ^18.16 || >=20" } }, - "node_modules/@truffle/codec/node_modules/bignumber.js": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", - "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/@truffle/codec/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, - "node_modules/@truffle/codec/node_modules/cbor": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz", - "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==", - "dev": true, - "dependencies": { - "bignumber.js": "^9.0.1", - "nofilter": "^1.0.4" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@truffle/codec/node_modules/nofilter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", - "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/@truffle/codec/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -4168,6 +3870,21 @@ "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", "dev": true }, + "node_modules/@truffle/contract/node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, "node_modules/@truffle/contract/node_modules/eth-lib": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", @@ -4329,9 +4046,9 @@ } }, "node_modules/@truffle/contract/node_modules/web3-core/node_modules/bignumber.js": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", - "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", + "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", "dev": true, "engines": { "node": "*" @@ -4546,9 +4263,9 @@ } }, "node_modules/@truffle/contract/node_modules/web3-utils/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/@truffle/debug-utils": { @@ -4569,83 +4286,12 @@ "node": "^16.20 || ^18.16 || >=20" } }, - "node_modules/@truffle/debug-utils/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@truffle/debug-utils/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "node_modules/@truffle/debug-utils/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@truffle/debug-utils/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@truffle/debug-utils/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, - "node_modules/@truffle/debug-utils/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@truffle/debug-utils/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@truffle/debug-utils/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@truffle/error": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.2.2.tgz", @@ -4704,18 +4350,39 @@ "dev": true }, "node_modules/@truffle/interface-adapter/node_modules/bignumber.js": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", - "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", + "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", "dev": true, "engines": { "node": "*" } }, "node_modules/@truffle/interface-adapter/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", + "dev": true + }, + "node_modules/@truffle/interface-adapter/node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/@truffle/interface-adapter/node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", "dev": true }, "node_modules/@truffle/interface-adapter/node_modules/eth-lib": { @@ -4730,9 +4397,9 @@ } }, "node_modules/@truffle/interface-adapter/node_modules/eth-lib/node_modules/bn.js": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", "dev": true }, "node_modules/@truffle/interface-adapter/node_modules/ethers": { @@ -4753,9 +4420,9 @@ } }, "node_modules/@truffle/interface-adapter/node_modules/ethers/node_modules/bn.js": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", "dev": true }, "node_modules/@truffle/interface-adapter/node_modules/hash.js": { @@ -5114,81 +4781,10 @@ "strip-indent": "^2.0.0" } }, - "node_modules/@trufflesuite/chromafi/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@trufflesuite/chromafi/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@trufflesuite/chromafi/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@trufflesuite/chromafi/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@trufflesuite/chromafi/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@trufflesuite/chromafi/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@trufflesuite/chromafi/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@types/bn.js": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.6.tgz", - "integrity": "sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==", "dev": true, "dependencies": { "@types/node": "*" @@ -5207,9 +4803,9 @@ } }, "node_modules/@types/chai": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.0.1.tgz", - "integrity": "sha512-5T8ajsg3M/FOncpLYW7sdOcD6yf4+722sze/tc4KQV0P8Z2rAr3SAuHCIkYmYpt8VbcQlnz8SxlOlPQYefe4cA==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", + "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", "dev": true, "dependencies": { "@types/deep-eql": "*" @@ -5257,12 +4853,6 @@ "@types/node": "*" } }, - "node_modules/@types/gensync": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/gensync/-/gensync-1.0.4.tgz", - "integrity": "sha512-C3YYeRQWp2fmq9OryX+FoDy8nXS6scQ7dPptD8LnFDAUNcKWJjXQKDNJD3HVm+kOUsXhTOkpi69vI4EuAr95bA==", - "dev": true - }, "node_modules/@types/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", @@ -5313,12 +4903,12 @@ "dev": true }, "node_modules/@types/node": { - "version": "22.13.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.1.tgz", - "integrity": "sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==", + "version": "24.0.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.3.tgz", + "integrity": "sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==", "dev": true, "dependencies": { - "undici-types": "~6.20.0" + "undici-types": "~7.8.0" } }, "node_modules/@types/pbkdf2": { @@ -5331,9 +4921,9 @@ } }, "node_modules/@types/qs": { - "version": "6.9.18", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz", - "integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", "dev": true }, "node_modules/@types/responselike": { @@ -5396,9 +4986,9 @@ } }, "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -5582,18 +5172,15 @@ } }, "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=4" } }, "node_modules/antlr4ts": { @@ -5674,17 +5261,19 @@ "dev": true }, "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -5721,17 +5310,18 @@ } }, "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -5921,9 +5511,9 @@ "dev": true }, "node_modules/axios": { - "version": "1.7.9", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", - "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz", + "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==", "dev": true, "dependencies": { "follow-redirects": "^1.15.6", @@ -5945,13 +5535,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.12", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", - "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz", + "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==", "dev": true, "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.3", + "@babel/helper-define-polyfill-provider": "^0.6.4", "semver": "^6.3.1" }, "peerDependencies": { @@ -5981,12 +5571,12 @@ } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", - "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz", + "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3" + "@babel/helper-define-polyfill-provider": "^0.6.4" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -6017,9 +5607,9 @@ } }, "node_modules/base-x": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", - "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.11.tgz", + "integrity": "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==", "dev": true, "dependencies": { "safe-buffer": "^5.0.1" @@ -6075,12 +5665,6 @@ "tweetnacl": "^0.14.3" } }, - "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - }, "node_modules/bech32": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", @@ -6148,30 +5732,6 @@ "readable-stream": "^3.4.0" } }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/blakejs": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", @@ -6185,9 +5745,9 @@ "dev": true }, "node_modules/bn.js": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", "dev": true }, "node_modules/body-parser": { @@ -6293,6 +5853,21 @@ "node": ">=8" } }, + "node_modules/boxen/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/boxen/node_modules/camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", @@ -6305,6 +5880,49 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/boxen/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/boxen/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/boxen/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/boxen/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -6340,13 +5958,26 @@ "node": ">=8" } }, + "node_modules/boxen/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, "node_modules/braces": { @@ -6390,9 +6021,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz", + "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==", "dev": true, "funding": [ { @@ -6409,10 +6040,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", + "caniuse-lite": "^1.0.30001718", + "electron-to-chromium": "^1.5.160", "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" + "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" @@ -6441,6 +6072,30 @@ "safe-buffer": "^5.1.2" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", @@ -6491,9 +6146,9 @@ } }, "node_modules/builtins/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -6601,9 +6256,9 @@ } }, "node_modules/call-bind-apply-helpers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", - "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "dev": true, "dependencies": { "es-errors": "^1.3.0", @@ -6614,13 +6269,13 @@ } }, "node_modules/call-bound": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", - "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "dev": true, "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "get-intrinsic": "^1.2.6" + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -6658,9 +6313,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001699", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001699.tgz", - "integrity": "sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==", + "version": "1.0.30001723", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001723.tgz", + "integrity": "sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==", "dev": true, "funding": [ { @@ -6683,6 +6338,28 @@ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true }, + "node_modules/cbor": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz", + "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==", + "dev": true, + "dependencies": { + "bignumber.js": "^9.0.1", + "nofilter": "^1.0.4" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/cbor/node_modules/bignumber.js": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", + "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/chai": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", @@ -6724,19 +6401,17 @@ } }, "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=4" } }, "node_modules/change-case": { @@ -6787,21 +6462,21 @@ } }, "node_modules/cheerio": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0.tgz", - "integrity": "sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.0.tgz", + "integrity": "sha512-+0hMx9eYhJvWbgpKV9hN7jg0JcwydpopZE4hgi+KvQtByZXPp04NiCWU0LzcAbP63abZckIHkTQaXVF52mX3xQ==", "dev": true, "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", - "domutils": "^3.1.0", + "domutils": "^3.2.2", "encoding-sniffer": "^0.2.0", - "htmlparser2": "^9.1.0", - "parse5": "^7.1.2", - "parse5-htmlparser2-tree-adapter": "^7.0.0", + "htmlparser2": "^10.0.0", + "parse5": "^7.3.0", + "parse5-htmlparser2-tree-adapter": "^7.1.0", "parse5-parser-stream": "^7.1.2", - "undici": "^6.19.5", + "undici": "^7.10.0", "whatwg-mimetype": "^4.0.0" }, "engines": { @@ -6907,30 +6582,6 @@ "npm": ">=3.0.0" } }, - "node_modules/cids/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/cids/node_modules/multicodec": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", @@ -7207,21 +6858,18 @@ } }, "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "color-name": "1.1.3" } }, "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "node_modules/colors": { @@ -7375,6 +7023,7 @@ "version": "0.6.4", "resolved": "https://registry.npmjs.org/convert-svg-core/-/convert-svg-core-0.6.4.tgz", "integrity": "sha512-8mS0n7otc1lljTte4z7nDhihEakKCRq4w5ivMnIGeOZuD/OV/eDZNNEgGLV1ET3p+rMbnrZnX4lAcsf14WzD5w==", + "deprecated": "version 0.6.4 and below are no longer supported", "dev": true, "funding": [ { @@ -7403,6 +7052,55 @@ "node": "^12.20.0 || >=14" } }, + "node_modules/convert-svg-core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/convert-svg-core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/convert-svg-core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/convert-svg-core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/convert-svg-core/node_modules/commander": { "version": "9.5.0", "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", @@ -7412,10 +7110,32 @@ "node": "^12.20.0 || >=14" } }, + "node_modules/convert-svg-core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/convert-svg-core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/convert-svg-to-png": { "version": "0.6.4", "resolved": "https://registry.npmjs.org/convert-svg-to-png/-/convert-svg-to-png-0.6.4.tgz", "integrity": "sha512-zHNTuVedkyuhMl+f+HMm2L7+TKDYCKFAqAmDqUr0dN7/xtgYe76PPAydjlFzeLbzEpGtEfhaA15q+ejpLaVo3g==", + "deprecated": "version 0.6.4 and below are no longer supported", "dev": true, "funding": [ { @@ -7462,12 +7182,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.40.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.40.0.tgz", - "integrity": "sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==", + "version": "3.43.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.43.0.tgz", + "integrity": "sha512-2GML2ZsCc5LR7hZYz4AXmjQw8zuy2T//2QntwdnpuYI7jteT6GVYJL7F6C2C57R7gSYrcqVW3lAALefdbhBLDA==", "dev": true, "dependencies": { - "browserslist": "^4.24.3" + "browserslist": "^4.25.0" }, "funding": { "type": "opencollective", @@ -7560,26 +7280,6 @@ "node-fetch": "2.6.7" } }, - "node_modules/cross-fetch/node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -7729,9 +7429,9 @@ "dev": true }, "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "dependencies": { "ms": "^2.1.3" @@ -8071,15 +7771,15 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.5.96", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.96.tgz", - "integrity": "sha512-8AJUW6dh75Fm/ny8+kZKJzI1pgoE8bKLZlzDU2W1ENd+DXKJrx7I7l9hb8UWR4ojlnb5OlixMt00QWiYJoVw1w==", + "version": "1.5.169", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.169.tgz", + "integrity": "sha512-q7SQx6mkLy0GTJK9K9OiWeaBMV4XQtBSdf6MJUzDB/H/5tFXfIiX38Lci1Kl6SsgiEhz1SQI1ejEOU5asWEhwQ==", "dev": true }, "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", "dev": true, "dependencies": { "bn.js": "^4.11.9", @@ -8107,9 +7807,9 @@ } }, "node_modules/encoding-sniffer": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.0.tgz", - "integrity": "sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", + "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", "dev": true, "dependencies": { "iconv-lite": "^0.6.3", @@ -8120,9 +7820,9 @@ } }, "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", "dev": true, "dependencies": { "once": "^1.4.0" @@ -8208,27 +7908,27 @@ } }, "node_modules/es-abstract": { - "version": "1.23.9", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", - "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", "dev": true, "dependencies": { "array-buffer-byte-length": "^1.0.2", "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.3", + "call-bound": "^1.0.4", "data-view-buffer": "^1.0.2", "data-view-byte-length": "^1.0.2", "data-view-byte-offset": "^1.0.1", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", + "es-object-atoms": "^1.1.1", "es-set-tostringtag": "^2.1.0", "es-to-primitive": "^1.3.0", "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.0", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", @@ -8240,21 +7940,24 @@ "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", "is-regex": "^1.2.1", + "is-set": "^2.0.3", "is-shared-array-buffer": "^1.0.4", "is-string": "^1.1.1", "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.0", + "is-weakref": "^1.1.1", "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.3", + "object-inspect": "^1.13.4", "object-keys": "^1.1.1", "object.assign": "^4.1.7", "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.3", + "regexp.prototype.flags": "^1.5.4", "safe-array-concat": "^1.1.3", "safe-push-apply": "^1.0.0", "safe-regex-test": "^1.1.0", "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", "string.prototype.trim": "^1.2.10", "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", @@ -8263,7 +7966,7 @@ "typed-array-byte-offset": "^1.0.4", "typed-array-length": "^1.0.7", "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.18" + "which-typed-array": "^1.1.19" }, "engines": { "node": ">= 0.4" @@ -8318,12 +8021,15 @@ } }, "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", "dev": true, "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/es-to-primitive": { @@ -8417,15 +8123,12 @@ "dev": true }, "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.8.0" } }, "node_modules/escodegen": { @@ -8730,16 +8433,6 @@ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, - "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -8761,18 +8454,6 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -8819,32 +8500,10 @@ "eslint": ">=7.0.0" } }, - "node_modules/eslint-plugin-n/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-n/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/eslint-plugin-n/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -8873,16 +8532,6 @@ "eslint": ">=5.16.0" } }, - "node_modules/eslint-plugin-node/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/eslint-plugin-node/node_modules/eslint-plugin-es": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", @@ -8926,18 +8575,6 @@ "node": ">=4" } }, - "node_modules/eslint-plugin-node/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/eslint-plugin-node/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -9026,20 +8663,71 @@ "node": ">=8" } }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/eslint/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint/node_modules/find-up": { @@ -9058,6 +8746,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/eslint/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -9085,18 +8782,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/eslint/node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -9139,6 +8824,18 @@ "node": ">=8" } }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/esniff": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", @@ -9281,9 +8978,9 @@ } }, "node_modules/eth-gas-reporter/node_modules/ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.8.0.tgz", + "integrity": "sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==", "dev": true, "funding": [ { @@ -9296,36 +8993,36 @@ } ], "dependencies": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" + "@ethersproject/abi": "5.8.0", + "@ethersproject/abstract-provider": "5.8.0", + "@ethersproject/abstract-signer": "5.8.0", + "@ethersproject/address": "5.8.0", + "@ethersproject/base64": "5.8.0", + "@ethersproject/basex": "5.8.0", + "@ethersproject/bignumber": "5.8.0", + "@ethersproject/bytes": "5.8.0", + "@ethersproject/constants": "5.8.0", + "@ethersproject/contracts": "5.8.0", + "@ethersproject/hash": "5.8.0", + "@ethersproject/hdnode": "5.8.0", + "@ethersproject/json-wallets": "5.8.0", + "@ethersproject/keccak256": "5.8.0", + "@ethersproject/logger": "5.8.0", + "@ethersproject/networks": "5.8.0", + "@ethersproject/pbkdf2": "5.8.0", + "@ethersproject/properties": "5.8.0", + "@ethersproject/providers": "5.8.0", + "@ethersproject/random": "5.8.0", + "@ethersproject/rlp": "5.8.0", + "@ethersproject/sha2": "5.8.0", + "@ethersproject/signing-key": "5.8.0", + "@ethersproject/solidity": "5.8.0", + "@ethersproject/strings": "5.8.0", + "@ethersproject/transactions": "5.8.0", + "@ethersproject/units": "5.8.0", + "@ethersproject/wallet": "5.8.0", + "@ethersproject/web": "5.8.0", + "@ethersproject/wordlists": "5.8.0" } }, "node_modules/eth-lib": { @@ -9369,9 +9066,9 @@ } }, "node_modules/ethereum-bloom-filters/node_modules/@noble/hashes": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.1.tgz", - "integrity": "sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", "dev": true, "engines": { "node": "^14.21.3 || >=16" @@ -9392,64 +9089,6 @@ "@scure/bip39": "1.1.1" } }, - "node_modules/ethereumjs-abi": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", - "deprecated": "This library has been deprecated and usage is discouraged.", - "dev": true, - "dependencies": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ethereumjs-abi/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ethereumjs-abi/node_modules/ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dev": true, - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, "node_modules/ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -9467,9 +9106,9 @@ } }, "node_modules/ethereumjs-util/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/ethereumjs-util/node_modules/ethereum-cryptography": { @@ -9496,9 +9135,9 @@ } }, "node_modules/ethers": { - "version": "6.13.5", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.13.5.tgz", - "integrity": "sha512-+knKNieu5EKRThQJWwqaJ10a6HE9sSehGeqWN65//wE7j47ZpFhKAnHB/JJFibwwg61I/koxaPsXbXpD/skNOQ==", + "version": "6.14.4", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.14.4.tgz", + "integrity": "sha512-Jm/dzRs2Z9iBrT6e9TvGxyb5YVKAPLlpna7hjxH7KH/++DSh2T/JVmQUv7iHI5E55hDbp/gEVvstWYXVxXFzsA==", "dev": true, "funding": [ { @@ -9547,13 +9186,6 @@ "undici-types": "~6.19.2" } }, - "node_modules/ethers/node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "dev": true, - "peer": true - }, "node_modules/ethers/node_modules/undici-types": { "version": "6.19.8", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", @@ -9608,20 +9240,6 @@ "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", "dev": true }, - "node_modules/ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "dev": true, - "dependencies": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, "node_modules/ethlint": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/ethlint/-/ethlint-1.2.5.tgz", @@ -10103,9 +9721,9 @@ "dev": true }, "node_modules/fastq": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", - "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -10121,9 +9739,9 @@ } }, "node_modules/fdir": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", - "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", "dev": true, "peerDependencies": { "picomatch": "^3 || ^4" @@ -10329,9 +9947,9 @@ } }, "node_modules/flatted": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", - "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true }, "node_modules/follow-redirects": { @@ -10355,9 +9973,9 @@ } }, "node_modules/for-each": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.4.tgz", - "integrity": "sha512-kKaIINnFpzW6ffJNDjjyjrk21BkDx38c0xa/klsT8VzLCaMEefv4ZTacrcVR4DmgTeBra++jMDAfS/tS799YDw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "dev": true, "dependencies": { "is-callable": "^1.2.7" @@ -10400,13 +10018,15 @@ } }, "node_modules/form-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", - "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz", + "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==", "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", "mime-types": "^2.1.12" }, "engines": { @@ -10581,17 +10201,17 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", - "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "dependencies": { - "call-bind-apply-helpers": "^1.0.1", + "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "get-proto": "^1.0.0", + "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", @@ -10723,77 +10343,6 @@ "testrpc-sc": "index.js" } }, - "node_modules/ghost-testrpc/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ghost-testrpc/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ghost-testrpc/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/ghost-testrpc/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/ghost-testrpc/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ghost-testrpc/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ghost-testrpc/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/glob": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", @@ -10869,6 +10418,15 @@ "node": ">=10.13.0" } }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/glob/node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -10988,16 +10546,6 @@ "node": ">=8" } }, - "node_modules/globby/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/globby/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -11019,18 +10567,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/globby/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/globby/node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -11197,17 +10733,14 @@ } }, "node_modules/hardhat": { - "version": "2.22.18", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.22.18.tgz", - "integrity": "sha512-2+kUz39gvMo56s75cfLBhiFedkQf+gXdrwCcz4R/5wW0oBdwiyfj2q9BIkMoaA0WIGYYMU2I1Cc4ucTunhfjzw==", + "version": "2.24.3", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.24.3.tgz", + "integrity": "sha512-2dhniQ1wW8/Wh3mP91kKcEnVva93mWYRaYLkV+a0ATkUEKrByGF2P5hCrlNHbqYP//D7L0CGYLtDjPQY6ILaVA==", "dev": true, "dependencies": { + "@ethereumjs/util": "^9.1.0", "@ethersproject/abi": "^5.1.2", - "@metamask/eth-sig-util": "^4.0.0", - "@nomicfoundation/edr": "^0.7.0", - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-tx": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", + "@nomicfoundation/edr": "^0.11.1", "@nomicfoundation/solidity-analyzer": "^0.1.0", "@sentry/node": "^5.18.1", "@types/bn.js": "^5.1.0", @@ -11222,7 +10755,6 @@ "enquirer": "^2.3.0", "env-paths": "^2.2.0", "ethereum-cryptography": "^1.0.3", - "ethereumjs-abi": "^0.6.8", "find-up": "^5.0.0", "fp-ts": "1.19.3", "fs-extra": "^7.0.1", @@ -11231,6 +10763,7 @@ "json-stream-stringify": "^3.1.4", "keccak": "^3.0.2", "lodash": "^4.17.11", + "micro-eth-signer": "^0.14.0", "mnemonist": "^0.38.0", "mocha": "^10.0.0", "p-map": "^4.0.0", @@ -11286,6 +10819,37 @@ "node": ">=8" } }, + "node_modules/hardhat-contract-sizer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/hardhat-contract-sizer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/hardhat-contract-sizer/node_modules/cli-table3": { "version": "0.6.5", "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", @@ -11301,6 +10865,33 @@ "@colors/colors": "1.5.0" } }, + "node_modules/hardhat-contract-sizer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/hardhat-contract-sizer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/hardhat-contract-sizer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/hardhat-contract-sizer/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -11336,6 +10927,18 @@ "node": ">=8" } }, + "node_modules/hardhat-contract-sizer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/hardhat-gas-reporter": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.10.tgz", @@ -11450,9 +11053,9 @@ } }, "node_modules/hardhat/node_modules/readdirp": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", - "integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, "engines": { "node": ">= 14.18.0" @@ -11526,9 +11129,9 @@ } }, "node_modules/hardhat/node_modules/undici": { - "version": "5.28.5", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz", - "integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", + "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", "dev": true, "dependencies": { "@fastify/busboy": "^2.0.0" @@ -11537,15 +11140,6 @@ "node": ">=14.0" } }, - "node_modules/hardhat/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/hardhat/node_modules/ws": { "version": "7.5.10", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", @@ -11580,12 +11174,12 @@ } }, "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/has-property-descriptors": { @@ -11833,9 +11427,9 @@ "dev": true }, "node_modules/htmlparser2": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", - "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -11847,8 +11441,20 @@ "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", - "domutils": "^3.1.0", - "entities": "^4.5.0" + "domutils": "^3.2.1", + "entities": "^6.0.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/http-basic": { @@ -11867,9 +11473,9 @@ } }, "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "dev": true }, "node_modules/http-errors": { @@ -12450,6 +12056,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", @@ -13111,6 +12729,76 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/loupe": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", @@ -13313,12 +13001,71 @@ "node": ">= 0.6" } }, + "node_modules/micro-eth-signer": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/micro-eth-signer/-/micro-eth-signer-0.14.0.tgz", + "integrity": "sha512-5PLLzHiVYPWClEvZIXXFu5yutzpadb73rnQCpUqIHu3No3coFuWQNfE5tkBQJ7djuLYl6aRLaS0MgWJYGoqiBw==", + "dev": true, + "dependencies": { + "@noble/curves": "~1.8.1", + "@noble/hashes": "~1.7.1", + "micro-packed": "~0.7.2" + } + }, + "node_modules/micro-eth-signer/node_modules/@noble/curves": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.2.tgz", + "integrity": "sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g==", + "dev": true, + "dependencies": { + "@noble/hashes": "1.7.2" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/micro-eth-signer/node_modules/@noble/hashes": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.2.tgz", + "integrity": "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ==", + "dev": true, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/micro-ftch": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==", "dev": true }, + "node_modules/micro-packed": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/micro-packed/-/micro-packed-0.7.3.tgz", + "integrity": "sha512-2Milxs+WNC00TRlem41oRswvw31146GiSaoCT7s3Xi2gMUglW5QBeqlQaZeHr5tJx9nm3i57LNXPqxOOaWtTYg==", + "dev": true, + "dependencies": { + "@scure/base": "~1.2.5" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/micro-packed/node_modules/@scure/base": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.6.tgz", + "integrity": "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==", + "dev": true, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", @@ -13436,6 +13183,18 @@ "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", "dev": true }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", @@ -13604,6 +13363,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/mocha/node_modules/braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", @@ -13649,6 +13417,18 @@ "node": ">=0.3.1" } }, + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/mocha/node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -13703,6 +13483,15 @@ "node": ">= 6" } }, + "node_modules/mocha/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/mocha/node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -13855,30 +13644,6 @@ "buffer": "^5.5.0" } }, - "node_modules/multibase/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/multicodec": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", @@ -13900,30 +13665,6 @@ "varint": "^5.0.0" } }, - "node_modules/multihashes/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/multihashes/node_modules/multibase": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", @@ -13936,9 +13677,9 @@ } }, "node_modules/nan": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz", - "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==", + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", + "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", "dev": true, "optional": true }, @@ -14055,9 +13796,9 @@ } }, "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dev": true, "dependencies": { "whatwg-url": "^5.0.0" @@ -14091,6 +13832,15 @@ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true }, + "node_modules/nofilter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", + "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", @@ -17387,9 +17137,9 @@ } }, "node_modules/parse-headers": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", - "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.6.tgz", + "integrity": "sha512-Tz11t3uKztEW5FEVZnj1ox8GKblWn+PvHY9TmJV5Mll2uHEwRdR/5Li1OlXoECjLYkApdhWy44ocONwXLiKO5A==", "dev": true }, "node_modules/parse-json": { @@ -17405,12 +17155,12 @@ } }, "node_modules/parse5": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", - "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, "dependencies": { - "entities": "^4.5.0" + "entities": "^6.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" @@ -17441,6 +17191,18 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -17624,9 +17386,9 @@ } }, "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", "dev": true, "engines": { "node": ">= 6" @@ -17702,31 +17464,31 @@ } }, "node_modules/prettier-plugin-solidity": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.4.2.tgz", - "integrity": "sha512-VVD/4XlDjSzyPWWCPW8JEleFa8JNKFYac5kNlMjVXemQyQZKfpekPMhFZSePuXB6L+RixlFvWe20iacGjFYrLw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.4.1.tgz", + "integrity": "sha512-Mq8EtfacVZ/0+uDKTtHZGW3Aa7vEbX/BNx63hmVg6YTiTXSiuKP0amj0G6pGwjmLaOfymWh3QgXEZkjQbU8QRg==", "dev": true, "dependencies": { - "@solidity-parser/parser": "^0.19.0", - "semver": "^7.6.3" + "@solidity-parser/parser": "^0.18.0", + "semver": "^7.5.4" }, "engines": { - "node": ">=18" + "node": ">=16" }, "peerDependencies": { "prettier": ">=2.3.0" } }, "node_modules/prettier-plugin-solidity/node_modules/@solidity-parser/parser": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.19.0.tgz", - "integrity": "sha512-RV16k/qIxW/wWc+mLzV3ARyKUaMUTBy9tOLMzFhtNSKYeTAanQ3a5MudJKf/8arIFnA2L27SNjarQKmFg0w/jA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.18.0.tgz", + "integrity": "sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==", "dev": true }, "node_modules/prettier-plugin-solidity/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -17815,9 +17577,9 @@ } }, "node_modules/pump": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", - "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", "dev": true, "dependencies": { "end-of-stream": "^1.1.0", @@ -18477,28 +18239,6 @@ "node": ">=6.0.0" } }, - "node_modules/recursive-readdir/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/recursive-readdir/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -18539,21 +18279,6 @@ "node": ">=4" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, "node_modules/regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", @@ -18877,9 +18602,9 @@ } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, "engines": { "iojs": ">=1.0.0", @@ -18902,16 +18627,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/rimraf/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -18933,18 +18648,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/ripemd160": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", @@ -18977,9 +18680,9 @@ } }, "node_modules/rlp/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/rsvp": { @@ -19144,16 +18847,6 @@ "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==", "dev": true }, - "node_modules/sc-istanbul/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/sc-istanbul/node_modules/esprima": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", @@ -19193,18 +18886,6 @@ "node": ">=0.10.0" } }, - "node_modules/sc-istanbul/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/sc-istanbul/node_modules/resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", @@ -19242,20 +18923,26 @@ "dev": true }, "node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.4.tgz", + "integrity": "sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw==", "dev": true, "hasInstallScript": true, "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", + "elliptic": "^6.5.7", + "node-addon-api": "^5.0.0", "node-gyp-build": "^4.2.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=18.0.0" } }, + "node_modules/secp256k1/node_modules/node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", + "dev": true + }, "node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", @@ -19584,16 +19271,6 @@ "node": ">=4" } }, - "node_modules/shelljs/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/shelljs/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -19615,18 +19292,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/shelljs/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/side-channel": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", @@ -19954,21 +19619,21 @@ "dev": true }, "node_modules/sol2uml": { - "version": "2.5.21", - "resolved": "https://registry.npmjs.org/sol2uml/-/sol2uml-2.5.21.tgz", - "integrity": "sha512-xgBPXIrtl+nT94WOk6ws9yw/L7ylwakA4uTCJonQeBCckFD0JEhfSXbaNujOtmXhRKqXwHKSeQSw+AN1nC/vhg==", + "version": "2.5.22", + "resolved": "https://registry.npmjs.org/sol2uml/-/sol2uml-2.5.22.tgz", + "integrity": "sha512-0Hy2dNwVUKUCRnqkl82oGlW2ygngvFwonSRiqUTA8K6Li0E8ly6tU1jzwfx4863cinwpskOwXCnghP+g3A96Ug==", "dev": true, "dependencies": { "@aduh95/viz.js": "^3.7.0", - "@solidity-parser/parser": "^0.16.1", - "axios": "^1.6.0", + "@solidity-parser/parser": "^0.20.1", + "axios": "^1.10.0", "axios-debug-log": "^1.0.0", - "cli-color": "^2.0.3", - "commander": "^11.1.0", + "cli-color": "^2.0.4", + "commander": "^12.1.0", "convert-svg-to-png": "^0.6.4", - "debug": "^4.3.4", + "debug": "^4.4.1", "diff-match-patch": "^1.0.5", - "ethers": "^5.7.2", + "ethers": "^5.8.0", "js-graph-algorithms": "^1.0.18", "klaw": "^4.1.0" }, @@ -19977,27 +19642,24 @@ } }, "node_modules/sol2uml/node_modules/@solidity-parser/parser": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.16.2.tgz", - "integrity": "sha512-PI9NfoA3P8XK2VBkK5oIfRgKDsicwDZfkVq9ZTBCQYGOP1N2owgY2dyLGyU5/J/hQs8KRk55kdmvTLjy3Mu3vg==", - "dev": true, - "dependencies": { - "antlr4ts": "^0.5.0-alpha.4" - } + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.20.1.tgz", + "integrity": "sha512-58I2sRpzaQUN+jJmWbHfbWf9AKfzqCI8JAdFB0vbyY+u8tBRcuTt9LxzasvR0LGQpcRv97eyV7l61FQ3Ib7zVw==", + "dev": true }, "node_modules/sol2uml/node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/sol2uml/node_modules/ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.8.0.tgz", + "integrity": "sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==", "dev": true, "funding": [ { @@ -20010,42 +19672,42 @@ } ], "dependencies": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" + "@ethersproject/abi": "5.8.0", + "@ethersproject/abstract-provider": "5.8.0", + "@ethersproject/abstract-signer": "5.8.0", + "@ethersproject/address": "5.8.0", + "@ethersproject/base64": "5.8.0", + "@ethersproject/basex": "5.8.0", + "@ethersproject/bignumber": "5.8.0", + "@ethersproject/bytes": "5.8.0", + "@ethersproject/constants": "5.8.0", + "@ethersproject/contracts": "5.8.0", + "@ethersproject/hash": "5.8.0", + "@ethersproject/hdnode": "5.8.0", + "@ethersproject/json-wallets": "5.8.0", + "@ethersproject/keccak256": "5.8.0", + "@ethersproject/logger": "5.8.0", + "@ethersproject/networks": "5.8.0", + "@ethersproject/pbkdf2": "5.8.0", + "@ethersproject/properties": "5.8.0", + "@ethersproject/providers": "5.8.0", + "@ethersproject/random": "5.8.0", + "@ethersproject/rlp": "5.8.0", + "@ethersproject/sha2": "5.8.0", + "@ethersproject/signing-key": "5.8.0", + "@ethersproject/solidity": "5.8.0", + "@ethersproject/strings": "5.8.0", + "@ethersproject/transactions": "5.8.0", + "@ethersproject/units": "5.8.0", + "@ethersproject/wallet": "5.8.0", + "@ethersproject/web": "5.8.0", + "@ethersproject/wordlists": "5.8.0" } }, "node_modules/solc": { - "version": "0.8.28", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.28.tgz", - "integrity": "sha512-AFCiJ+b4RosyyNhnfdVH4ZR1+TxiL91iluPjw0EJslIu4LXGM9NYqi2z5y8TqochC4tcH9QsHfwWhOIC9jPDKA==", + "version": "0.8.30", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.30.tgz", + "integrity": "sha512-9Srk/gndtBmoUbg4CE6ypAzPQlElv8ntbnl6SigUBAzgXKn35v87sj04uZeoZWjtDkdzT0qKFcIo/wl63UMxdw==", "dev": true, "dependencies": { "command-exists": "^1.2.8", @@ -20060,7 +19722,7 @@ "solcjs": "solc.js" }, "engines": { - "node": ">=10.0.0" + "node": ">=12.0.0" } }, "node_modules/solc/node_modules/commander": { @@ -20109,9 +19771,9 @@ } }, "node_modules/solidity-ast": { - "version": "0.4.59", - "resolved": "https://registry.npmjs.org/solidity-ast/-/solidity-ast-0.4.59.tgz", - "integrity": "sha512-I+CX0wrYUN9jDfYtcgWSe+OAowaXy8/1YQy7NS4ni5IBDmIYBq7ZzaP/7QqouLjzZapmQtvGLqCaYgoUWqBo5g==", + "version": "0.4.60", + "resolved": "https://registry.npmjs.org/solidity-ast/-/solidity-ast-0.4.60.tgz", + "integrity": "sha512-UwhasmQ37ji1ul8cIp0XlrQ/+SVQhy09gGqJH4jnwdo2TgI6YIByzi0PI5QvIGcIdFOs1pbSmJW1pnWB7AVh2w==", "dev": true }, "node_modules/solidity-code-metrics": { @@ -20140,13 +19802,13 @@ } }, "node_modules/solidity-coverage": { - "version": "0.8.14", - "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.14.tgz", - "integrity": "sha512-ItAAObe5GaEOp20kXC2BZRnph+9P7Rtoqg2mQc2SXGEHgSDF2wWd1Wxz3ntzQWXkbCtIIGdJT918HG00cObwbA==", + "version": "0.8.16", + "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.16.tgz", + "integrity": "sha512-qKqgm8TPpcnCK0HCDLJrjbOA2tQNEJY4dHX/LSSQ9iwYFS973MwjtgYn2Iv3vfCEQJTj5xtm4cuUMzlJsJSMbg==", "dev": true, "dependencies": { "@ethersproject/abi": "^5.0.9", - "@solidity-parser/parser": "^0.19.0", + "@solidity-parser/parser": "^0.20.1", "chalk": "^2.4.2", "death": "^1.1.0", "difflib": "^0.2.4", @@ -20173,74 +19835,15 @@ } }, "node_modules/solidity-coverage/node_modules/@solidity-parser/parser": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.19.0.tgz", - "integrity": "sha512-RV16k/qIxW/wWc+mLzV3ARyKUaMUTBy9tOLMzFhtNSKYeTAanQ3a5MudJKf/8arIFnA2L27SNjarQKmFg0w/jA==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.20.1.tgz", + "integrity": "sha512-58I2sRpzaQUN+jJmWbHfbWf9AKfzqCI8JAdFB0vbyY+u8tBRcuTt9LxzasvR0LGQpcRv97eyV7l61FQ3Ib7zVw==", "dev": true }, - "node_modules/solidity-coverage/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/solidity-coverage/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/solidity-coverage/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/solidity-coverage/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/solidity-coverage/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/solidity-coverage/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/solidity-coverage/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -20249,18 +19852,6 @@ "node": ">=10" } }, - "node_modules/solidity-coverage/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/solidity-docgen": { "version": "0.6.0-beta.36", "resolved": "https://registry.npmjs.org/solidity-docgen/-/solidity-docgen-0.6.0-beta.36.tgz", @@ -20463,16 +20054,6 @@ "node": ">=0.10.0" } }, - "node_modules/solparse/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/solparse/node_modules/browser-stdout": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", @@ -20523,15 +20104,6 @@ "node": ">=0.3.1" } }, - "node_modules/solparse/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/solparse/node_modules/find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -20611,18 +20183,6 @@ "node": ">=4" } }, - "node_modules/solparse/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/solparse/node_modules/minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", @@ -20949,16 +20509,10 @@ "node": ">=0.10.0" } }, - "node_modules/sshpk/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - }, "node_modules/stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz", + "integrity": "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==", "dev": true, "dependencies": { "type-fest": "^0.7.1" @@ -21023,6 +20577,19 @@ "node": ">= 0.8" } }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/strict-uri-encode": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", @@ -21175,15 +20742,15 @@ } }, "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/supports-preserve-symlinks-flag": { @@ -21351,30 +20918,6 @@ "node": ">=10" } }, - "node_modules/swarm-js/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/swarm-js/node_modules/cacheable-lookup": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", @@ -21571,14 +21114,15 @@ "dev": true }, "node_modules/then-request/node_modules/form-data": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.2.tgz", - "integrity": "sha512-GgwY0PS7DbXqajuGf4OYlsrIu3zgxD6Vvql43IBhm6MahqA5SK/7mwhtNj2AdH2z35YR34ujJ7BN+3fFC3jP5Q==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.3.tgz", + "integrity": "sha512-XHIrMD0NpDrNM/Ckf7XJiBbLl57KEhT3+i3yY+eWm+cqYZJQTZrKo8Y8AWKnuV5GT4scfuUGt9LzNoIx3dU1nQ==", "dev": true, "dependencies": { "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.35", "safe-buffer": "^5.2.1" }, "engines": { @@ -21614,16 +21158,19 @@ } }, "node_modules/tinyglobby": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.10.tgz", - "integrity": "sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==", + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", "dev": true, "dependencies": { - "fdir": "^6.4.2", + "fdir": "^6.4.4", "picomatch": "^4.0.2" }, "engines": { "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, "node_modules/title-case": { @@ -21763,6 +21310,13 @@ "json5": "lib/cli.js" } }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "dev": true, + "peer": true + }, "node_modules/tsort": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", @@ -21782,15 +21336,9 @@ } }, "node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", - "dev": true - }, - "node_modules/tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==", + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", "dev": true }, "node_modules/type": { @@ -21981,43 +21529,19 @@ "through": "^2.3.8" } }, - "node_modules/unbzip2-stream/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/undici": { - "version": "6.21.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.1.tgz", - "integrity": "sha512-q/1rj5D0/zayJB2FraXdaWxbhWiNKDvu8naDT2dl1yTlvJp4BLtOcp2a5BvgGNQpYYJzau7tf1WgKv3b+7mqpQ==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.10.0.tgz", + "integrity": "sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==", "dev": true, "engines": { - "node": ">=18.17" + "node": ">=20.18.1" } }, "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", + "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", "dev": true }, "node_modules/unicode-canonical-property-names-ecmascript": { @@ -22151,9 +21675,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", - "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "dev": true, "funding": [ { @@ -22274,14 +21798,10 @@ } }, "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], "bin": { "uuid": "dist/bin/uuid" } @@ -22397,9 +21917,9 @@ } }, "node_modules/web3-core-helpers/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-core-helpers/node_modules/web3-utils": { @@ -22437,9 +21957,9 @@ } }, "node_modules/web3-core-method/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-core-method/node_modules/web3-core-helpers": { @@ -22509,9 +22029,9 @@ } }, "node_modules/web3-core-requestmanager/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-core-requestmanager/node_modules/web3-core-helpers": { @@ -22554,9 +22074,9 @@ } }, "node_modules/web3-core-subscriptions/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-core-subscriptions/node_modules/web3-core-helpers": { @@ -22592,18 +22112,18 @@ "dev": true }, "node_modules/web3-core/node_modules/bignumber.js": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", - "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", + "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", "dev": true, "engines": { "node": "*" } }, "node_modules/web3-core/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-core/node_modules/web3-core-helpers": { @@ -22669,9 +22189,9 @@ } }, "node_modules/web3-eth-abi/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-eth-abi/node_modules/web3-utils": { @@ -22713,6 +22233,83 @@ "node": ">=8.0.0" } }, + "node_modules/web3-eth-accounts/node_modules/@ethereumjs/rlp": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", + "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", + "dev": true, + "bin": { + "rlp": "bin/rlp" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/web3-eth-accounts/node_modules/@ethereumjs/util": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", + "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", + "dev": true, + "dependencies": { + "@ethereumjs/rlp": "^4.0.1", + "ethereum-cryptography": "^2.0.0", + "micro-ftch": "^0.3.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/web3-eth-accounts/node_modules/@noble/curves": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", + "dev": true, + "dependencies": { + "@noble/hashes": "1.4.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/web3-eth-accounts/node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "dev": true, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/web3-eth-accounts/node_modules/@scure/bip32": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", + "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", + "dev": true, + "dependencies": { + "@noble/curves": "~1.4.0", + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/web3-eth-accounts/node_modules/@scure/bip39": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", + "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", + "dev": true, + "dependencies": { + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/web3-eth-accounts/node_modules/eth-lib": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", @@ -22724,6 +22321,31 @@ "xhr-request-promise": "^0.1.2" } }, + "node_modules/web3-eth-accounts/node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dev": true, + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/web3-eth-accounts/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/web3-eth-accounts/node_modules/web3-core-helpers": { "version": "1.10.4", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", @@ -22751,9 +22373,9 @@ } }, "node_modules/web3-eth-accounts/node_modules/web3-eth-iban/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-eth-contract": { @@ -22776,9 +22398,9 @@ } }, "node_modules/web3-eth-contract/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-eth-contract/node_modules/web3-core-helpers": { @@ -22852,9 +22474,9 @@ } }, "node_modules/web3-eth-ens/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-eth-ens/node_modules/web3-core-helpers": { @@ -22922,9 +22544,9 @@ } }, "node_modules/web3-eth-iban/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-eth-iban/node_modules/web3-utils": { @@ -22969,9 +22591,9 @@ "dev": true }, "node_modules/web3-eth-personal/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-eth-personal/node_modules/web3-core-helpers": { @@ -23001,9 +22623,9 @@ } }, "node_modules/web3-eth/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-eth/node_modules/web3-core-helpers": { @@ -23075,9 +22697,9 @@ } }, "node_modules/web3-providers-http/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-providers-http/node_modules/cross-fetch": { @@ -23089,6 +22711,26 @@ "node-fetch": "^2.7.0" } }, + "node_modules/web3-providers-http/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/web3-providers-http/node_modules/web3-core-helpers": { "version": "1.10.4", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", @@ -23129,9 +22771,9 @@ } }, "node_modules/web3-providers-ipc/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-providers-ipc/node_modules/web3-core-helpers": { @@ -23175,9 +22817,9 @@ } }, "node_modules/web3-providers-ws/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-providers-ws/node_modules/web3-core-helpers": { @@ -23241,6 +22883,32 @@ "node": ">=8.0.0" } }, + "node_modules/web3-utils/node_modules/@ethereumjs/rlp": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", + "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", + "dev": true, + "bin": { + "rlp": "bin/rlp" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/web3-utils/node_modules/@ethereumjs/util": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", + "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", + "dev": true, + "dependencies": { + "@ethereumjs/rlp": "^4.0.1", + "ethereum-cryptography": "^2.0.0", + "micro-ftch": "^0.3.1" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/web3-utils/node_modules/@noble/curves": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", @@ -23293,9 +22961,9 @@ } }, "node_modules/web3-utils/node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "node_modules/web3-utils/node_modules/ethereum-cryptography": { @@ -23471,15 +23139,16 @@ "dev": true }, "node_modules/which-typed-array": { - "version": "1.1.18", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", - "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "for-each": "^0.3.3", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" }, @@ -23605,6 +23274,39 @@ "node": ">=8" } }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -23735,6 +23437,7 @@ "version": "0.0.6", "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dev": true, "engines": { "node": ">=0.10.32" @@ -23892,9 +23595,9 @@ } }, "@babel/cli": { - "version": "7.26.4", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.26.4.tgz", - "integrity": "sha512-+mORf3ezU3p3qr+82WvJSnQNE1GAYeoCfEv4fik6B5/2cvKZ75AX8oawWQdXtM9MmndooQj15Jr9kelRFWsuRw==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.27.2.tgz", + "integrity": "sha512-cfd7DnGlhH6OIyuPSSj3vcfIdnbXukhAyKY8NaZrFadC7pXyL9mOL5WgjcptiEJLi5k3j8aYvLIVCzezrWTaiA==", "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.25", @@ -23926,16 +23629,6 @@ "dev": true, "optional": true }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", @@ -24020,15 +23713,6 @@ "binary-extensions": "^2.0.0" } }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -24056,39 +23740,38 @@ } }, "@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.25.9", + "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "picocolors": "^1.1.1" } }, "@babel/compat-data": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", - "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.5.tgz", + "integrity": "sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==", "dev": true }, "@babel/core": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.8.tgz", - "integrity": "sha512-l+lkXCHS6tQEc5oUpK28xBOZ6+HwaH7YwoYQbLFiYb4nS2/l1tKnZEtEWkD0GuiYdvArf9qBS0XlQGXzPMsNqQ==", + "version": "7.27.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz", + "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.8", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.7", - "@babel/parser": "^7.26.8", - "@babel/template": "^7.26.8", - "@babel/traverse": "^7.26.8", - "@babel/types": "^7.26.8", - "@types/gensync": "^1.0.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.27.3", + "@babel/helpers": "^7.27.4", + "@babel/parser": "^7.27.4", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.27.4", + "@babel/types": "^7.27.3", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -24105,35 +23788,35 @@ } }, "@babel/generator": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.8.tgz", - "integrity": "sha512-ef383X5++iZHWAXX0SXQR6ZyQhw/0KtTkrTz61WXRhFM6dhpHulO/RJz79L8S6ugZHJkOOkUrUdxgdF2YiPFnA==", + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz", + "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==", "dev": true, "requires": { - "@babel/parser": "^7.26.8", - "@babel/types": "^7.26.8", + "@babel/parser": "^7.27.5", + "@babel/types": "^7.27.3", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" } }, "@babel/helper-annotate-as-pure": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", - "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "dev": true, "requires": { - "@babel/types": "^7.25.9" + "@babel/types": "^7.27.3" } }, "@babel/helper-compilation-targets": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", - "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -24148,17 +23831,17 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", - "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", + "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/traverse": "^7.25.9", + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.27.1", "semver": "^6.3.1" }, "dependencies": { @@ -24171,12 +23854,12 @@ } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz", - "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", + "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-annotate-as-pure": "^7.27.1", "regexpu-core": "^6.2.0", "semver": "^6.3.1" }, @@ -24190,9 +23873,9 @@ } }, "@babel/helper-define-polyfill-provider": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", - "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz", + "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.22.6", @@ -24203,178 +23886,178 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", - "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", "dev": true, "requires": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" } }, "@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "dev": true, "requires": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" } }, "@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", + "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.3" } }, "@babel/helper-optimise-call-expression": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", - "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", "dev": true, "requires": { - "@babel/types": "^7.25.9" + "@babel/types": "^7.27.1" } }, "@babel/helper-plugin-utils": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", - "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", - "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-wrap-function": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" } }, "@babel/helper-replace-supers": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", - "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/traverse": "^7.26.5" + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", - "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", "dev": true, "requires": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" } }, "@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", - "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz", + "integrity": "sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==", "dev": true, "requires": { - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/template": "^7.27.1", + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" } }, "@babel/helpers": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", - "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz", + "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==", "dev": true, "requires": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.7" + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.6" } }, "@babel/parser": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.8.tgz", - "integrity": "sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==", + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz", + "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==", "dev": true, "requires": { - "@babel/types": "^7.26.8" + "@babel/types": "^7.27.3" } }, "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", - "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", + "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" } }, "@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", - "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", - "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", - "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/plugin-transform-optional-chaining": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" } }, "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", - "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz", + "integrity": "sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" } }, "@babel/plugin-proposal-private-property-in-object": { @@ -24385,21 +24068,21 @@ "requires": {} }, "@babel/plugin-syntax-import-assertions": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", - "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-syntax-import-attributes": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", - "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-syntax-unicode-sets-regex": { @@ -24413,85 +24096,85 @@ } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", - "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-async-generator-functions": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz", - "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz", + "integrity": "sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-remap-async-to-generator": "^7.25.9", - "@babel/traverse": "^7.26.8" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.27.1" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", - "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-remap-async-to-generator": "^7.25.9" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz", - "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.26.5" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", - "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.5.tgz", + "integrity": "sha512-JF6uE2s67f0y2RZcm2kpAUEbD50vH62TyWVebxwHAlbSdM49VqPz8t4a1uIjp4NIOIZ4xzLfjY5emt/RCyC7TQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-class-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", - "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-class-static-block": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", - "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz", + "integrity": "sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-classes": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", - "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz", + "integrity": "sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9", - "@babel/traverse": "^7.25.9", + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.27.1", "globals": "^11.1.0" }, "dependencies": { @@ -24504,478 +24187,478 @@ } }, "@babel/plugin-transform-computed-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", - "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/template": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" } }, "@babel/plugin-transform-destructuring": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", - "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.3.tgz", + "integrity": "sha512-s4Jrok82JpiaIprtY2nHsYmrThKvvwgHwjgd7UMiYhZaN0asdXNLr0y+NjTfkA7SyQE5i2Fb7eawUOZmLvyqOA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", - "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", - "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", - "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-dynamic-import": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", - "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", - "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", + "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-export-namespace-from": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", - "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-for-of": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", - "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" } }, "@babel/plugin-transform-function-name": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", - "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" } }, "@babel/plugin-transform-json-strings": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", - "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", - "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", - "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", + "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", - "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", - "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", - "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", - "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", + "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.1" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", - "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", - "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-new-target": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", - "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.26.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz", - "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.26.5" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-numeric-separator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", - "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-object-rest-spread": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", - "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.3.tgz", + "integrity": "sha512-7ZZtznF9g4l2JCImCo5LNKFHB5eXnN39lLtLY5Tg+VkR0jwOt7TBciMckuiQIOIW7L5tkQOCh3bVGYeXgMx52Q==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/plugin-transform-parameters": "^7.25.9" + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.27.3", + "@babel/plugin-transform-parameters": "^7.27.1" } }, "@babel/plugin-transform-object-super": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", - "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" } }, "@babel/plugin-transform-optional-catch-binding": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", - "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-optional-chaining": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", - "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", + "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" } }, "@babel/plugin-transform-parameters": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", - "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz", + "integrity": "sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-private-methods": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", - "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-private-property-in-object": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", - "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-property-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", - "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-regenerator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", - "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.5.tgz", + "integrity": "sha512-uhB8yHerfe3MWnuLAhEbeQ4afVoqv8BQsPqrTv7e/jZ9y00kJL6l9a/f4OWaKxotmjzewfEyXE1vgDJenkQ2/Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9", - "regenerator-transform": "^0.15.2" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-regexp-modifiers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", - "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", - "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", - "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-spread": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", - "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", - "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-template-literals": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz", - "integrity": "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.26.5" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz", - "integrity": "sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.26.5" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", - "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-unicode-property-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", - "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", - "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", - "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" } }, "@babel/preset-env": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.8.tgz", - "integrity": "sha512-um7Sy+2THd697S4zJEfv/U5MHGJzkN2xhtsR3T/SWRbVSic62nbISh51VVfU9JiO/L/Z97QczHTaFVkOU8IzNg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.26.8", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.2.tgz", + "integrity": "sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.27.1", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.26.0", - "@babel/plugin-syntax-import-attributes": "^7.26.0", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.25.9", - "@babel/plugin-transform-async-generator-functions": "^7.26.8", - "@babel/plugin-transform-async-to-generator": "^7.25.9", - "@babel/plugin-transform-block-scoped-functions": "^7.26.5", - "@babel/plugin-transform-block-scoping": "^7.25.9", - "@babel/plugin-transform-class-properties": "^7.25.9", - "@babel/plugin-transform-class-static-block": "^7.26.0", - "@babel/plugin-transform-classes": "^7.25.9", - "@babel/plugin-transform-computed-properties": "^7.25.9", - "@babel/plugin-transform-destructuring": "^7.25.9", - "@babel/plugin-transform-dotall-regex": "^7.25.9", - "@babel/plugin-transform-duplicate-keys": "^7.25.9", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-dynamic-import": "^7.25.9", - "@babel/plugin-transform-exponentiation-operator": "^7.26.3", - "@babel/plugin-transform-export-namespace-from": "^7.25.9", - "@babel/plugin-transform-for-of": "^7.25.9", - "@babel/plugin-transform-function-name": "^7.25.9", - "@babel/plugin-transform-json-strings": "^7.25.9", - "@babel/plugin-transform-literals": "^7.25.9", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", - "@babel/plugin-transform-member-expression-literals": "^7.25.9", - "@babel/plugin-transform-modules-amd": "^7.25.9", - "@babel/plugin-transform-modules-commonjs": "^7.26.3", - "@babel/plugin-transform-modules-systemjs": "^7.25.9", - "@babel/plugin-transform-modules-umd": "^7.25.9", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-new-target": "^7.25.9", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6", - "@babel/plugin-transform-numeric-separator": "^7.25.9", - "@babel/plugin-transform-object-rest-spread": "^7.25.9", - "@babel/plugin-transform-object-super": "^7.25.9", - "@babel/plugin-transform-optional-catch-binding": "^7.25.9", - "@babel/plugin-transform-optional-chaining": "^7.25.9", - "@babel/plugin-transform-parameters": "^7.25.9", - "@babel/plugin-transform-private-methods": "^7.25.9", - "@babel/plugin-transform-private-property-in-object": "^7.25.9", - "@babel/plugin-transform-property-literals": "^7.25.9", - "@babel/plugin-transform-regenerator": "^7.25.9", - "@babel/plugin-transform-regexp-modifiers": "^7.26.0", - "@babel/plugin-transform-reserved-words": "^7.25.9", - "@babel/plugin-transform-shorthand-properties": "^7.25.9", - "@babel/plugin-transform-spread": "^7.25.9", - "@babel/plugin-transform-sticky-regex": "^7.25.9", - "@babel/plugin-transform-template-literals": "^7.26.8", - "@babel/plugin-transform-typeof-symbol": "^7.26.7", - "@babel/plugin-transform-unicode-escapes": "^7.25.9", - "@babel/plugin-transform-unicode-property-regex": "^7.25.9", - "@babel/plugin-transform-unicode-regex": "^7.25.9", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.27.1", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.27.1", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.27.1", + "@babel/plugin-transform-classes": "^7.27.1", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.27.1", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-exponentiation-operator": "^7.27.1", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.27.1", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.27.1", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.27.2", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.1", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.27.1", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.11.0", @@ -25004,9 +24687,9 @@ } }, "@babel/register": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.25.9.tgz", - "integrity": "sha512-8D43jXtGsYmEeDvm4MWHYUpWf8iiXgWYx3fW7E7Wb7Oe6FWqJPl5K6TuFW0dOwNZzEE5rjlaSJYH9JjrUKJszA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.27.1.tgz", + "integrity": "sha512-K13lQpoV54LATKkzBpBAEu1GGSIRzxR9f4IN4V8DCDgiUMo2UDGagEZr3lPeVNJPLkWUi5JE4hCHKneVTwQlYQ==", "dev": true, "requires": { "clone-deep": "^4.0.1", @@ -25017,36 +24700,33 @@ } }, "@babel/runtime": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.7.tgz", - "integrity": "sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.14.0" - } + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", + "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", + "dev": true }, "@babel/template": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.8.tgz", - "integrity": "sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dev": true, "requires": { - "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.26.8", - "@babel/types": "^7.26.8" + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" } }, "@babel/traverse": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.8.tgz", - "integrity": "sha512-nic9tRkjYH0oB2dzr/JoGIm+4Q6SuYeLEiIiZDwBscRMYFJ+tMAz98fuel9ZnbXViA2I0HVSSRRK8DW5fjXStA==", + "version": "7.27.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz", + "integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==", "dev": true, "requires": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.8", - "@babel/parser": "^7.26.8", - "@babel/template": "^7.26.8", - "@babel/types": "^7.26.8", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.3", + "@babel/parser": "^7.27.4", + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.3", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -25060,13 +24740,13 @@ } }, "@babel/types": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.8.tgz", - "integrity": "sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==", + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz", + "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" } }, "@colors/colors": { @@ -25110,16 +24790,6 @@ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "dev": true }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", @@ -25203,15 +24873,6 @@ "graceful-fs": "^4.1.9" } }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -25321,41 +24982,41 @@ }, "dependencies": { "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "dev": true, - "requires": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.8.0.tgz", + "integrity": "sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==", + "dev": true, + "requires": { + "@ethersproject/abi": "5.8.0", + "@ethersproject/abstract-provider": "5.8.0", + "@ethersproject/abstract-signer": "5.8.0", + "@ethersproject/address": "5.8.0", + "@ethersproject/base64": "5.8.0", + "@ethersproject/basex": "5.8.0", + "@ethersproject/bignumber": "5.8.0", + "@ethersproject/bytes": "5.8.0", + "@ethersproject/constants": "5.8.0", + "@ethersproject/contracts": "5.8.0", + "@ethersproject/hash": "5.8.0", + "@ethersproject/hdnode": "5.8.0", + "@ethersproject/json-wallets": "5.8.0", + "@ethersproject/keccak256": "5.8.0", + "@ethersproject/logger": "5.8.0", + "@ethersproject/networks": "5.8.0", + "@ethersproject/pbkdf2": "5.8.0", + "@ethersproject/properties": "5.8.0", + "@ethersproject/providers": "5.8.0", + "@ethersproject/random": "5.8.0", + "@ethersproject/rlp": "5.8.0", + "@ethersproject/sha2": "5.8.0", + "@ethersproject/signing-key": "5.8.0", + "@ethersproject/solidity": "5.8.0", + "@ethersproject/strings": "5.8.0", + "@ethersproject/transactions": "5.8.0", + "@ethersproject/units": "5.8.0", + "@ethersproject/wallet": "5.8.0", + "@ethersproject/web": "5.8.0", + "@ethersproject/wordlists": "5.8.0" } } } @@ -25367,9 +25028,9 @@ "dev": true }, "@eslint-community/eslint-utils": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", "dev": true, "requires": { "eslint-visitor-keys": "^3.4.3" @@ -25404,16 +25065,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -25422,15 +25073,6 @@ "requires": { "argparse": "^2.0.1" } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } } } }, @@ -25451,9 +25093,9 @@ } }, "@ethereumjs/rlp": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", - "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-5.0.2.tgz", + "integrity": "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==", "dev": true }, "@ethereumjs/tx": { @@ -25467,14 +25109,13 @@ } }, "@ethereumjs/util": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", - "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-9.1.0.tgz", + "integrity": "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==", "dev": true, "requires": { - "@ethereumjs/rlp": "^4.0.1", - "ethereum-cryptography": "^2.0.0", - "micro-ftch": "^0.3.1" + "@ethereumjs/rlp": "^5.0.2", + "ethereum-cryptography": "^2.2.1" }, "dependencies": { "@noble/curves": { @@ -25528,191 +25169,191 @@ } }, "@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.8.0.tgz", + "integrity": "sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==", "dev": true, "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" } }, "@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz", + "integrity": "sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==", "dev": true, "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/networks": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/web": "^5.8.0" } }, "@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz", + "integrity": "sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==", "dev": true, "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0" } }, "@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.8.0.tgz", + "integrity": "sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==", "dev": true, "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/rlp": "^5.8.0" } }, "@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.8.0.tgz", + "integrity": "sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==", "dev": true, "requires": { - "@ethersproject/bytes": "^5.7.0" + "@ethersproject/bytes": "^5.8.0" } }, "@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.8.0.tgz", + "integrity": "sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q==", "dev": true, "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/properties": "^5.8.0" } }, "@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.8.0.tgz", + "integrity": "sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==", "dev": true, "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", "bn.js": "^5.2.1" }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true } } }, "@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.8.0.tgz", + "integrity": "sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==", "dev": true, "requires": { - "@ethersproject/logger": "^5.7.0" + "@ethersproject/logger": "^5.8.0" } }, "@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.8.0.tgz", + "integrity": "sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==", "dev": true, "requires": { - "@ethersproject/bignumber": "^5.7.0" + "@ethersproject/bignumber": "^5.8.0" } }, "@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.8.0.tgz", + "integrity": "sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ==", "dev": true, "requires": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" + "@ethersproject/abi": "^5.8.0", + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/transactions": "^5.8.0" } }, "@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.8.0.tgz", + "integrity": "sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==", "dev": true, "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/base64": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" } }, "@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.8.0.tgz", + "integrity": "sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA==", "dev": true, "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/basex": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/pbkdf2": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/sha2": "^5.8.0", + "@ethersproject/signing-key": "^5.8.0", + "@ethersproject/strings": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/wordlists": "^5.8.0" } }, "@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "dev": true, - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.8.0.tgz", + "integrity": "sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w==", + "dev": true, + "requires": { + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/hdnode": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/pbkdf2": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/random": "^5.8.0", + "@ethersproject/strings": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", "aes-js": "3.0.0", "scrypt-js": "3.0.1" }, @@ -25726,239 +25367,239 @@ } }, "@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.8.0.tgz", + "integrity": "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==", "dev": true, "requires": { - "@ethersproject/bytes": "^5.7.0", + "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.8.0.tgz", + "integrity": "sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==", "dev": true }, "@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.8.0.tgz", + "integrity": "sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==", "dev": true, "requires": { - "@ethersproject/logger": "^5.7.0" + "@ethersproject/logger": "^5.8.0" } }, "@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.8.0.tgz", + "integrity": "sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg==", "dev": true, "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/sha2": "^5.8.0" } }, "@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.8.0.tgz", + "integrity": "sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==", "dev": true, "requires": { - "@ethersproject/logger": "^5.7.0" + "@ethersproject/logger": "^5.8.0" } }, "@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "dev": true, - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.8.0.tgz", + "integrity": "sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw==", + "dev": true, + "requires": { + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/base64": "^5.8.0", + "@ethersproject/basex": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/networks": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/random": "^5.8.0", + "@ethersproject/rlp": "^5.8.0", + "@ethersproject/sha2": "^5.8.0", + "@ethersproject/strings": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/web": "^5.8.0", "bech32": "1.1.4", - "ws": "7.4.6" + "ws": "8.18.0" }, "dependencies": { "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "requires": {} } } }, "@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.8.0.tgz", + "integrity": "sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A==", "dev": true, "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0" } }, "@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.8.0.tgz", + "integrity": "sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q==", "dev": true, "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0" } }, "@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.8.0.tgz", + "integrity": "sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A==", "dev": true, "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", "hash.js": "1.1.7" } }, "@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.8.0.tgz", + "integrity": "sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==", "dev": true, "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", "bn.js": "^5.2.1", - "elliptic": "6.5.4", + "elliptic": "6.6.1", "hash.js": "1.1.7" }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true } } }, "@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.8.0.tgz", + "integrity": "sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA==", "dev": true, "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/sha2": "^5.8.0", + "@ethersproject/strings": "^5.8.0" } }, "@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.8.0.tgz", + "integrity": "sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==", "dev": true, "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/logger": "^5.8.0" } }, "@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.8.0.tgz", + "integrity": "sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==", "dev": true, "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/rlp": "^5.8.0", + "@ethersproject/signing-key": "^5.8.0" } }, "@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.8.0.tgz", + "integrity": "sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ==", "dev": true, "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/logger": "^5.8.0" } }, "@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "dev": true, - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.8.0.tgz", + "integrity": "sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA==", + "dev": true, + "requires": { + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/hdnode": "^5.8.0", + "@ethersproject/json-wallets": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/random": "^5.8.0", + "@ethersproject/signing-key": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/wordlists": "^5.8.0" } }, "@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.8.0.tgz", + "integrity": "sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==", "dev": true, "requires": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@ethersproject/base64": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" } }, "@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.8.0.tgz", + "integrity": "sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg==", "dev": true, "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" } }, "@fastify/busboy": { @@ -25976,27 +25617,6 @@ "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } } }, "@humanwhocodes/module-importer": { @@ -26050,68 +25670,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "@metamask/eth-sig-util": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", - "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", - "dev": true, - "requires": { - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^6.2.1", - "ethjs-util": "^0.1.6", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dev": true, - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, "@nicolo-ribaudo/chokidar-2": { "version": "2.1.8-no-fsevents.3", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", @@ -26177,153 +25735,66 @@ } }, "@nomicfoundation/edr": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.7.0.tgz", - "integrity": "sha512-+Zyu7TE47TGNcPhOfWLPA/zISs32WDMXrhSWdWYyPHDVn/Uux5TVuOeScKb0BR/R8EJ+leR8COUF/EGxvDOVKg==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.11.1.tgz", + "integrity": "sha512-P97XwcD9DdMMZm9aqw89+mzqzlKmqzSPM3feBES2WVRm5/LOiBYorhpeAX+ANj0X8532SKgxoZK/CN5OWv9vZA==", "dev": true, "requires": { - "@nomicfoundation/edr-darwin-arm64": "0.7.0", - "@nomicfoundation/edr-darwin-x64": "0.7.0", - "@nomicfoundation/edr-linux-arm64-gnu": "0.7.0", - "@nomicfoundation/edr-linux-arm64-musl": "0.7.0", - "@nomicfoundation/edr-linux-x64-gnu": "0.7.0", - "@nomicfoundation/edr-linux-x64-musl": "0.7.0", - "@nomicfoundation/edr-win32-x64-msvc": "0.7.0" + "@nomicfoundation/edr-darwin-arm64": "0.11.1", + "@nomicfoundation/edr-darwin-x64": "0.11.1", + "@nomicfoundation/edr-linux-arm64-gnu": "0.11.1", + "@nomicfoundation/edr-linux-arm64-musl": "0.11.1", + "@nomicfoundation/edr-linux-x64-gnu": "0.11.1", + "@nomicfoundation/edr-linux-x64-musl": "0.11.1", + "@nomicfoundation/edr-win32-x64-msvc": "0.11.1" } }, "@nomicfoundation/edr-darwin-arm64": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.7.0.tgz", - "integrity": "sha512-vAH20oh4GaSB/iQFTRcoO8jLc0CLd9XuLY9I7vtcqZWAiM4U1J4Y8cu67PWmtxbvUQOqXR7S6FtAr8/AlWm14g==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.11.1.tgz", + "integrity": "sha512-vjca7gkl1o0yYqMjwxQpMEtdsb20nWHBnnxDO8ZBCTD5IwfYT5LiMxFaJo8NUJ7ODIRkF/zuEtAF3W7+ZlC5RA==", "dev": true }, "@nomicfoundation/edr-darwin-x64": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.7.0.tgz", - "integrity": "sha512-WHDdIrPvLlgXQr2eKypBM5xOZAwdxhDAEQIvEMQL8tEEm2qYW2bliUlssBPrs8E3bdivFbe1HizImslMAfU3+g==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.11.1.tgz", + "integrity": "sha512-0aGStHq9XePXX9UqdU1w60HGO9AfYCgkNEir5sBpntU5E0TvZEK6jwyYr667+s90n2mihdeP97QSA0O/6PT6PA==", "dev": true }, "@nomicfoundation/edr-linux-arm64-gnu": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.7.0.tgz", - "integrity": "sha512-WXpJB54ukz1no7gxCPXVEw9pgl/9UZ/WO3l1ctyv/T7vOygjqA4SUd6kppTs6MNXAuTiisPtvJ/fmvHiMBLrsw==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.11.1.tgz", + "integrity": "sha512-OWhCETc03PVdtzatW/c2tpOPx+GxlBfBaLmMuGRD1soAr1nMOmg2WZAlo4i6Up9fkQYl+paiYMMFVat1meaMvQ==", "dev": true }, "@nomicfoundation/edr-linux-arm64-musl": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.7.0.tgz", - "integrity": "sha512-1iZYOcEgc+zJI7JQrlAFziuy9sBz1WgnIx3HIIu0J7lBRZ/AXeHHgATb+4InqxtEx9O3W8A0s7f11SyFqJL4Aw==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.11.1.tgz", + "integrity": "sha512-p0qvtIvDA2eZ8pQ5XUKnWdW1IrwFzSrjyrO88oYx6Lkw8nYwf2JEeETo5o5W84DDfimfoBGP7RWPTPcTBKCaLQ==", "dev": true }, "@nomicfoundation/edr-linux-x64-gnu": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.7.0.tgz", - "integrity": "sha512-wSjC94WcR5MM8sg9w3OsAmT6+bbmChJw6uJKoXR3qscps/jdhjzJWzfgT0XGRq3XMUfimyafW2RWOyfX3ouhrQ==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.11.1.tgz", + "integrity": "sha512-V4Us7Q0E8kng3O/czd5GRcxmZxWX+USgqz9yQ3o7DVq7FP96idaKvtcbMQp64tjHf2zNtX2y77sGzgbVau7Bww==", "dev": true }, "@nomicfoundation/edr-linux-x64-musl": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.7.0.tgz", - "integrity": "sha512-Us22+AZ7wkG1mZwxqE4S4ZcuwkEA5VrUiBOJSvKHGOgy6vFvB/Euh5Lkp4GovwjrtiXuvyGO2UmtkzymZKDxZw==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.11.1.tgz", + "integrity": "sha512-lCSXsF10Kjjvs5duGbM6pi1WciWHXFNWkMgDAY4pg6ZRIy4gh+uGC6CONMfP4BDZwfrALo2p6+LwyotrJEqpyg==", "dev": true }, "@nomicfoundation/edr-win32-x64-msvc": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.7.0.tgz", - "integrity": "sha512-HAry0heTsWkzReVtjHwoIq3BgFCvXpVhJ5qPmTnegZGsr/KxqvMmHyDMifzKao4bycU8yrpTSyOiAJt27RWjzQ==", - "dev": true - }, - "@nomicfoundation/ethereumjs-common": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.4.tgz", - "integrity": "sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==", - "dev": true, - "requires": { - "@nomicfoundation/ethereumjs-util": "9.0.4" - } - }, - "@nomicfoundation/ethereumjs-rlp": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.4.tgz", - "integrity": "sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.11.1.tgz", + "integrity": "sha512-sNSmmRTURAd1sdKuyO5tqrFiJvHHVPZLM4HB53F21makGoyInFGhejdo3qZrkoinM8k0ewEJDbUp0YuMEgMOhQ==", "dev": true }, - "@nomicfoundation/ethereumjs-tx": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.4.tgz", - "integrity": "sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==", - "dev": true, - "requires": { - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", - "ethereum-cryptography": "0.1.3" - }, - "dependencies": { - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dev": true, - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - } - } - }, - "@nomicfoundation/ethereumjs-util": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.4.tgz", - "integrity": "sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==", - "dev": true, - "requires": { - "@nomicfoundation/ethereumjs-rlp": "5.0.4", - "ethereum-cryptography": "0.1.3" - }, - "dependencies": { - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dev": true, - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - } - } - }, "@nomicfoundation/hardhat-chai-matchers": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.8.tgz", - "integrity": "sha512-Z5PiCXH4xhNLASROlSUOADfhfpfhYO6D7Hn9xp8PddmHey0jq704cr6kfU8TRrQ4PUZbpfsZadPj+pCfZdjPIg==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.9.tgz", + "integrity": "sha512-AbCoBuTKMlwlf1lesSmi/4VvJHNG9EP13EmkCJ+MJS1SBdtVtU4YrBbdYmnYPEvRFcAIMFB/cwcQGmuBYeCoVg==", "dev": true, "requires": { "@types/chai-as-promised": "^7.1.3", @@ -26333,9 +25804,9 @@ } }, "@nomicfoundation/hardhat-ethers": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.8.tgz", - "integrity": "sha512-zhOZ4hdRORls31DTOqg+GmEZM0ujly8GGIuRY7t7szEk2zW/arY1qDug/py8AEktT00v5K+b6RvbVog+va51IA==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.9.tgz", + "integrity": "sha512-xBJdRUiCwKpr0OYrOzPwAyNGtsVzoBx32HFPJVv6S+sFA9TmBIBDaqNlFPmBH58ZjgNnGhEr/4oBZvGr4q4TjQ==", "dev": true, "peer": true, "requires": { @@ -26427,14 +25898,14 @@ } }, "@openzeppelin/contracts": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-5.2.0.tgz", - "integrity": "sha512-bxjNie5z89W1Ea0NZLZluFh8PrFNn9DH8DQlujEok2yjsOlraUPKID5p1Wk3qdNbf6XkQ1Os2RvfiHrrXLHWKA==" + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-5.3.0.tgz", + "integrity": "sha512-zj/KGoW7zxWUE8qOI++rUM18v+VeLTTzKs/DJFkSzHpQFPD/jKKF0TrMxBfGLl3kpdELCNccvB3zmofSzm4nlA==" }, "@openzeppelin/contracts-upgradeable": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-5.2.0.tgz", - "integrity": "sha512-mZIu9oa4tQTlGiOJHk6D3LdJlqFqF6oNOSn6S6UVJtzfs9UsY9/dhMEbAVTwElxUtJnjpf6yA062+oBp+eOyPg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-5.3.0.tgz", + "integrity": "sha512-yVzSSyTMWO6rapGI5tuqkcLpcGGXA0UA1vScyV5EhE5yw8By3Ewex9rDUw8lfVw0iTkvR/egjfcW5vpk03lqZg==", "requires": {} }, "@openzeppelin/test-helpers": { @@ -26653,9 +26124,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "web3-utils": { @@ -26699,38 +26170,16 @@ "web3-utils": "1.10.0" }, "dependencies": { - "bignumber.js": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", - "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", - "dev": true - }, "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "cbor": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz", - "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==", - "dev": true, - "requires": { - "bignumber.js": "^9.0.1", - "nofilter": "^1.0.4" - } - }, - "nofilter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", - "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true }, "web3-utils": { @@ -26814,6 +26263,21 @@ "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", "dev": true }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, "eth-lib": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", @@ -26918,9 +26382,9 @@ }, "dependencies": { "bignumber.js": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", - "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", + "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", "dev": true } } @@ -27131,9 +26595,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true } } @@ -27164,67 +26628,11 @@ "highlightjs-solidity": "^2.0.6" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -27278,17 +26686,40 @@ "dev": true }, "bignumber.js": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", - "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", + "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", "dev": true }, "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "dev": true + } + } + }, "eth-lib": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", @@ -27301,9 +26732,9 @@ }, "dependencies": { "bn.js": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", "dev": true } } @@ -27326,9 +26757,9 @@ }, "dependencies": { "bn.js": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", "dev": true } } @@ -27629,70 +27060,12 @@ "lodash.merge": "^4.6.2", "strip-ansi": "^4.0.0", "strip-indent": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "@types/bn.js": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.6.tgz", - "integrity": "sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==", "dev": true, "requires": { "@types/node": "*" @@ -27711,9 +27084,9 @@ } }, "@types/chai": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.0.1.tgz", - "integrity": "sha512-5T8ajsg3M/FOncpLYW7sdOcD6yf4+722sze/tc4KQV0P8Z2rAr3SAuHCIkYmYpt8VbcQlnz8SxlOlPQYefe4cA==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", + "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", "dev": true, "requires": { "@types/deep-eql": "*" @@ -27761,12 +27134,6 @@ "@types/node": "*" } }, - "@types/gensync": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/gensync/-/gensync-1.0.4.tgz", - "integrity": "sha512-C3YYeRQWp2fmq9OryX+FoDy8nXS6scQ7dPptD8LnFDAUNcKWJjXQKDNJD3HVm+kOUsXhTOkpi69vI4EuAr95bA==", - "dev": true - }, "@types/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", @@ -27817,12 +27184,12 @@ "dev": true }, "@types/node": { - "version": "22.13.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.1.tgz", - "integrity": "sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==", + "version": "24.0.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.3.tgz", + "integrity": "sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==", "dev": true, "requires": { - "undici-types": "~6.20.0" + "undici-types": "~7.8.0" } }, "@types/pbkdf2": { @@ -27835,9 +27202,9 @@ } }, "@types/qs": { - "version": "6.9.18", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz", - "integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", "dev": true }, "@types/responselike": { @@ -27897,9 +27264,9 @@ } }, "acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true }, "acorn-jsx": { @@ -28033,12 +27400,12 @@ "dev": true }, "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^2.0.1" + "color-convert": "^1.9.0" } }, "antlr4ts": { @@ -28104,17 +27471,19 @@ "dev": true }, "array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", "dev": true, "requires": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" } }, "array-union": { @@ -28136,17 +27505,18 @@ "dev": true }, "array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", "dev": true, "requires": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" } }, "array.prototype.flat": { @@ -28279,9 +27649,9 @@ "dev": true }, "axios": { - "version": "1.7.9", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", - "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz", + "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==", "dev": true, "requires": { "follow-redirects": "^1.15.6", @@ -28300,13 +27670,13 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.4.12", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", - "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz", + "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==", "dev": true, "requires": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.3", + "@babel/helper-define-polyfill-provider": "^0.6.4", "semver": "^6.3.1" }, "dependencies": { @@ -28329,12 +27699,12 @@ } }, "babel-plugin-polyfill-regenerator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", - "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz", + "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.6.3" + "@babel/helper-define-polyfill-provider": "^0.6.4" } }, "balanced-match": { @@ -28376,9 +27746,9 @@ } }, "base-x": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", - "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.11.tgz", + "integrity": "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==", "dev": true, "requires": { "safe-buffer": "^5.0.1" @@ -28397,14 +27767,6 @@ "dev": true, "requires": { "tweetnacl": "^0.14.3" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - } } }, "bech32": { @@ -28456,18 +27818,6 @@ "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } } }, "blakejs": { @@ -28483,9 +27833,9 @@ "dev": true }, "bn.js": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", "dev": true }, "body-parser": { @@ -28571,12 +27921,52 @@ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, "camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -28602,16 +27992,26 @@ "requires": { "ansi-regex": "^5.0.1" } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "requires": { - "balanced-match": "^1.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, "braces": { @@ -28652,15 +28052,15 @@ } }, "browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz", + "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", + "caniuse-lite": "^1.0.30001718", + "electron-to-chromium": "^1.5.160", "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" + "update-browserslist-db": "^1.1.3" } }, "bs58": { @@ -28683,6 +28083,16 @@ "safe-buffer": "^5.1.2" } }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", @@ -28726,9 +28136,9 @@ }, "dependencies": { "semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true } } @@ -28812,9 +28222,9 @@ } }, "call-bind-apply-helpers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", - "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "dev": true, "requires": { "es-errors": "^1.3.0", @@ -28822,13 +28232,13 @@ } }, "call-bound": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", - "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "dev": true, "requires": { - "call-bind-apply-helpers": "^1.0.1", - "get-intrinsic": "^1.2.6" + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" } }, "callsites": { @@ -28854,9 +28264,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001699", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001699.tgz", - "integrity": "sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==", + "version": "1.0.30001723", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001723.tgz", + "integrity": "sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==", "dev": true }, "caseless": { @@ -28865,6 +28275,24 @@ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true }, + "cbor": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz", + "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==", + "dev": true, + "requires": { + "bignumber.js": "^9.0.1", + "nofilter": "^1.0.4" + }, + "dependencies": { + "bignumber.js": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", + "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", + "dev": true + } + } + }, "chai": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", @@ -28897,13 +28325,14 @@ "requires": {} }, "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "change-case": { @@ -28948,21 +28377,21 @@ } }, "cheerio": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0.tgz", - "integrity": "sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.0.tgz", + "integrity": "sha512-+0hMx9eYhJvWbgpKV9hN7jg0JcwydpopZE4hgi+KvQtByZXPp04NiCWU0LzcAbP63abZckIHkTQaXVF52mX3xQ==", "dev": true, "requires": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", - "domutils": "^3.1.0", + "domutils": "^3.2.2", "encoding-sniffer": "^0.2.0", - "htmlparser2": "^9.1.0", - "parse5": "^7.1.2", - "parse5-htmlparser2-tree-adapter": "^7.0.0", + "htmlparser2": "^10.0.0", + "parse5": "^7.3.0", + "parse5-htmlparser2-tree-adapter": "^7.1.0", "parse5-parser-stream": "^7.1.2", - "undici": "^6.19.5", + "undici": "^7.10.0", "whatwg-mimetype": "^4.0.0" } }, @@ -29048,16 +28477,6 @@ "multihashes": "~0.4.15" }, "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "multicodec": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", @@ -29274,18 +28693,18 @@ } }, "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { - "color-name": "~1.1.4" + "color-name": "1.1.3" } }, "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "colors": { @@ -29438,11 +28857,60 @@ "tmp": "^0.2.1" }, "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "commander": { "version": "9.5.0", "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -29474,12 +28942,12 @@ "dev": true }, "core-js-compat": { - "version": "3.40.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.40.0.tgz", - "integrity": "sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==", + "version": "3.43.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.43.0.tgz", + "integrity": "sha512-2GML2ZsCc5LR7hZYz4AXmjQw8zuy2T//2QntwdnpuYI7jteT6GVYJL7F6C2C57R7gSYrcqVW3lAALefdbhBLDA==", "dev": true, "requires": { - "browserslist": "^4.24.3" + "browserslist": "^4.25.0" } }, "core-util-is": { @@ -29551,17 +29019,6 @@ "dev": true, "requires": { "node-fetch": "2.6.7" - }, - "dependencies": { - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - } - } } }, "cross-spawn": { @@ -29674,9 +29131,9 @@ "dev": true }, "debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "requires": { "ms": "^2.1.3" @@ -29921,15 +29378,15 @@ "dev": true }, "electron-to-chromium": { - "version": "1.5.96", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.96.tgz", - "integrity": "sha512-8AJUW6dh75Fm/ny8+kZKJzI1pgoE8bKLZlzDU2W1ENd+DXKJrx7I7l9hb8UWR4ojlnb5OlixMt00QWiYJoVw1w==", + "version": "1.5.169", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.169.tgz", + "integrity": "sha512-q7SQx6mkLy0GTJK9K9OiWeaBMV4XQtBSdf6MJUzDB/H/5tFXfIiX38Lci1Kl6SsgiEhz1SQI1ejEOU5asWEhwQ==", "dev": true }, "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", "dev": true, "requires": { "bn.js": "^4.11.9", @@ -29954,9 +29411,9 @@ "dev": true }, "encoding-sniffer": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.0.tgz", - "integrity": "sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", + "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", "dev": true, "requires": { "iconv-lite": "^0.6.3", @@ -29964,9 +29421,9 @@ } }, "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", "dev": true, "requires": { "once": "^1.4.0" @@ -30033,27 +29490,27 @@ } }, "es-abstract": { - "version": "1.23.9", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", - "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", "dev": true, "requires": { "array-buffer-byte-length": "^1.0.2", "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.3", + "call-bound": "^1.0.4", "data-view-buffer": "^1.0.2", "data-view-byte-length": "^1.0.2", "data-view-byte-offset": "^1.0.1", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", + "es-object-atoms": "^1.1.1", "es-set-tostringtag": "^2.1.0", "es-to-primitive": "^1.3.0", "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.0", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", @@ -30065,21 +29522,24 @@ "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", "is-regex": "^1.2.1", + "is-set": "^2.0.3", "is-shared-array-buffer": "^1.0.4", "is-string": "^1.1.1", "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.0", + "is-weakref": "^1.1.1", "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.3", + "object-inspect": "^1.13.4", "object-keys": "^1.1.1", "object.assign": "^4.1.7", "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.3", + "regexp.prototype.flags": "^1.5.4", "safe-array-concat": "^1.1.3", "safe-push-apply": "^1.0.0", "safe-regex-test": "^1.1.0", "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", "string.prototype.trim": "^1.2.10", "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", @@ -30088,7 +29548,7 @@ "typed-array-byte-offset": "^1.0.4", "typed-array-length": "^1.0.7", "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.18" + "which-typed-array": "^1.1.19" } }, "es-define-property": { @@ -30125,12 +29585,12 @@ } }, "es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", "dev": true, "requires": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" } }, "es-to-primitive": { @@ -30208,9 +29668,9 @@ "dev": true }, "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "escodegen": { @@ -30331,22 +29791,52 @@ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "color-name": "~1.1.4" } }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -30357,6 +29847,12 @@ "path-exists": "^4.0.0" } }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -30375,15 +29871,6 @@ "p-locate": "^5.0.0" } }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -30410,6 +29897,15 @@ "requires": { "ansi-regex": "^5.0.1" } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -30516,16 +30012,6 @@ "tsconfig-paths": "^3.15.0" }, "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -30544,15 +30030,6 @@ "esutils": "^2.0.2" } }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, "semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -30586,29 +30063,10 @@ "semver": "^7.3.8" }, "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, "semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true } } @@ -30627,16 +30085,6 @@ "semver": "^6.1.0" }, "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "eslint-plugin-es": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", @@ -30662,15 +30110,6 @@ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, "semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -30824,41 +30263,41 @@ }, "dependencies": { "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "dev": true, - "requires": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.8.0.tgz", + "integrity": "sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==", + "dev": true, + "requires": { + "@ethersproject/abi": "5.8.0", + "@ethersproject/abstract-provider": "5.8.0", + "@ethersproject/abstract-signer": "5.8.0", + "@ethersproject/address": "5.8.0", + "@ethersproject/base64": "5.8.0", + "@ethersproject/basex": "5.8.0", + "@ethersproject/bignumber": "5.8.0", + "@ethersproject/bytes": "5.8.0", + "@ethersproject/constants": "5.8.0", + "@ethersproject/contracts": "5.8.0", + "@ethersproject/hash": "5.8.0", + "@ethersproject/hdnode": "5.8.0", + "@ethersproject/json-wallets": "5.8.0", + "@ethersproject/keccak256": "5.8.0", + "@ethersproject/logger": "5.8.0", + "@ethersproject/networks": "5.8.0", + "@ethersproject/pbkdf2": "5.8.0", + "@ethersproject/properties": "5.8.0", + "@ethersproject/providers": "5.8.0", + "@ethersproject/random": "5.8.0", + "@ethersproject/rlp": "5.8.0", + "@ethersproject/sha2": "5.8.0", + "@ethersproject/signing-key": "5.8.0", + "@ethersproject/solidity": "5.8.0", + "@ethersproject/strings": "5.8.0", + "@ethersproject/transactions": "5.8.0", + "@ethersproject/units": "5.8.0", + "@ethersproject/wallet": "5.8.0", + "@ethersproject/web": "5.8.0", + "@ethersproject/wordlists": "5.8.0" } } } @@ -30906,9 +30345,9 @@ }, "dependencies": { "@noble/hashes": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.1.tgz", - "integrity": "sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", "dev": true } } @@ -30925,65 +30364,6 @@ "@scure/bip39": "1.1.1" } }, - "ethereumjs-abi": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", - "dev": true, - "requires": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dev": true, - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, "ethereumjs-util": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", @@ -30998,9 +30378,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "ethereum-cryptography": { @@ -31029,9 +30409,9 @@ } }, "ethers": { - "version": "6.13.5", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.13.5.tgz", - "integrity": "sha512-+knKNieu5EKRThQJWwqaJ10a6HE9sSehGeqWN65//wE7j47ZpFhKAnHB/JJFibwwg61I/koxaPsXbXpD/skNOQ==", + "version": "6.14.4", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.14.4.tgz", + "integrity": "sha512-Jm/dzRs2Z9iBrT6e9TvGxyb5YVKAPLlpna7hjxH7KH/++DSh2T/JVmQUv7iHI5E55hDbp/gEVvstWYXVxXFzsA==", "dev": true, "peer": true, "requires": { @@ -31061,13 +30441,6 @@ "undici-types": "~6.19.2" } }, - "tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "dev": true, - "peer": true - }, "undici-types": { "version": "6.19.8", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", @@ -31120,16 +30493,6 @@ } } }, - "ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "dev": true, - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } - }, "ethlint": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/ethlint/-/ethlint-1.2.5.tgz", @@ -31529,9 +30892,9 @@ "dev": true }, "fastq": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", - "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -31547,9 +30910,9 @@ } }, "fdir": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", - "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", "dev": true, "requires": {} }, @@ -31710,9 +31073,9 @@ } }, "flatted": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", - "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true }, "follow-redirects": { @@ -31722,9 +31085,9 @@ "dev": true }, "for-each": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.4.tgz", - "integrity": "sha512-kKaIINnFpzW6ffJNDjjyjrk21BkDx38c0xa/klsT8VzLCaMEefv4ZTacrcVR4DmgTeBra++jMDAfS/tS799YDw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "dev": true, "requires": { "is-callable": "^1.2.7" @@ -31752,13 +31115,15 @@ "dev": true }, "form-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", - "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz", + "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==", "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, @@ -31889,17 +31254,17 @@ "dev": true }, "get-intrinsic": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", - "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "requires": { - "call-bind-apply-helpers": "^1.0.1", + "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "get-proto": "^1.0.0", + "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", @@ -31989,64 +31354,6 @@ "requires": { "chalk": "^2.4.2", "node-emoji": "^1.10.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "glob": { @@ -32062,6 +31369,15 @@ "once": "^1.3.0" }, "dependencies": { + "brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, "minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -32200,16 +31516,6 @@ "slash": "^3.0.0" }, "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -32224,15 +31530,6 @@ "path-is-absolute": "^1.0.0" } }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -32360,17 +31657,14 @@ } }, "hardhat": { - "version": "2.22.18", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.22.18.tgz", - "integrity": "sha512-2+kUz39gvMo56s75cfLBhiFedkQf+gXdrwCcz4R/5wW0oBdwiyfj2q9BIkMoaA0WIGYYMU2I1Cc4ucTunhfjzw==", + "version": "2.24.3", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.24.3.tgz", + "integrity": "sha512-2dhniQ1wW8/Wh3mP91kKcEnVva93mWYRaYLkV+a0ATkUEKrByGF2P5hCrlNHbqYP//D7L0CGYLtDjPQY6ILaVA==", "dev": true, "requires": { + "@ethereumjs/util": "^9.1.0", "@ethersproject/abi": "^5.1.2", - "@metamask/eth-sig-util": "^4.0.0", - "@nomicfoundation/edr": "^0.7.0", - "@nomicfoundation/ethereumjs-common": "4.0.4", - "@nomicfoundation/ethereumjs-tx": "5.0.4", - "@nomicfoundation/ethereumjs-util": "9.0.4", + "@nomicfoundation/edr": "^0.11.1", "@nomicfoundation/solidity-analyzer": "^0.1.0", "@sentry/node": "^5.18.1", "@types/bn.js": "^5.1.0", @@ -32385,7 +31679,6 @@ "enquirer": "^2.3.0", "env-paths": "^2.2.0", "ethereum-cryptography": "^1.0.3", - "ethereumjs-abi": "^0.6.8", "find-up": "^5.0.0", "fp-ts": "1.19.3", "fs-extra": "^7.0.1", @@ -32394,6 +31687,7 @@ "json-stream-stringify": "^3.1.4", "keccak": "^3.0.2", "lodash": "^4.17.11", + "micro-eth-signer": "^0.14.0", "mnemonist": "^0.38.0", "mocha": "^10.0.0", "p-map": "^4.0.0", @@ -32475,9 +31769,9 @@ } }, "readdirp": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", - "integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true }, "resolve": { @@ -32528,20 +31822,14 @@ } }, "undici": { - "version": "5.28.5", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz", - "integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", + "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", "dev": true, "requires": { "@fastify/busboy": "^2.0.0" } }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - }, "ws": { "version": "7.5.10", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", @@ -32568,6 +31856,25 @@ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, "cli-table3": { "version": "0.6.5", "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", @@ -32578,6 +31885,27 @@ "string-width": "^4.2.0" } }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -32603,6 +31931,15 @@ "requires": { "ansi-regex": "^5.0.1" } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -32624,9 +31961,9 @@ "dev": true }, "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "has-property-descriptors": { @@ -32822,15 +32159,23 @@ "dev": true }, "htmlparser2": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", - "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", "dev": true, "requires": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", - "domutils": "^3.1.0", - "entities": "^4.5.0" + "domutils": "^3.2.1", + "entities": "^6.0.0" + }, + "dependencies": { + "entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true + } } }, "http-basic": { @@ -32846,9 +32191,9 @@ } }, "http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "dev": true }, "http-errors": { @@ -33264,6 +32609,12 @@ "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true }, + "is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true + }, "is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", @@ -33755,6 +33106,57 @@ "requires": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "loupe": { @@ -33920,12 +33322,57 @@ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true }, + "micro-eth-signer": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/micro-eth-signer/-/micro-eth-signer-0.14.0.tgz", + "integrity": "sha512-5PLLzHiVYPWClEvZIXXFu5yutzpadb73rnQCpUqIHu3No3coFuWQNfE5tkBQJ7djuLYl6aRLaS0MgWJYGoqiBw==", + "dev": true, + "requires": { + "@noble/curves": "~1.8.1", + "@noble/hashes": "~1.7.1", + "micro-packed": "~0.7.2" + }, + "dependencies": { + "@noble/curves": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.2.tgz", + "integrity": "sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g==", + "dev": true, + "requires": { + "@noble/hashes": "1.7.2" + } + }, + "@noble/hashes": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.2.tgz", + "integrity": "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ==", + "dev": true + } + } + }, "micro-ftch": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==", "dev": true }, + "micro-packed": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/micro-packed/-/micro-packed-0.7.3.tgz", + "integrity": "sha512-2Milxs+WNC00TRlem41oRswvw31146GiSaoCT7s3Xi2gMUglW5QBeqlQaZeHr5tJx9nm3i57LNXPqxOOaWtTYg==", + "dev": true, + "requires": { + "@scure/base": "~1.2.5" + }, + "dependencies": { + "@scure/base": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.6.tgz", + "integrity": "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==", + "dev": true + } + } + }, "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", @@ -34018,6 +33465,15 @@ "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", "dev": true }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, "minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", @@ -34153,6 +33609,15 @@ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true }, + "brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, "braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", @@ -34184,6 +33649,12 @@ "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, "fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -34219,6 +33690,12 @@ "is-glob": "^4.0.1" } }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -34325,18 +33802,6 @@ "requires": { "base-x": "^3.0.8", "buffer": "^5.5.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } } }, "multicodec": { @@ -34359,16 +33824,6 @@ "varint": "^5.0.0" }, "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "multibase": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", @@ -34382,9 +33837,9 @@ } }, "nan": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz", - "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==", + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", + "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", "dev": true, "optional": true }, @@ -34488,9 +33943,9 @@ } }, "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dev": true, "requires": { "whatwg-url": "^5.0.0" @@ -34508,6 +33963,12 @@ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true }, + "nofilter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", + "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==", + "dev": true + }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", @@ -36767,9 +36228,9 @@ } }, "parse-headers": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", - "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.6.tgz", + "integrity": "sha512-Tz11t3uKztEW5FEVZnj1ox8GKblWn+PvHY9TmJV5Mll2uHEwRdR/5Li1OlXoECjLYkApdhWy44ocONwXLiKO5A==", "dev": true }, "parse-json": { @@ -36782,12 +36243,20 @@ } }, "parse5": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", - "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, "requires": { - "entities": "^4.5.0" + "entities": "^6.0.0" + }, + "dependencies": { + "entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true + } } }, "parse5-htmlparser2-tree-adapter": { @@ -36947,9 +36416,9 @@ } }, "pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", "dev": true }, "pkg-dir": { @@ -36998,25 +36467,25 @@ "dev": true }, "prettier-plugin-solidity": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.4.2.tgz", - "integrity": "sha512-VVD/4XlDjSzyPWWCPW8JEleFa8JNKFYac5kNlMjVXemQyQZKfpekPMhFZSePuXB6L+RixlFvWe20iacGjFYrLw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.4.1.tgz", + "integrity": "sha512-Mq8EtfacVZ/0+uDKTtHZGW3Aa7vEbX/BNx63hmVg6YTiTXSiuKP0amj0G6pGwjmLaOfymWh3QgXEZkjQbU8QRg==", "dev": true, "requires": { - "@solidity-parser/parser": "^0.19.0", - "semver": "^7.6.3" + "@solidity-parser/parser": "^0.18.0", + "semver": "^7.5.4" }, "dependencies": { "@solidity-parser/parser": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.19.0.tgz", - "integrity": "sha512-RV16k/qIxW/wWc+mLzV3ARyKUaMUTBy9tOLMzFhtNSKYeTAanQ3a5MudJKf/8arIFnA2L27SNjarQKmFg0w/jA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.18.0.tgz", + "integrity": "sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==", "dev": true }, "semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true } } @@ -37088,9 +36557,9 @@ } }, "pump": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", - "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -37599,27 +37068,6 @@ "dev": true, "requires": { "minimatch": "^3.0.5" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } } }, "reflect.getprototypeof": { @@ -37653,21 +37101,6 @@ "regenerate": "^1.4.2" } }, - "regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true - }, - "regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, "regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", @@ -37912,9 +37345,9 @@ "dev": true }, "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true }, "rimraf": { @@ -37926,16 +37359,6 @@ "glob": "^7.1.3" }, "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -37949,15 +37372,6 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } } } }, @@ -37987,9 +37401,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true } } @@ -38108,16 +37522,6 @@ "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==", "dev": true }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "esprima": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", @@ -38143,15 +37547,6 @@ "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", "dev": true }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, "resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", @@ -38185,14 +37580,22 @@ "dev": true }, "secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.4.tgz", + "integrity": "sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw==", "dev": true, "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", + "elliptic": "^6.5.7", + "node-addon-api": "^5.0.0", "node-gyp-build": "^4.2.0" + }, + "dependencies": { + "node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", + "dev": true + } } }, "semver": { @@ -38462,16 +37865,6 @@ "rechoir": "^0.6.2" }, "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -38485,15 +37878,6 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } } } }, @@ -38746,84 +38130,81 @@ "dev": true }, "sol2uml": { - "version": "2.5.21", - "resolved": "https://registry.npmjs.org/sol2uml/-/sol2uml-2.5.21.tgz", - "integrity": "sha512-xgBPXIrtl+nT94WOk6ws9yw/L7ylwakA4uTCJonQeBCckFD0JEhfSXbaNujOtmXhRKqXwHKSeQSw+AN1nC/vhg==", + "version": "2.5.22", + "resolved": "https://registry.npmjs.org/sol2uml/-/sol2uml-2.5.22.tgz", + "integrity": "sha512-0Hy2dNwVUKUCRnqkl82oGlW2ygngvFwonSRiqUTA8K6Li0E8ly6tU1jzwfx4863cinwpskOwXCnghP+g3A96Ug==", "dev": true, "requires": { "@aduh95/viz.js": "^3.7.0", - "@solidity-parser/parser": "^0.16.1", - "axios": "^1.6.0", + "@solidity-parser/parser": "^0.20.1", + "axios": "^1.10.0", "axios-debug-log": "^1.0.0", - "cli-color": "^2.0.3", - "commander": "^11.1.0", + "cli-color": "^2.0.4", + "commander": "^12.1.0", "convert-svg-to-png": "^0.6.4", - "debug": "^4.3.4", + "debug": "^4.4.1", "diff-match-patch": "^1.0.5", - "ethers": "^5.7.2", + "ethers": "^5.8.0", "js-graph-algorithms": "^1.0.18", "klaw": "^4.1.0" }, "dependencies": { "@solidity-parser/parser": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.16.2.tgz", - "integrity": "sha512-PI9NfoA3P8XK2VBkK5oIfRgKDsicwDZfkVq9ZTBCQYGOP1N2owgY2dyLGyU5/J/hQs8KRk55kdmvTLjy3Mu3vg==", - "dev": true, - "requires": { - "antlr4ts": "^0.5.0-alpha.4" - } + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.20.1.tgz", + "integrity": "sha512-58I2sRpzaQUN+jJmWbHfbWf9AKfzqCI8JAdFB0vbyY+u8tBRcuTt9LxzasvR0LGQpcRv97eyV7l61FQ3Ib7zVw==", + "dev": true }, "commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true }, "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "dev": true, - "requires": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.8.0.tgz", + "integrity": "sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==", + "dev": true, + "requires": { + "@ethersproject/abi": "5.8.0", + "@ethersproject/abstract-provider": "5.8.0", + "@ethersproject/abstract-signer": "5.8.0", + "@ethersproject/address": "5.8.0", + "@ethersproject/base64": "5.8.0", + "@ethersproject/basex": "5.8.0", + "@ethersproject/bignumber": "5.8.0", + "@ethersproject/bytes": "5.8.0", + "@ethersproject/constants": "5.8.0", + "@ethersproject/contracts": "5.8.0", + "@ethersproject/hash": "5.8.0", + "@ethersproject/hdnode": "5.8.0", + "@ethersproject/json-wallets": "5.8.0", + "@ethersproject/keccak256": "5.8.0", + "@ethersproject/logger": "5.8.0", + "@ethersproject/networks": "5.8.0", + "@ethersproject/pbkdf2": "5.8.0", + "@ethersproject/properties": "5.8.0", + "@ethersproject/providers": "5.8.0", + "@ethersproject/random": "5.8.0", + "@ethersproject/rlp": "5.8.0", + "@ethersproject/sha2": "5.8.0", + "@ethersproject/signing-key": "5.8.0", + "@ethersproject/solidity": "5.8.0", + "@ethersproject/strings": "5.8.0", + "@ethersproject/transactions": "5.8.0", + "@ethersproject/units": "5.8.0", + "@ethersproject/wallet": "5.8.0", + "@ethersproject/web": "5.8.0", + "@ethersproject/wordlists": "5.8.0" } } } }, "solc": { - "version": "0.8.28", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.28.tgz", - "integrity": "sha512-AFCiJ+b4RosyyNhnfdVH4ZR1+TxiL91iluPjw0EJslIu4LXGM9NYqi2z5y8TqochC4tcH9QsHfwWhOIC9jPDKA==", + "version": "0.8.30", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.30.tgz", + "integrity": "sha512-9Srk/gndtBmoUbg4CE6ypAzPQlElv8ntbnl6SigUBAzgXKn35v87sj04uZeoZWjtDkdzT0qKFcIo/wl63UMxdw==", "dev": true, "requires": { "command-exists": "^1.2.8", @@ -38870,9 +38251,9 @@ } }, "solidity-ast": { - "version": "0.4.59", - "resolved": "https://registry.npmjs.org/solidity-ast/-/solidity-ast-0.4.59.tgz", - "integrity": "sha512-I+CX0wrYUN9jDfYtcgWSe+OAowaXy8/1YQy7NS4ni5IBDmIYBq7ZzaP/7QqouLjzZapmQtvGLqCaYgoUWqBo5g==", + "version": "0.4.60", + "resolved": "https://registry.npmjs.org/solidity-ast/-/solidity-ast-0.4.60.tgz", + "integrity": "sha512-UwhasmQ37ji1ul8cIp0XlrQ/+SVQhy09gGqJH4jnwdo2TgI6YIByzi0PI5QvIGcIdFOs1pbSmJW1pnWB7AVh2w==", "dev": true }, "solidity-code-metrics": { @@ -38900,13 +38281,13 @@ } }, "solidity-coverage": { - "version": "0.8.14", - "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.14.tgz", - "integrity": "sha512-ItAAObe5GaEOp20kXC2BZRnph+9P7Rtoqg2mQc2SXGEHgSDF2wWd1Wxz3ntzQWXkbCtIIGdJT918HG00cObwbA==", + "version": "0.8.16", + "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.16.tgz", + "integrity": "sha512-qKqgm8TPpcnCK0HCDLJrjbOA2tQNEJY4dHX/LSSQ9iwYFS973MwjtgYn2Iv3vfCEQJTj5xtm4cuUMzlJsJSMbg==", "dev": true, "requires": { "@ethersproject/abi": "^5.0.9", - "@solidity-parser/parser": "^0.19.0", + "@solidity-parser/parser": "^0.20.1", "chalk": "^2.4.2", "death": "^1.1.0", "difflib": "^0.2.4", @@ -38927,72 +38308,16 @@ }, "dependencies": { "@solidity-parser/parser": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.19.0.tgz", - "integrity": "sha512-RV16k/qIxW/wWc+mLzV3ARyKUaMUTBy9tOLMzFhtNSKYeTAanQ3a5MudJKf/8arIFnA2L27SNjarQKmFg0w/jA==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.20.1.tgz", + "integrity": "sha512-58I2sRpzaQUN+jJmWbHfbWf9AKfzqCI8JAdFB0vbyY+u8tBRcuTt9LxzasvR0LGQpcRv97eyV7l61FQ3Ib7zVw==", "dev": true }, "semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -39167,16 +38492,6 @@ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "dev": true }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "browser-stdout": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", @@ -39221,12 +38536,6 @@ "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", "dev": true }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -39287,15 +38596,6 @@ "path-exists": "^3.0.0" } }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", @@ -39569,20 +38869,12 @@ "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - } } }, "stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz", + "integrity": "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==", "dev": true, "requires": { "type-fest": "^0.7.1" @@ -39633,6 +38925,16 @@ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true }, + "stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + } + }, "strict-uri-encode": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", @@ -39739,12 +39041,12 @@ "dev": true }, "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "has-flag": "^3.0.0" } }, "supports-preserve-symlinks-flag": { @@ -39881,16 +39183,6 @@ "defer-to-connect": "^2.0.0" } }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "cacheable-lookup": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", @@ -40055,14 +39347,15 @@ "dev": true }, "form-data": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.2.tgz", - "integrity": "sha512-GgwY0PS7DbXqajuGf4OYlsrIu3zgxD6Vvql43IBhm6MahqA5SK/7mwhtNj2AdH2z35YR34ujJ7BN+3fFC3jP5Q==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.3.tgz", + "integrity": "sha512-XHIrMD0NpDrNM/Ckf7XJiBbLl57KEhT3+i3yY+eWm+cqYZJQTZrKo8Y8AWKnuV5GT4scfuUGt9LzNoIx3dU1nQ==", "dev": true, "requires": { "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.35", "safe-buffer": "^5.2.1" } } @@ -40091,12 +39384,12 @@ } }, "tinyglobby": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.10.tgz", - "integrity": "sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==", + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", "dev": true, "requires": { - "fdir": "^6.4.2", + "fdir": "^6.4.4", "picomatch": "^4.0.2" } }, @@ -40213,6 +39506,13 @@ } } }, + "tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "dev": true, + "peer": true + }, "tsort": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", @@ -40229,15 +39529,9 @@ } }, "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", - "dev": true - }, - "tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==", + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", "dev": true }, "type": { @@ -40378,30 +39672,18 @@ "requires": { "buffer": "^5.2.1", "through": "^2.3.8" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } } }, "undici": { - "version": "6.21.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.1.tgz", - "integrity": "sha512-q/1rj5D0/zayJB2FraXdaWxbhWiNKDvu8naDT2dl1yTlvJp4BLtOcp2a5BvgGNQpYYJzau7tf1WgKv3b+7mqpQ==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.10.0.tgz", + "integrity": "sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==", "dev": true }, "undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", + "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", "dev": true }, "unicode-canonical-property-names-ecmascript": { @@ -40503,9 +39785,9 @@ } }, "update-browserslist-db": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", - "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "dev": true, "requires": { "escalade": "^3.2.0", @@ -40595,9 +39877,9 @@ "dev": true }, "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true }, "validate-npm-package-license": { @@ -40689,15 +39971,15 @@ "dev": true }, "bignumber.js": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", - "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", + "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", "dev": true }, "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "web3-core-helpers": { @@ -40733,9 +40015,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "web3-utils": { @@ -40769,9 +40051,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "web3-core-helpers": { @@ -40828,9 +40110,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "web3-core-helpers": { @@ -40866,9 +40148,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "web3-core-helpers": { @@ -40914,9 +40196,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "web3-core-helpers": { @@ -40962,9 +40244,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "web3-utils": { @@ -41002,6 +40284,59 @@ "web3-utils": "1.10.4" }, "dependencies": { + "@ethereumjs/rlp": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", + "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", + "dev": true + }, + "@ethereumjs/util": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", + "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", + "dev": true, + "requires": { + "@ethereumjs/rlp": "^4.0.1", + "ethereum-cryptography": "^2.0.0", + "micro-ftch": "^0.3.1" + } + }, + "@noble/curves": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", + "dev": true, + "requires": { + "@noble/hashes": "1.4.0" + } + }, + "@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "dev": true + }, + "@scure/bip32": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", + "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", + "dev": true, + "requires": { + "@noble/curves": "~1.4.0", + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" + } + }, + "@scure/bip39": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", + "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", + "dev": true, + "requires": { + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" + } + }, "eth-lib": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", @@ -41013,6 +40348,24 @@ "xhr-request-promise": "^0.1.2" } }, + "ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "dev": true, + "requires": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "dev": true + }, "web3-core-helpers": { "version": "1.10.4", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", @@ -41034,9 +40387,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true } } @@ -41060,9 +40413,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "web3-core-helpers": { @@ -41123,9 +40476,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "web3-core-helpers": { @@ -41180,9 +40533,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "web3-utils": { @@ -41223,9 +40576,9 @@ "dev": true }, "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "web3-core-helpers": { @@ -41274,9 +40627,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "cross-fetch": { @@ -41288,6 +40641,15 @@ "node-fetch": "^2.7.0" } }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, "web3-core-helpers": { "version": "1.10.4", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", @@ -41321,9 +40683,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "web3-core-helpers": { @@ -41360,9 +40722,9 @@ }, "dependencies": { "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "web3-core-helpers": { @@ -41415,6 +40777,23 @@ "utf8": "3.0.0" }, "dependencies": { + "@ethereumjs/rlp": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", + "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", + "dev": true + }, + "@ethereumjs/util": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", + "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", + "dev": true, + "requires": { + "@ethereumjs/rlp": "^4.0.1", + "ethereum-cryptography": "^2.0.0", + "micro-ftch": "^0.3.1" + } + }, "@noble/curves": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", @@ -41452,9 +40831,9 @@ } }, "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "ethereum-cryptography": { @@ -41603,15 +40982,16 @@ "dev": true }, "which-typed-array": { - "version": "1.1.18", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", - "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, "requires": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "for-each": "^0.3.3", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" } @@ -41700,6 +41080,30 @@ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", diff --git a/package.json b/package.json index fcd2f11..4413ea4 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "surya": "^0.4.11" }, "dependencies": { - "@openzeppelin/contracts": "5.2.0", - "@openzeppelin/contracts-upgradeable": "5.2.0" + "@openzeppelin/contracts": "5.3.0", + "@openzeppelin/contracts-upgradeable": "5.3.0" } } diff --git a/test/ERC20SnapshotModuleCommon/global/ERC20SnapshotModuleOnePlannedSnapshotTest.js b/test/ERC20SnapshotModuleCommon/global/ERC20SnapshotModuleOnePlannedSnapshotTest.js index 790e245..b9258f5 100644 --- a/test/ERC20SnapshotModuleCommon/global/ERC20SnapshotModuleOnePlannedSnapshotTest.js +++ b/test/ERC20SnapshotModuleCommon/global/ERC20SnapshotModuleOnePlannedSnapshotTest.js @@ -32,6 +32,7 @@ function ERC20SnapshotModuleOnePlannedSnapshotTest () { it('testCanMintTokens', async function () { const MINT_AMOUNT = '20' + const MINT_AMOUNT_TYPED = ethers.Typed.uint256(20) // Arrange - Assert await checkSnapshot.call( this, @@ -42,12 +43,9 @@ function ERC20SnapshotModuleOnePlannedSnapshotTest () { ); // Act // Gas and gasPrice are fixed arbitrarily - ({ logs: this.logs } = await this.cmtat + this.logs = await this.cmtat .connect(this.admin) - .mint(this.address1, MINT_AMOUNT, { - gas: 5000000, - gasPrice: 500000000 - })) + .mint(this.address1, MINT_AMOUNT_TYPED) // Assert // Values before the snapshot @@ -79,6 +77,7 @@ function ERC20SnapshotModuleOnePlannedSnapshotTest () { }) it('testCanBurnTokens', async function () { + const REASON_TYPED = ethers.Typed.bytes(ethers.toUtf8Bytes(reason)) const BURN_AMOUNT = '20' // Arrange - Assert await checkSnapshot.call( @@ -92,10 +91,7 @@ function ERC20SnapshotModuleOnePlannedSnapshotTest () { // Act await this.cmtat .connect(this.admin) - .burn(this.address1, BURN_AMOUNT, reason, { - gas: 5000000, - gasPrice: 500000000 - }) + .burn(this.address1, BURN_AMOUNT, REASON_TYPED) // Assert // Values before the snapshot From 06857b32bbb0988bc0391d97b226cc54eed12d12 Mon Sep 17 00:00:00 2001 From: Ryan Sauge <71391932+rya-sge@users.noreply.github.com> Date: Mon, 25 Aug 2025 14:46:18 +0200 Subject: [PATCH 2/2] Prepare release 0.2.0 --- .solcover.js | 3 + CHANGELOG.md | 11 +- CMTAT | 2 +- README.md | 547 +- SECURITY.md | 3 +- contracts/SnapshotEngine.sol | 153 +- contracts/interface/ISnapshotBase.sol | 88 + contracts/interface/ISnapshotScheduler.sol | 47 + contracts/interface/ISnapshotState.sol | 64 +- contracts/library/Errors.sol | 23 +- contracts/library/SnapshotBase.sol | 405 +- contracts/library/SnapshotStateInternal.sol | 42 + contracts/mock/CMTAT_STANDALONE_MOCK.sol | 4 +- contracts/modules/SnapshotScheduler.sol | 61 + contracts/modules/SnapshotState.sol | 58 + contracts/modules/VersionModule.sol | 32 + doc/audits/aderyn-report.md | 295 + doc/audits/slither-report.md | 286 +- .../archive_snapshot-functionalities.odt | Bin 0 -> 20934 bytes .../archive_snapshot-functionalities.pdf | Bin 0 -> 26203 bytes .../schema/SnpashotModule-Schema.drawio | 1 + doc/technical/schema/getNextSnapshot.pdf | Bin 0 -> 35229 bytes ...otModule-Schema-getNextSnapshot.drawio.png | Bin 0 -> 57999 bytes ...odule-Schema-rescheduleSnapshot.drawio.png | Bin 0 -> 48491 bytes ...tModule-Schema-scheduleSnapshot.drawio.png | Bin 0 -> 97401 bytes ...odule-Schema-unscheduleSnapshot.drawio.png | Bin 0 -> 70475 bytes doc/technical/schema/rescheduleSnapshot.pdf | Bin 0 -> 35726 bytes doc/technical/schema/scheduleSnapshot.pdf | Bin 0 -> 38992 bytes doc/technical/schema/unscheduleSnapshot.pdf | Bin 0 -> 38855 bytes doc/technical/test/snapshotModule-test.drawio | 1 + doc/technical/test/snapshotModule-test.pdf | Bin 0 -> 35783 bytes hardhat.config.js | 4 +- package-lock.json | 18952 +--------------- package.json | 4 +- test/SnapshotEngineDeploy.test.js | 23 +- 35 files changed, 2109 insertions(+), 19000 deletions(-) create mode 100644 .solcover.js create mode 100644 contracts/interface/ISnapshotBase.sol create mode 100644 contracts/interface/ISnapshotScheduler.sol create mode 100644 contracts/library/SnapshotStateInternal.sol create mode 100644 contracts/modules/SnapshotScheduler.sol create mode 100644 contracts/modules/SnapshotState.sol create mode 100644 contracts/modules/VersionModule.sol create mode 100644 doc/audits/aderyn-report.md create mode 100644 doc/technical/archive_snapshot-functionalities.odt create mode 100644 doc/technical/archive_snapshot-functionalities.pdf create mode 100644 doc/technical/schema/SnpashotModule-Schema.drawio create mode 100644 doc/technical/schema/getNextSnapshot.pdf create mode 100644 doc/technical/schema/png/SnpashotModule-Schema-getNextSnapshot.drawio.png create mode 100644 doc/technical/schema/png/SnpashotModule-Schema-rescheduleSnapshot.drawio.png create mode 100644 doc/technical/schema/png/SnpashotModule-Schema-scheduleSnapshot.drawio.png create mode 100644 doc/technical/schema/png/SnpashotModule-Schema-unscheduleSnapshot.drawio.png create mode 100644 doc/technical/schema/rescheduleSnapshot.pdf create mode 100644 doc/technical/schema/scheduleSnapshot.pdf create mode 100644 doc/technical/schema/unscheduleSnapshot.pdf create mode 100644 doc/technical/test/snapshotModule-test.drawio create mode 100644 doc/technical/test/snapshotModule-test.pdf diff --git a/.solcover.js b/.solcover.js new file mode 100644 index 0000000..6e98fb3 --- /dev/null +++ b/.solcover.js @@ -0,0 +1,3 @@ +module.exports = { + skipFiles: ['openzeppelin-contracts-upgradeable', 'mocks', '*/test/*'] +}; diff --git a/CHANGELOG.md b/CHANGELOG.md index ba89f8a..fe75c92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,8 +20,15 @@ Please follow conventions. ## 0.2.0 -- Update CMTAT to [v3.0.0-rc2](https://github.com/CMTA/CMTAT/releases/tag/v3.0.0-rc2) -- Update OpenZeppelin library to [v5.3.0](https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v5.3.0) +- Dependencies + - Update CMTAT to [v3.0.0-rc7](https://github.com/CMTA/CMTAT/releases/tag/v3.0.0-rc2) + - Update OpenZeppelin library to [v5.4.0](https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v5.4.0) + - Update Solidity to 0.8.30 + - Update EVM version to Prague + +- Better code separation trough the creation of modules + +- Use [ERC-7201](https://eips.ethereum.org/EIPS/eip-7201) for storage for compatibility with CMTAT ## 0.1.0 diff --git a/CMTAT b/CMTAT index 903c261..305351b 160000 --- a/CMTAT +++ b/CMTAT @@ -1 +1 @@ -Subproject commit 903c2613b8c508864317504678ca18904258ecdb +Subproject commit 305351bb1cff10cd87ff4bda6e263628c34b9543 diff --git a/README.md b/README.md index 08a592c..4041d4d 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ It is destined to be used with a standard ERC-20 contract (e.g CMTAT) If you want to use it inside another contract, e.g. to distribute dividends on-chain, you can get the state regarding the balance with the functions defined in the interface `ISnapshotState` defined in [./contracts/interface/ISnapshotState.sol](./contracts/interface/ISnapshotState.sol) - +[TOC] ### How to include it @@ -25,15 +25,23 @@ This interface can be found in [CMTAT/contracts/interfaces/engine](https://githu * @dev minimum interface to define a SnapshotEngine */ interface ISnapshotEngine { - /** - * @dev Returns true if the operation is a success, and false otherwise. - */ + /** + * @notice Records balance and total supply snapshots before any token transfer occurs. + * @dev This function should be called inside the {_beforeTokenTransfer} hook so that + * snapshots are updated prior to any state changes from {_mint}, {_burn}, or {_transfer}. + * It ensures historical balances and total supply remain accurate for snapshot queries. + * + * @param from The address tokens are being transferred from (zero address if minting). + * @param to The address tokens are being transferred to (zero address if burning). + * @param balanceFrom The current balance of `from` before the transfer (used to update snapshot). + * @param balanceTo The current balance of `to` before the transfer (used to update snapshot). + * @param totalSupply The current total supply before the transfer (used to update snapshot). + */ function operateOnTransfer(address from, address to, uint256 balanceFrom, uint256 balanceTo, uint256 totalSupply) external; - } ``` -After each ERC-20 transfer, your contract must call the function `operateOnTransfer` which is the entrypoint for the SnapshotEngine. +During each ERC-20 transfer, before updating the balances and total supply, your contract must call the function `operateOnTransfer` which is the entrypoint for the SnapshotEngine. ## Schema @@ -57,6 +65,472 @@ After each ERC-20 transfer, your contract must call the function `operateOnTrans + + +## Technical + +### Complexity + +| Name | Function | Description | Implemented [yes, no] | Complexity | Best case | Worst case | +| ------------------------------------------------------------ | -------------------------------------- | ------------------------------------------------------------ | --------------------- | ------------------------------------------------------------ | --------- | ----------- | +| Schedule snasphot in the future, after all current snapshots | `scheduleSnapshot` | - | ☑ | O(1) | | | +| Schedule a snapshot at a random place in the future | `scheduleSnapshotNotOptimized` | - | ☑ | O(N) | O(1) | O(N) | +| Schedule snasphot in the past | - | - | ☒ | O(N) | O(1) | O(N) | +| Reschedule a snapshot (in the future) | `_rescheduleSnapshot` | The new time is in the range between the previous snapshot and the next snapshot | ☑ | O(1) | | | +| Reschedule a snapshot (in the future) | - | The new time can be after or before another existent snapshot | ☒ | O(N) | O(1) | O(N) | +| Reschedule a snapshot (in the past) | - | The new time can be in the past | ☒ | - | | | +| Unschedule the last snapshot | `_unscheduleSnapshot` | - | ☑ | O(1) | | | +| Unschedule a random snapshot in the past | `_unscheduleNotOptimized` | - | ☑ | O(N) | O(1) | O(N) | +| Unschedule a random snapshot in the future | `_unscheduleNotOptimized ` | - | ☑ | O(N) | O(1) | O(N) | +| Set the current snapshot | `_setCurrentSnapshot` | - | ☑ | Same as `_findScheduledMostRecentPastSnapshot` | | | +| Update snapshots of the balance of an account | `_updateAccountSnapshot` | - | ☑ | Same as `_updateSnapshot` | | | +| Update snapshots of the total Supply | `_updateTotalSupplySnapshot` | - | ☑ | Same as `_updateSnapshot` | | | +| Get the last snapshot time inside a snapshot ids array | `_lastSnapshot` | - | ☑ | O(1) | | | +| Find a snapshot | `_findScheduledSnapshotIndex` | Find the snapshot index at the specified time | ☑ | O(log2(N))
We use a binary search to find the value at the specified time | | | +| Find the mot recent past snapshot | `_findScheduledMostRecentPastSnapshot` | - | ☑ | O(1)
We only have a O(N) complexity (worst case) if all next scheduled snapshot are situated in the past but no update of the current snapshot has been made. | O(1) | O(N)
| +| Update balance and/or total supply snapshots before the values are modified | `_update`

`transferred` | Call before each transfer. It is very important to have a low complexity because this function is called very often. | ☑ | The complexity depends of th functions `_setCurrentSnapshot` `_updateAccountSnapshot` `_updateTotalSupplySnapshot` | | | +| Get the next scheduled snapshotd | `getNextSnapshots` | - | ☑ | O(N)
Nevertheless, we maintain a pointer on the actual snapshot to avoid loop through past snapshot | | | +| Get all snapshot | `getAllSnapshots` | - | ☑ | O(1)
We directly return the array | | | +| Get the balance of an tokenHolder st the time specified | `snapshotBalanceOf` | Return the number of tokens owned by the given tokenHolder at the time when the snapshot with the given time was created. | ☑ | O(log2(N))
We use a binary search to find the value at the snapshot time | | | +| Get the total supply at the time specified | `snapshotTotalSupply` | - | ☑ | O(log2(N))
We use a binary search to find the value at the snapshot time | | | + +## Schema + +Here are several schema to explain the main functions + +### Get next snapshot + +![SnpashotModule-Schema-getNextSnapshot.drawio](./doc/technical/schema/png/SnpashotModule-Schema-getNextSnapshot.drawio.png) + +### Schedule a snapshot + +![SnpashotModule-Schema-scheduleSnapshot.drawio](./doc/technical/schema/png/SnpashotModule-Schema-scheduleSnapshot.drawio.png) + +### Reschedule a snapshot + +![SnpashotModule-Schema-rescheduleSnapshot.drawio](./doc/technical/schema/png/SnpashotModule-Schema-rescheduleSnapshot.drawio.png) + +### Unschedule a snapshot + +![SnpashotModule-Schema-unscheduleSnapshot.drawio](./doc/technical/schema/png/SnpashotModule-Schema-unscheduleSnapshot.drawio.png) + +## Ethereum API + +### ISnapshotBase + +Base interface for snapshot engines, providing common errors and read-only functions to query snapshots. + +------ + +#### Events + +##### SnapshotSchedule(uint256, uint256) + +```solidity +SnapshotSchedule(uint256 indexed oldTime, uint256 indexed newTime) +``` + +Emitted when a snapshot is scheduled for the first time or rescheduled. + +**Input Parameters:** + +| Name | Type | Description | +| ------- | ------- | -------------------------------------------------------- | +| oldTime | uint256 | The previous scheduled timestamp (0 if newly scheduled). | +| newTime | uint256 | The new scheduled timestamp for the snapshot. | + +------ + +##### SnapshotUnschedule(uint256) + +```solidity +SnapshotUnschedule(uint256 indexed time) +``` + +Emitted when a previously scheduled snapshot is canceled. + +**Input Parameters:** + +| Name | Type | Description | +| ---- | ------- | --------------------------------------------------- | +| time | uint256 | The timestamp of the snapshot that was unscheduled. | + +------ + +#### Errors + +##### SnapshotEngine_SnapshotScheduledInThePast(uint256, uint256) + +```solidity +SnapshotEngine_SnapshotScheduledInThePast(uint256 time, uint256 timestamp) +``` + +Thrown when attempting to schedule a snapshot at a time earlier than the current block timestamp. + +**Input Parameters:** + +| Name | Type | Description | +| --------- | ------- | ---------------------------- | +| time | uint256 | The snapshot time requested. | +| timestamp | uint256 | The current block timestamp. | + +------ + +##### SnapshotEngine_SnapshotTimestampBeforeLastSnapshot(uint256, uint256) + +```solidity +SnapshotEngine_SnapshotTimestampBeforeLastSnapshot(uint256 time, uint256 lastSnapshotTimestamp) +``` + +Thrown when a snapshot timestamp is earlier than the last snapshot timestamp. + +**Input Parameters:** + +| Name | Type | Description | +| --------------------- | ------- | ------------------------------------------ | +| time | uint256 | The snapshot time requested. | +| lastSnapshotTimestamp | uint256 | The timestamp of the most recent snapshot. | + +------ + +##### SnapshotEngine_SnapshotTimestampAfterNextSnapshot(uint256, uint256) + +```solidity +SnapshotEngine_SnapshotTimestampAfterNextSnapshot(uint256 time, uint256 nextSnapshotTimestamp) +``` + +Thrown when a snapshot timestamp is later than the next scheduled snapshot timestamp. + +**Input Parameters:** + +| Name | Type | Description | +| --------------------- | ------- | --------------------------------------------- | +| time | uint256 | The snapshot time requested. | +| nextSnapshotTimestamp | uint256 | The timestamp of the next scheduled snapshot. | + +------ + +##### SnapshotEngine_SnapshotTimestampBeforePreviousSnapshot(uint256,uint256) + +```solidity +SnapshotEngine_SnapshotTimestampBeforePreviousSnapshot(uint256 time, uint256 previousSnapshotTimestamp) +``` + +Thrown when a snapshot timestamp is earlier than the previous snapshot timestamp. + +**Input Parameters:** + +| Name | Type | Description | +| ------------------------- | ------- | --------------------------------------- | +| time | uint256 | The snapshot time requested. | +| previousSnapshotTimestamp | uint256 | The timestamp of the previous snapshot. | + +------ + +##### SnapshotEngine_SnapshotAlreadyExists() + +Thrown when attempting to schedule a snapshot that already exists. + +------ + +##### SnapshotEngine_SnapshotAlreadyDone() + +Thrown when attempting to execute or schedule a snapshot that has already been taken. + +------ + +##### SnapshotEngine_NoSnapshotScheduled() + +Thrown when attempting to unschedule or interact with a snapshot when no snapshot is currently scheduled. + +------ + +##### SnapshotEngine_SnapshotNotFound() + +Thrown when querying or modifying a snapshot that cannot be found. + +------ + +#### Functions + +##### getAllSnapshots() -> (uint256[] memory) + +Get all snapshots that have been created. + +**Return Values:** + +| Name | Type | Description | +| --------- | --------- | ---------------------------------------------- | +| snapshots | uint256[] | Array of timestamps of all existing snapshots. | + +------ + +##### getNextSnapshots() -> (uint256[] memory) + +Get the next scheduled snapshots that have not yet been created. + +**Return Values:** + +| Name | Type | Description | +| ------------- | --------- | ------------------------------------------------------ | +| nextSnapshots | uint256[] | Array of timestamps of all future scheduled snapshots. | + +### SnapshotScheduler + +**Abstract contract for scheduling, rescheduling, and canceling snapshots.** + Provides methods to manage snapshot times (expressed in seconds since epoch) with role-based access control via `SNAPSHOOTER_ROLE`. + +------ + +#### Functions + +##### scheduleSnapshot(uint256) + +```solidity +function scheduleSnapshot(uint256 time) +public onlyRole(SNAPSHOOTER_ROLE) +``` + +Schedules a snapshot at the given time (in seconds since epoch). + +**Details:** + +- The scheduled time cannot be before the latest scheduled but not yet created snapshot. +- Access is restricted to accounts with `SNAPSHOOTER_ROLE`. + +**Input Parameters:** + +| Name | Type | Description | +| ---- | ------- | ----------------------------------- | +| time | uint256 | The scheduled time of the snapshot. | + +------ + +##### scheduleSnapshotNotOptimized(uint256) + +```solidity +function scheduleSnapshotNotOptimized(uint256 time) +public onlyRole(SNAPSHOOTER_ROLE) +``` + +Schedules a snapshot at the given time (non-optimized version). + +**Details:** + +- The scheduled time cannot be before the latest scheduled but not yet created snapshot. +- Access is restricted to accounts with `SNAPSHOOTER_ROLE`. + +**Input Parameters:** + +| Name | Type | Description | +| ---- | ------- | ----------------------------------- | +| time | uint256 | The scheduled time of the snapshot. | + +------ + +##### rescheduleSnapshot(uint256 oldTime, uint256 newTime) + +```solidity +function rescheduleSnapshot(uint256 oldTime,uint256 newTime) +public onlyRole(SNAPSHOOTER_ROLE) +``` + +Reschedules a snapshot from `oldTime` to `newTime`. + +**Details:** + +- The new time cannot be before the previous scheduled snapshot or after the next scheduled snapshot. +- Access is restricted to accounts with `SNAPSHOOTER_ROLE`. + +**Input Parameters:** + +| Name | Type | Description | +| ------- | ------- | -------------------------------------------- | +| oldTime | uint256 | The original scheduled time of the snapshot. | +| newTime | uint256 | The new scheduled time of the snapshot. | + +------ + +##### unscheduleLastSnapshot(uint256 time) + +```solidity +function unscheduleLastSnapshot(uint256 time) +public onlyRole(SNAPSHOOTER_ROLE) +``` + +Cancels the creation of the last scheduled snapshot at the given time. + +**Details:** + +- There must not be any other snapshots scheduled after this one. +- Access is restricted to accounts with `SNAPSHOOTER_ROLE`. + +**Input Parameters:** + +| Name | Type | Description | +| ---- | ------- | --------------------------------------------- | +| time | uint256 | The scheduled time of the snapshot to cancel. | + +------ + +##### unscheduleSnapshotNotOptimized(uint256 time) + +```solidity +function unscheduleSnapshotNotOptimized(uint256 time) +public onlyRole(SNAPSHOOTER_ROLE) +``` + +Cancels the creation of a scheduled snapshot at the given time (non-optimized version). + +**Details:** + +- Access is restricted to accounts with `SNAPSHOOTER_ROLE`. + +**Input Parameters:** + +| Name | Type | Description | +| ---- | ------- | --------------------------------------------- | +| time | uint256 | The scheduled time of the snapshot to cancel. | + + + +### SnapshotState + +**Minimal interface for contracts (e.g. SnapshotEngine or CMTAT) supporting historical balance and total supply queries using snapshots.** + Provides read-only methods to retrieve account balances and total token supply at specific timestamps, either individually or in batch. + +------ + +#### Functions + +##### snapshotBalanceOf(uint256, address) -> (uint256) + +```solidity +function snapshotBalanceOf(uint256 time,address tokenHolder) +external view returns (uint256 tokenHolderBalance); +``` + +Gets the balance of a specific account at the snapshot corresponding to a given timestamp. + +**Input Parameters:** + +| Name | Type | Description | +| ----------- | ------- | ------------------------------------------------ | +| time | uint256 | The timestamp identifying the snapshot to query. | +| tokenHolder | address | The address whose balance is being requested. | + +**Return Values:** + +| Name | Type | Description | +| ------- | ------- | ------------------------------------------------------------ | +| balance | uint256 | The recorded balance at the snapshot, or the current balance if no snapshot exists for that timestamp. | + +------ + +##### snapshotTotalSupply(uint256) -> (uint256) + +```solidity +function snapshotTotalSupply(uint256 time) +public view override(ISnapshotState) +returns (uint256 totalSupply) +``` + +Gets the total token supply at the snapshot corresponding to a given timestamp. + +**Input Parameters:** + +| Name | Type | Description | +| ---- | ------- | ------------------------------------------------ | +| time | uint256 | The timestamp identifying the snapshot to query. | + +**Return Values:** + +| Name | Type | Description | +| ------ | ------- | ------------------------------------------------------------ | +| supply | uint256 | The recorded total supply at the snapshot, or the current total supply if no snapshot exists for that timestamp. | + +------ + +##### snapshotInfo(uint256, address) -> (uint256, uint256) + +```solidity +function snapshotInfo(uint256 time, address tokenHolder) +public view override(ISnapshotState) +returns (uint256 tokenHolderBalance, uint256 totalSupply) +``` + +Retrieves both an account's balance and the total supply at the snapshot for a given timestamp in a single call. + +**Input Parameters:** + +| Name | Type | Description | +| ----------- | ------- | ------------------------------------------------ | +| time | uint256 | The timestamp identifying the snapshot to query. | +| tokenHolder | address | The address whose balance is being requested. | + +**Return Values:** + +| Name | Type | Description | +| ------------------ | ------- | ------------------------------------------------------------ | +| tokenHolderBalance | uint256 | The recorded balance of the tokenHolder at the snapshot, or current balance if no snapshot exists. | +| totalSupply | uint256 | The recorded total supply at the snapshot, or current total supply if no snapshot exists. | + +------ + +##### snapshotInfoBatch(uint256, address[]) -> (uint256[], uint256) + +```solidity +function snapshotInfoBatch(uint256 time, address[] calldata addresses) +public view override(ISnapshotState) +returns (uint256[] memory tokenHolderBalances, uint256 totalSupply) +``` + +Retrieves balances of multiple accounts and the total supply at a snapshot for a given timestamp in a single call. + +**Input Parameters:** + +| Name | Type | Description | +| --------- | --------- | ------------------------------------------------ | +| time | uint256 | The timestamp identifying the snapshot to query. | +| addresses | address[] | The array of addresses to query balances for. | + +**Return Values:** + +| Name | Type | Description | +| ------------------- | --------- | ------------------------------------------------------------ | +| tokenHolderBalances | uint256[] | Array containing each address's balance at the snapshot, or current balance if no snapshot exists. | +| totalSupply | uint256 | The recorded total supply at the snapshot, or current total supply if no snapshot exists. | + +------ + +##### snapshotInfoBatch(uint256[], address[]) -> (uint256, uint256) + +```solidity +function snapshotInfoBatch(uint256[] calldata times, address[] calldata addresses) +public view override(ISnapshotState) +returns (uint256[][] memory tokenHolderBalances, uint256[] memory totalSupply) +``` + +Retrieves balances of multiple accounts at multiple snapshots, as well as the total supply at each snapshot. + +**Input Parameters:** + +| Name | Type | Description | +| --------- | --------- | ---------------------------------------------------------- | +| times | uint256[] | Array of timestamps identifying each snapshot to query. | +| addresses | address[] | Array of addresses to query balances for at each snapshot. | + +**Return Values:** + +| Name | Type | Description | +| ------------------- | ----------- | ------------------------------------------------------------ | +| tokenHolderBalances | uint256[][] | 2D array where each row corresponds to the balances of all provided addresses at a given snapshot. | +| totalSupplies | uint256[] | Array containing the total supply at each snapshot, or current supply if no snapshot exists. | + +## Storage management (ERC-7201) + +While SnapshotEngine can not be deployed with a proxy, modules implement [ERC-7201](https://eips.ethereum.org/EIPS/eip-7201) to allow them to be directly used by a potential CMTAT deployment version. + ## Usage instructions ### Dependencies @@ -64,13 +538,24 @@ After each ERC-20 transfer, your contract must call the function `operateOnTrans The toolchain includes the following components, where the versions are the latest ones that we tested: -- npm 10.2.5 -- Hardhat ^2.22.7 -- Solidity 0.8.28 (via solc-js) -- Node 20.5.0 -- CMTAT [v3.0.0-rc2](https://github.com/CMTA/CMTAT/releases/tag/v3.0.0-rc2) -- OpenZeppelin Contracts (Node.js module) [v5.3.0](https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v5.3.0) -- OpenZeppelin Contracts Upgradeable (Node.js module) [v5.3.0](https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/releases/tag/v5.3.0) (to compile CMTAT) +- Development + + - npm 10.2.5 + - Hardhat ^2.22.7 + - Node 20.5.0 + +- Compilation + + - Solidity [v0.8.30](https://docs.soliditylang.org/en/v0.8.30/) + + - CMTAT [v3.0.0-rc7](https://github.com/CMTA/CMTAT/releases/tag/v3.0.0-rc7) + + - OpenZeppelin + + - OpenZeppelin Contracts (Node.js module) [v5.4.0](https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v5.4.0) + + - OpenZeppelin Contracts Upgradeable (Node.js module) [v5.4.0](https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/releases/tag/v5.4.0) (to compile CMTAT) + ### Installation @@ -179,18 +664,42 @@ npm run-script coverage -### [Slither](https://github.com/crytic/slither) +### Docgen (Solidity API) + +```solidity +npm run-script docgen +``` + + + +## Security + +### Vulnerability disclosure + +Please see [SECURITY.md](https://github.com/CMTA/CMTAT/blob/master/SECURITY.md) (CMTAT main repository). + +### Audit + +This project is not audited ! + +### Tools + +#### [Slither](https://github.com/crytic/slither) Slither is a Solidity static analysis framework written in Python3 ```bash -slither . --checklist --filter-paths "openzeppelin-contracts-upgradeable|openzeppelin-contracts|@openzeppelin|test|CMTAT" > slither-report.md +slither . --checklist --filter-paths "openzeppelin-contracts-upgradeable|openzeppelin-contracts|@openzeppelin|test|CMTAT|mock" > slither-report.md ``` -### Docgen (Solidity API) -```solidity -npm run-script docgen + +#### Aderyn + +Here is the list of report performed with [Aderyn](https://github.com/Cyfrin/aderyn) + +```bash +aderyn -x mock --output aderyn-report.md ``` @@ -202,7 +711,7 @@ You can find a prototype to distribute on-chain dividend based on on-chain snaps - [Taurus - Equity Tokenization: How to Pay Dividend On-Chain Using CMTAT](https://www.taurushq.com/blog/equity-tokenization-how-to-pay-dividend-on-chain-using-cmtat/) - [CMTAT IncomeVault](https://github.com/CMTA/IncomeVault) -Note that this project used snapshots when they were performed directly inside CMTAT, see [CMTAT v2.4.0](https://github.com/CMTA/CMTAT/releases/tag/v2.4.0), not through the SnapshotEngine but the principle is similar. +Note that this project used snapshots when they were performed directly inside CMTAT, see [CMTAT v2.4.0](https://github.com/CMTA/CMTAT/releases/tag/v2.4.0), not through the `SnapshotEngine` but the principle is similar. ## Intellectual property diff --git a/SECURITY.md b/SECURITY.md index 496e327..d932a2d 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -2,6 +2,5 @@ ## Reporting a Vulnerability -To report a security vulnerability in CMTAT Factory, please see instruction in [CMTA/CMTAT/SECURITY.md](https://github.com/CMTA/CMTAT/blob/master/SECURITY.md) - +To report a security vulnerability in this project, please see instruction in [CMTA/CMTAT/SECURITY.md](https://github.com/CMTA/CMTAT/blob/master/SECURITY.md) diff --git a/contracts/SnapshotEngine.sol b/contracts/SnapshotEngine.sol index fe0ee88..f25d84e 100644 --- a/contracts/SnapshotEngine.sol +++ b/contracts/SnapshotEngine.sol @@ -2,24 +2,25 @@ pragma solidity ^0.8.20; -import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +/* ==== OpenZeppelin === */ import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol"; +/* ==== Modules === */ +import {SnapshotScheduler} from "./modules/SnapshotScheduler.sol"; +import {SnapshotState} from "./modules/SnapshotState.sol"; +import {VersionModule} from "./modules/VersionModule.sol"; +/* ==== Interfaces and library === */ import {SnapshotBase} from "./library/SnapshotBase.sol"; -import {ISnapshotState} from "./interface/ISnapshotState.sol"; import {ISnapshotEngine} from "../CMTAT/contracts/interfaces/engine/ISnapshotEngine.sol"; +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {Errors} from "./library/Errors.sol"; -contract SnapshotEngine is SnapshotBase, AccessControl, ISnapshotEngine, ISnapshotState { - /* ============ State Variables ============ */ - bytes32 public constant SNAPSHOOTER_ROLE = keccak256("SNAPSHOOTER_ROLE"); - /// @notice token contract - bytes32 public constant TOKEN_CONTRACT_ROLE = - keccak256("TOKEN_CONTRACT_ROLE"); - /** - * @notice - * Get the current version of the smart contract - */ - string public constant VERSION = "0.2.0"; - IERC20 immutable erc20; +contract SnapshotEngine is SnapshotState, SnapshotScheduler, VersionModule, ISnapshotEngine { + /* ==== Modifier === */ + modifier onlyBoundToken() { + if (_msgSender() != address(erc20)) { + revert Errors.SnapshotEngine_UnauthorizedCaller(); + } + _; + } /* ============ Constructor ============ */ constructor(IERC20 erc20_, address admin) { @@ -27,11 +28,8 @@ contract SnapshotEngine is SnapshotBase, AccessControl, ISnapshotEngine, ISnapsh require(admin != address(0), Errors.SnapshotEngine_AddressZeroNotAllowedForAdmin()); erc20 = erc20_; _grantRole(DEFAULT_ADMIN_ROLE, admin); - _grantRole(TOKEN_CONTRACT_ROLE, address(erc20_)); } - - /*////////////////////////////////////////////////////////////// PUBLIC/EXTERNAL FUNCTIONS //////////////////////////////////////////////////////////////*/ @@ -52,11 +50,10 @@ contract SnapshotEngine is SnapshotBase, AccessControl, ISnapshotEngine, ISnapsh /*////////////////////////////////////////////////////////////// ERC-20 ENTRY POINT //////////////////////////////////////////////////////////////*/ - /** - * @dev Update balance and/or total supply snapshots before the values are modified. This is implemented - * in the _beforeTokenTransfer hook, which is executed for _mint, _burn, and _transfer operations. + /** + * @inheritdoc ISnapshotEngine */ - function operateOnTransfer(address from, address to, uint256 balanceFrom, uint256 balanceTo, uint256 totalSupply) public override onlyRole(TOKEN_CONTRACT_ROLE) { + function operateOnTransfer(address from, address to, uint256 balanceFrom, uint256 balanceTo, uint256 totalSupply) public override onlyBoundToken() { SnapshotBase._setCurrentSnapshot(); if (from != address(0)) { // for both burn and transfer @@ -74,118 +71,4 @@ contract SnapshotEngine is SnapshotBase, AccessControl, ISnapshotEngine, ISnapsh SnapshotBase._updateTotalSupplySnapshot(totalSupply); } } - - - /*////////////////////////////////////////////////////////////// - GET SNAPSHOT STATE - //////////////////////////////////////////////////////////////*/ - /** - * @notice Return snapshotBalanceOf and snapshotTotalSupply to avoid multiple calls - * @return ownerBalance , totalSupply - see snapshotBalanceOf and snapshotTotalSupply - */ - function snapshotInfo(uint256 time, address owner) public view returns (uint256 ownerBalance, uint256 totalSupply) { - ownerBalance = snapshotBalanceOf(time, owner); - totalSupply = snapshotTotalSupply(time); - } - - /** - * @notice Return snapshotBalanceOf for each address in the array and the total supply - * @return ownerBalances array with the balance of each address, the total supply - */ - function snapshotInfoBatch(uint256 time, address[] calldata addresses) public view returns (uint256[] memory ownerBalances, uint256 totalSupply) { - ownerBalances = new uint256[](addresses.length); - for(uint256 i = 0; i < addresses.length; ++i){ - ownerBalances[i] = snapshotBalanceOf(time, addresses[i]); - } - totalSupply = snapshotTotalSupply(time); - } - - /** - * @notice Return snapshotBalanceOf for each address in the array and the total supply - * @return ownerBalances array with the balance of each address, the total supply - */ - function snapshotInfoBatch(uint256[] calldata times, address[] calldata addresses) public view returns (uint256[][] memory ownerBalances, uint256[] memory totalSupply) { - ownerBalances = new uint256[][](times.length); - totalSupply = new uint256[](times.length); - for(uint256 iT = 0; iT < times.length; ++iT){ - (ownerBalances[iT], totalSupply[iT]) = snapshotInfoBatch(times[iT],addresses); - } - } - - /** - * @notice Return the number of tokens owned by the given owner at the time when the snapshot with the given time was created. - * @return value stored in the snapshot, or the actual balance if no snapshot - */ - function snapshotBalanceOf( - uint256 time, - address owner - ) public view returns (uint256) { - return SnapshotBase._snapshotBalanceOf(time, owner, erc20.balanceOf(owner)); - } - - /** - * @dev See {OpenZeppelin - ERC20Snapshot} - * Retrieves the total supply at the specified time. - * @return value stored in the snapshot, or the actual totalSupply if no snapshot - */ - function snapshotTotalSupply(uint256 time) public view returns (uint256) { - return SnapshotBase._snapshotTotalSupply(time, erc20.totalSupply()); - } - - /*////////////////////////////////////////////////////////////// - RESTRICTED FUNCTIONS - //////////////////////////////////////////////////////////////*/ - - /** - * @notice - * Schedule a snapshot at the given time specified as a number of seconds since epoch. - * The time cannot be before the time of the latest scheduled, but not yet created snapshot. - */ - function scheduleSnapshot(uint256 time) public onlyRole(SNAPSHOOTER_ROLE) { - SnapshotBase._scheduleSnapshot(time); - } - - /** - * @notice - * Schedule a snapshot at the given time specified as a number of seconds since epoch. - * The time cannot be before the time of the latest scheduled, but not yet created snapshot. - */ - function scheduleSnapshotNotOptimized( - uint256 time - ) public onlyRole(SNAPSHOOTER_ROLE) { - SnapshotBase._scheduleSnapshotNotOptimized(time); - } - - /** - * @notice - * Reschedule the scheduled snapshot, but not yet created snapshot with the given oldTime to be created at the given newTime specified as a number of seconds since epoch. - * The newTime cannot be before the time of the previous scheduled, but not yet created snapshot, or after the time fo the next scheduled snapshot. - */ - function rescheduleSnapshot( - uint256 oldTime, - uint256 newTime - ) public onlyRole(SNAPSHOOTER_ROLE) { - SnapshotBase._rescheduleSnapshot(oldTime, newTime); - } - - /** - * @notice - * Cancel creation of the scheduled snapshot, but not yet created snapshot with the given time. - * There should not be any other snapshots scheduled after this one. - */ - function unscheduleLastSnapshot( - uint256 time - ) public onlyRole(SNAPSHOOTER_ROLE) { - SnapshotBase._unscheduleLastSnapshot(time); - } - - /** - * @notice - * Cancel creation of the scheduled snapshot, but not yet created snapshot with the given time. - */ - function unscheduleSnapshotNotOptimized( - uint256 time - ) public onlyRole(SNAPSHOOTER_ROLE) { - SnapshotBase._unscheduleSnapshotNotOptimized(time); - } } diff --git a/contracts/interface/ISnapshotBase.sol b/contracts/interface/ISnapshotBase.sol new file mode 100644 index 0000000..f52e718 --- /dev/null +++ b/contracts/interface/ISnapshotBase.sol @@ -0,0 +1,88 @@ +//SPDX-License-Identifier: MPL-2.0 + +pragma solidity ^0.8.20; + +/// @title ISnapshotBase +/// @notice Base interface for snapshot engines, providing common errors and read-only functions to query snapshots. +interface ISnapshotBase { + /* ============ Events ============ */ + /** + * @notice Emitted when a snapshot is scheduled for the first time or rescheduled. + * @param oldTime The previous scheduled timestamp (0 if newly scheduled). + * @param newTime The new scheduled timestamp for the snapshot. + */ + event SnapshotSchedule(uint256 indexed oldTime, uint256 indexed newTime); + + /** + * @notice Emitted when a previously scheduled snapshot is canceled. + * @param time The timestamp of the snapshot that was unscheduled. + */ + event SnapshotUnschedule(uint256 indexed time); + + /* ============ Erros ============ */ + /** + * @notice Thrown when attempting to schedule a snapshot at a time earlier than the current block timestamp. + * @param time The snapshot time requested. + * @param timestamp The current block timestamp. + */ + error SnapshotEngine_SnapshotScheduledInThePast( + uint256 time, + uint256 timestamp + ); + /** + * @notice Thrown when a snapshot timestamp is earlier than the last snapshot timestamp. + * @param time The snapshot time requested. + * @param lastSnapshotTimestamp The timestamp of the most recent snapshot. + */ + error SnapshotEngine_SnapshotTimestampBeforeLastSnapshot( + uint256 time, + uint256 lastSnapshotTimestamp + ); + /** + * @notice Thrown when a snapshot timestamp is later than the next scheduled snapshot timestamp. + * @param time The snapshot time requested. + * @param nextSnapshotTimestamp The timestamp of the next scheduled snapshot. + */ + error SnapshotEngine_SnapshotTimestampAfterNextSnapshot( + uint256 time, + uint256 nextSnapshotTimestamp + ); + /** + * @notice Thrown when a snapshot timestamp is earlier than the previous snapshot timestamp. + * @param time The snapshot time requested. + * @param previousSnapshotTimestamp The timestamp of the previous snapshot. + */ + error SnapshotEngine_SnapshotTimestampBeforePreviousSnapshot( + uint256 time, + uint256 previousSnapshotTimestamp + ); + /** + * @notice Thrown when attempting to schedule a snapshot that already exists. + */ + error SnapshotEngine_SnapshotAlreadyExists(); + /** + * @notice Thrown when attempting to execute or schedule a snapshot that has already been taken. + */ + error SnapshotEngine_SnapshotAlreadyDone(); + /** + * @notice Thrown when attempting to unschedule or interact with a snapshot when no snapshot is currently scheduled. + */ + error SnapshotEngine_NoSnapshotScheduled(); + /** + * @notice Thrown when querying or modifying a snapshot that cannot be found. + */ + error SnapshotEngine_SnapshotNotFound(); + + /* ============ Functions ============ */ + /** + * @notice Get all snapshots that have been created. + * @return An array of timestamps representing all existing snapshots. + */ + function getAllSnapshots() external view returns (uint256[] memory); + + /** + * @notice Get the next scheduled snapshots that have not yet been created. + * @return An array of timestamps representing all future scheduled snapshots. + */ + function getNextSnapshots() external view returns (uint256[] memory); +} diff --git a/contracts/interface/ISnapshotScheduler.sol b/contracts/interface/ISnapshotScheduler.sol new file mode 100644 index 0000000..7764b7d --- /dev/null +++ b/contracts/interface/ISnapshotScheduler.sol @@ -0,0 +1,47 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/// @title ISnapshotScheduler +/// @notice Interface for scheduling, rescheduling, and canceling snapshots +interface ISnapshotScheduler { + /** + * @notice Schedule a snapshot at the given time specified as a number of seconds since epoch. + * @dev The time cannot be before the latest scheduled but not yet created snapshot. + * Access restricted to accounts with SNAPSHOOTER_ROLE. + * @param time The scheduled time of the snapshot. + */ + function scheduleSnapshot(uint256 time) external; + + /** + * @notice Schedule a snapshot at the given time specified as a number of seconds since epoch (non-optimized version). + * @dev The time cannot be before the latest scheduled but not yet created snapshot. + * Access restricted to accounts with SNAPSHOOTER_ROLE. + * @param time The scheduled time of the snapshot. + */ + function scheduleSnapshotNotOptimized(uint256 time) external; + + /** + * @notice Reschedule a snapshot from oldTime to newTime. + * @dev The new time cannot be before the previous scheduled snapshot + * or after the next scheduled snapshot. + * Access restricted to accounts with SNAPSHOOTER_ROLE. + * @param oldTime The original scheduled time of the snapshot. + * @param newTime The new scheduled time of the snapshot. + */ + function rescheduleSnapshot(uint256 oldTime, uint256 newTime) external; + + /** + * @notice Cancel creation of the last scheduled snapshot at the given time. + * @dev There must not be any other snapshots scheduled after this one. + * Access restricted to accounts with SNAPSHOOTER_ROLE. + * @param time The scheduled time of the snapshot to cancel. + */ + function unscheduleLastSnapshot(uint256 time) external; + + /** + * @notice Cancel creation of the scheduled snapshot at the given time (non-optimized version). + * @dev Access restricted to accounts with SNAPSHOOTER_ROLE. + * @param time The scheduled time of the snapshot to cancel. + */ + function unscheduleSnapshotNotOptimized(uint256 time) external; +} \ No newline at end of file diff --git a/contracts/interface/ISnapshotState.sol b/contracts/interface/ISnapshotState.sol index e33d7e3..b503a67 100644 --- a/contracts/interface/ISnapshotState.sol +++ b/contracts/interface/ISnapshotState.sol @@ -3,36 +3,48 @@ pragma solidity ^0.8.20; /** -* @notice minimum interface to represent a CMTAT with snapshot -*/ + * @title ISnapshotState + * @notice Minimal interface for a contract (e.g. SnapshotEngine or CMTAT) that supports querying historical balances and total supply using snapshots. + */ interface ISnapshotState { - /** - * @notice Return the number of tokens owned by the given owner at the time when the snapshot with the given time was created. - * @return value stored in the snapshot, or the actual balance if no snapshot - */ - function snapshotBalanceOf(uint256 time,address owner) external view returns (uint256); + /** + * @notice Get the balance of a specific tokenHolder at the snapshot corresponding to a given timestamp. + * @param time The timestamp identifying the snapshot to query. + * @param tokenHolder The address whose balance is being requested. + * @return tokenHolderBalance The recorded balance at the snapshot, or the current balance if no snapshot exists for that timestamp. + */ + function snapshotBalanceOf(uint256 time,address tokenHolder) external view returns (uint256 tokenHolderBalance); + /** - * @dev See {OpenZeppelin - ERC20Snapshot} - * Retrieves the total supply at the specified time. - * @return value stored in the snapshot, or the actual totalSupply if no snapshot - */ - function snapshotTotalSupply(uint256 time) external view returns (uint256); + * @notice Get the total token supply at the snapshot corresponding to a given timestamp. + * @param time The timestamp identifying the snapshot to query. + * @return totalSupply The recorded total supply at the snapshot, or the current total supply if no snapshot exists for that timestamp. + */ + function snapshotTotalSupply(uint256 time) external view returns (uint256 totalSupply); + /** - * @notice Return snapshotBalanceOf and snapshotTotalSupply to avoid multiple calls - * @return ownerBalance , totalSupply - see snapshotBalanceOf and snapshotTotalSupply - */ - function snapshotInfo(uint256 time, address owner) external view returns (uint256 ownerBalance, uint256 totalSupply); + * @notice Retrieve both an account's balance and the total supply at the snapshot for a given timestamp in a single call. + * @param time The timestamp identifying the snapshot to query. + * @param tokenHolder The address whose balance is being requested. + * @return tokenHolderBalance The recorded balance of the tokenHolder at the snapshot (or current balance if no snapshot). + * @return totalSupply The recorded total supply at the snapshot (or current total supply if no snapshot). + */ + function snapshotInfo(uint256 time, address tokenHolder) external view returns (uint256 tokenHolderBalance, uint256 totalSupply); /** - * @notice Return snapshotBalanceOf for each address in the array and the total supply - * @return ownerBalances array with the balance of each address, the total supply - */ - function snapshotInfoBatch(uint256 time, address[] calldata addresses) external view returns (uint256[] memory ownerBalances, uint256 totalSupply); + * @notice Retrieve the balances of multiple accounts and the total supply at the snapshot for a given timestamp in a single call. + * @param time The timestamp identifying the snapshot to query. + * @param addresses The array of addresses to query balances for. + * @return tokenHolderBalances An array containing each address's balance at the snapshot (or current balance if no snapshot). + * @return totalSupply The recorded total supply at the snapshot (or current total supply if no snapshot). + */ + function snapshotInfoBatch(uint256 time, address[] calldata addresses) external view returns (uint256[] memory tokenHolderBalances, uint256 totalSupply); /** - * @notice Return snapshotBalanceOf for each address in the array and the total supply - * @return ownerBalances array with the balance of each address, the total supply - */ - function snapshotInfoBatch(uint256[] calldata times, address[] calldata addresses) external view returns (uint256[][] memory ownerBalances, uint256[] memory totalSupply); - - + * @notice Retrieve balances of multiple accounts at multiple snapshots, as well as the total supply at each snapshot. + * @param times An array of timestamps identifying each snapshot to query. + * @param addresses The array of addresses to query balances for at each snapshot. + * @return tokenHolderBalances A 2D array where each row corresponds to the balances of all provided addresses at a given snapshot time. + * @return totalSupplies An array containing the total supply at each snapshot time (or current supply if no snapshot). + */ + function snapshotInfoBatch(uint256[] calldata times, address[] calldata addresses) external view returns (uint256[][] memory tokenHolderBalances, uint256[] memory totalSupplies); } diff --git a/contracts/library/Errors.sol b/contracts/library/Errors.sol index 4f72a2c..edea662 100644 --- a/contracts/library/Errors.sol +++ b/contracts/library/Errors.sol @@ -6,28 +6,7 @@ pragma solidity ^0.8.20; * @dev SnapshotEngine custom errors */ library Errors { - // Constructor error SnapshotEngine_AddressZeroNotAllowedForERC20(); error SnapshotEngine_AddressZeroNotAllowedForAdmin(); - - error SnapshotEngine_SnapshotScheduledInThePast( - uint256 time, - uint256 timestamp - ); - error SnapshotEngine_SnapshotTimestampBeforeLastSnapshot( - uint256 time, - uint256 lastSnapshotTimestamp - ); - error SnapshotEngine_SnapshotTimestampAfterNextSnapshot( - uint256 time, - uint256 nextSnapshotTimestamp - ); - error SnapshotEngine_SnapshotTimestampBeforePreviousSnapshot( - uint256 time, - uint256 previousSnapshotTimestamp - ); - error SnapshotEngine_SnapshotAlreadyExists(); - error SnapshotEngine_SnapshotAlreadyDone(); - error SnapshotEngine_NoSnapshotScheduled(); - error SnapshotEngine_SnapshotNotFound(); + error SnapshotEngine_UnauthorizedCaller(); } diff --git a/contracts/library/SnapshotBase.sol b/contracts/library/SnapshotBase.sol index e775187..7035104 100644 --- a/contracts/library/SnapshotBase.sol +++ b/contracts/library/SnapshotBase.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.20; import {Arrays} from '@openzeppelin/contracts/utils/Arrays.sol'; -import {Errors} from "./Errors.sol"; +import {ISnapshotBase} from "../interface/ISnapshotBase.sol"; /** * @dev Base for the Snapshot Engine @@ -14,7 +14,7 @@ import {Errors} from "./Errors.sol"; * because overriding this function can break the contract. */ -abstract contract SnapshotBase { +abstract contract SnapshotBase is ISnapshotBase { using Arrays for uint256[]; /* ============ Structs ============ * /** @@ -27,73 +27,70 @@ abstract contract SnapshotBase { uint256[] ids; uint256[] values; } - /* ============ Events ============ */ - /** - @notice Emitted when the snapshot with the specified oldTime was scheduled or rescheduled at the specified newTime. - */ - event SnapshotSchedule(uint256 indexed oldTime, uint256 indexed newTime); - - /** - * @notice Emitted when the scheduled snapshot with the specified time was cancelled. - */ - event SnapshotUnschedule(uint256 indexed time); + /* ============ State variables ============ */ + /* ============ ERC-7201 ============ */ + // keccak256(abi.encode(uint256(keccak256("SnapshotEngine.storage.SnapshotBase")) - 1)) & ~bytes32(uint256(0xff)) + bytes32 private constant SnapshotBaseStorageLocation = 0x446b515f00c65e1121a2481143a8b54956b614a426d595c02642460414bff800; + + /* ==== ERC-7201 State Variables === */ + struct SnapshotBaseStorage { + /** + * @dev See {OpenZeppelin - ERC20Snapshot} + */ + mapping(address => Snapshots) _accountBalanceSnapshots; + Snapshots _totalSupplySnapshots; + /** + * @dev time instead of a counter for OpenZeppelin + */ + // Initialized to zero + uint256 _currentSnapshotTime; + // Initialized to zero + uint256 _currentSnapshotIndex; + /** + * @dev + * list of scheduled snapshot (time) + * This list is sorted in ascending order + */ + uint256[] _scheduledSnapshots; + } - /** - * @dev See {OpenZeppelin - ERC20Snapshot} - */ - mapping(address => Snapshots) internal _accountBalanceSnapshots; - Snapshots internal _totalSupplySnapshots; - /** - * @dev time instead of a counter for OpenZeppelin - */ - // Initialized to zero - uint256 internal _currentSnapshotTime; - // Initialized to zero - uint256 internal _currentSnapshotIndex; - /** - * @dev - * list of scheduled snapshot (time) - * This list is sorted in ascending order - */ - uint256[] internal _scheduledSnapshots; - /*////////////////////////////////////////////////////////////// PUBLIC/EXTERNAL FUNCTIONS //////////////////////////////////////////////////////////////*/ - /** - * - * @notice Get all snapshots + /** + " @inheritdoc ISnapshotBase */ function getAllSnapshots() public view returns (uint256[] memory) { - return _scheduledSnapshots; + SnapshotBaseStorage storage $ = _getSnapshotBaseStorage(); + return $._scheduledSnapshots; } - /** - * @dev - * Get the next scheduled snapshots + + /** + " @inheritdoc ISnapshotBase */ function getNextSnapshots() public view returns (uint256[] memory) { + SnapshotBaseStorage storage $ = _getSnapshotBaseStorage(); uint256[] memory nextScheduledSnapshot = new uint256[](0); // no snapshot were planned - if (_scheduledSnapshots.length > 0) { + if ($._scheduledSnapshots.length > 0) { ( uint256 timeLowerBound, uint256 indexLowerBound - ) = _findScheduledMostRecentPastSnapshot(); + ) = _findScheduledMostRecentPastSnapshot($); // All snapshots are situated in the futur - if ((timeLowerBound == 0) && (_currentSnapshotTime == 0)) { - return _scheduledSnapshots; + if ((timeLowerBound == 0) && ($._currentSnapshotTime == 0)) { + return $._scheduledSnapshots; } else { // There are snapshots situated in the futur - if (indexLowerBound + 1 != _scheduledSnapshots.length) { + if (indexLowerBound + 1 != $._scheduledSnapshots.length) { // All next snapshots are located after the snapshot specified by indexLowerBound - uint256 arraySize = _scheduledSnapshots.length - + uint256 arraySize = $._scheduledSnapshots.length - indexLowerBound - 1; nextScheduledSnapshot = new uint256[](arraySize); - // No need of unchecked block since Soliditiy 0.8.22 - for (uint256 i; i < arraySize; ++i) { - nextScheduledSnapshot[i] = _scheduledSnapshots[ + for (uint256 i = 0; i < arraySize; ++i) { + nextScheduledSnapshot[i] = $._scheduledSnapshots[ indexLowerBound + 1 + i ]; } @@ -104,33 +101,35 @@ abstract contract SnapshotBase { } /*////////////////////////////////////////////////////////////// - INTERNAL/PRIVATE FUNCTIONS + INTERNAL FUNCTIONS //////////////////////////////////////////////////////////////*/ + /* ============ State functions ============ */ + /** * @dev schedule a snapshot at the specified time * You can only add a snapshot after the last previous */ function _scheduleSnapshot(uint256 time) internal { + SnapshotBaseStorage storage $ = _getSnapshotBaseStorage(); // Check the time firstly to avoid an useless read of storage _checkTimeInThePast(time); - if (_scheduledSnapshots.length > 0) { + if ($._scheduledSnapshots.length > 0) { // We check the last snapshot on the list - uint256 nextSnapshotTime = _scheduledSnapshots[ - _scheduledSnapshots.length - 1 + uint256 nextSnapshotTime = $._scheduledSnapshots[ + $._scheduledSnapshots.length - 1 ]; if (time < nextSnapshotTime) { - revert Errors - .SnapshotEngine_SnapshotTimestampBeforeLastSnapshot( + revert SnapshotEngine_SnapshotTimestampBeforeLastSnapshot( time, nextSnapshotTime ); } else if (time == nextSnapshotTime) { - revert Errors.SnapshotEngine_SnapshotAlreadyExists(); + revert SnapshotEngine_SnapshotAlreadyExists(); } } - _scheduledSnapshots.push(time); + $._scheduledSnapshots.push(time); emit SnapshotSchedule(0, time); } @@ -138,26 +137,36 @@ abstract contract SnapshotBase { * @dev schedule a snapshot at the specified time */ function _scheduleSnapshotNotOptimized(uint256 time) internal { + SnapshotBaseStorage storage $ = _getSnapshotBaseStorage(); _checkTimeInThePast(time); - (bool isFound, uint256 index) = _findScheduledSnapshotIndex(time); + (bool isFound, uint256 index) = _findScheduledSnapshotIndex($, time); // Perfect match if (isFound) { - revert Errors.SnapshotEngine_SnapshotAlreadyExists(); + revert SnapshotEngine_SnapshotAlreadyExists(); } // if no upper bound match found, we push the snapshot at the end of the list - if (index == _scheduledSnapshots.length) { - _scheduledSnapshots.push(time); + if (index == $._scheduledSnapshots.length) { + $._scheduledSnapshots.push(time); } else { - _scheduledSnapshots.push( - _scheduledSnapshots[_scheduledSnapshots.length - 1] + // Increase the array by pushing the value of the current last snapshot at the end + // Can not use a local variable because push is only available for storage array + $._scheduledSnapshots.push( + $._scheduledSnapshots[$._scheduledSnapshots.length - 1] ); - for (uint256 i = _scheduledSnapshots.length - 2; i > index; ) { - _scheduledSnapshots[i] = _scheduledSnapshots[i - 1]; + // Create a local variable to store computation result + uint256[] memory scheduledSnapshotLocal = $._scheduledSnapshots; + // Move to the right the snapshots located after the target snapshot (index) + for (uint256 i = scheduledSnapshotLocal.length - 2; i > index; ) { + scheduledSnapshotLocal[i] = scheduledSnapshotLocal[i - 1]; unchecked { --i; } } - _scheduledSnapshots[index] = time; + // Insert the target snapshot + scheduledSnapshotLocal[index] = time; + + // Update the storage variable with the local one + $._scheduledSnapshots = scheduledSnapshotLocal; } emit SnapshotSchedule(0, time); } @@ -169,31 +178,34 @@ abstract contract SnapshotBase { // Check the time firstly to avoid an useless read of storage _checkTimeSnapshotAlreadyDone(oldTime); _checkTimeInThePast(newTime); - if (_scheduledSnapshots.length == 0) { - revert Errors.SnapshotEngine_NoSnapshotScheduled(); + SnapshotBaseStorage storage $ = _getSnapshotBaseStorage(); + if ($._scheduledSnapshots.length == 0) { + revert SnapshotEngine_NoSnapshotScheduled(); } - uint256 index = _findAndRevertScheduledSnapshotIndex(oldTime); - if (index + 1 < _scheduledSnapshots.length) { - uint256 nextSnapshotTime = _scheduledSnapshots[index + 1]; + uint256 index = _findAndRevertScheduledSnapshotIndex($, oldTime); + // there is a snapshot after the target new time snapshot + if (index + 1 < $._scheduledSnapshots.length) { + uint256 nextSnapshotTime = $._scheduledSnapshots[index + 1]; + // new time can not be after the next current snapshot if (newTime > nextSnapshotTime) { - revert Errors - .SnapshotEngine_SnapshotTimestampAfterNextSnapshot( + revert SnapshotEngine_SnapshotTimestampAfterNextSnapshot( newTime, nextSnapshotTime ); } else if (newTime == nextSnapshotTime) { - revert Errors.SnapshotEngine_SnapshotAlreadyExists(); + revert SnapshotEngine_SnapshotAlreadyExists(); } } + // There is a snapshot before the target new time snapshot if (index > 0) { - if (newTime <= _scheduledSnapshots[index - 1]) - revert Errors - .SnapshotEngine_SnapshotTimestampBeforePreviousSnapshot( + if (newTime <= $._scheduledSnapshots[index - 1]) + revert SnapshotEngine_SnapshotTimestampBeforePreviousSnapshot( newTime, - _scheduledSnapshots[index - 1] + $._scheduledSnapshots[index - 1] ); } - _scheduledSnapshots[index] = newTime; + // Update the time for the target snapshot + $._scheduledSnapshots[index] = newTime; emit SnapshotSchedule(oldTime, newTime); } @@ -204,14 +216,16 @@ abstract contract SnapshotBase { function _unscheduleLastSnapshot(uint256 time) internal { // Check the time firstly to avoid an useless read of storage _checkTimeSnapshotAlreadyDone(time); - if (_scheduledSnapshots.length == 0) { - revert Errors.SnapshotEngine_NoSnapshotScheduled(); + SnapshotBaseStorage storage $ = _getSnapshotBaseStorage(); + if ($._scheduledSnapshots.length == 0) { + revert SnapshotEngine_NoSnapshotScheduled(); } // All snapshot time are unique, so we do not check the indice - if (time !=_scheduledSnapshots[_scheduledSnapshots.length - 1]) { - revert Errors.SnapshotEngine_SnapshotNotFound(); + if (time !=$._scheduledSnapshots[$._scheduledSnapshots.length - 1]) { + revert SnapshotEngine_SnapshotNotFound(); } - _scheduledSnapshots.pop(); + // Update the storage variable with the local one + $._scheduledSnapshots.pop(); emit SnapshotUnschedule(time); } @@ -223,13 +237,108 @@ abstract contract SnapshotBase { */ function _unscheduleSnapshotNotOptimized(uint256 time) internal { _checkTimeSnapshotAlreadyDone(time); - - uint256 index = _findAndRevertScheduledSnapshotIndex(time); - // No need of unchecked block since Soliditiy 0.8.22 - for (uint256 i = index; i + 1 < _scheduledSnapshots.length; ++i ) { - _scheduledSnapshots[i] = _scheduledSnapshots[i + 1]; + SnapshotBaseStorage storage $ = _getSnapshotBaseStorage(); + uint256 index = _findAndRevertScheduledSnapshotIndex($, time); + // Create a local variable to store computation result + uint256[] memory scheduledSnapshotLocal = $._scheduledSnapshots; + for (uint256 i = index; i + 1 < scheduledSnapshotLocal.length; ++i ) { + scheduledSnapshotLocal[i] = scheduledSnapshotLocal[i + 1]; + } + // Update the storage variable with the local one + $._scheduledSnapshots = scheduledSnapshotLocal; + // pop is only available for storage array + $._scheduledSnapshots.pop(); + } + + + /** + * @dev + * Set the currentSnapshotTime by retrieving the most recent snapshot + * if a snapshot exists, clear all past scheduled snapshot + */ + function _setCurrentSnapshot() internal { + SnapshotBaseStorage storage $ = _getSnapshotBaseStorage(); + ( + uint256 scheduleSnapshotTime, + uint256 scheduleSnapshotIndex + ) = _findScheduledMostRecentPastSnapshot($); + if (scheduleSnapshotTime > 0) { + $._currentSnapshotTime = scheduleSnapshotTime; + $._currentSnapshotIndex = scheduleSnapshotIndex; + } + } + + + + /* ============ Require balance and total supply ============ */ + + /** + * @dev See {OpenZeppelin - ERC20Snapshot} + */ + function _updateAccountSnapshot(address account, uint256 accountBalance) internal { + SnapshotBaseStorage storage $ = _getSnapshotBaseStorage(); + _updateSnapshot($._accountBalanceSnapshots[account], accountBalance); + } + + /** + * @dev See {OpenZeppelin - ERC20Snapshot} + */ + function _updateTotalSupplySnapshot(uint256 totalSupply) internal { + SnapshotBaseStorage storage $ = _getSnapshotBaseStorage(); + _updateSnapshot($._totalSupplySnapshots, totalSupply); + } + + /** + * @notice Return the number of tokens owned by the given owner at the time when the snapshot with the given time was created. + * @return value stored in the snapshot, or the actual balance if no snapshot + */ + function _snapshotBalanceOf( + uint256 time, + address owner, + uint256 ownerBalance + ) internal view returns (uint256) { + SnapshotBaseStorage storage $ = _getSnapshotBaseStorage(); + (bool snapshotted, uint256 value) = _valueAt( + time, + $._accountBalanceSnapshots[owner] + ); + return snapshotted ? value : ownerBalance; + } + + /** + * @dev See {OpenZeppelin - ERC20Snapshot} + * Retrieves the total supply at the specified time. + * @return value stored in the snapshot, or the actual totalSupply if no snapshot + */ + function _snapshotTotalSupply(uint256 time, uint256 totalSupply) internal view returns (uint256) { + SnapshotBaseStorage storage $ = _getSnapshotBaseStorage(); + (bool snapshotted, uint256 value) = _valueAt( + time, + $._totalSupplySnapshots + ); + return snapshotted ? value : totalSupply; + } + + + /*////////////////////////////////////////////////////////////// + PRIVATE FUNCTIONS + //////////////////////////////////////////////////////////////*/ + /** + * @dev + * Inside a struct Snapshots: + * - Update the array ids to the current Snapshot time if this one is greater than the snapshot times stored in ids. + * - Update the value to the corresponding value. + */ + function _updateSnapshot( + Snapshots storage snapshots, + uint256 currentValue + ) private { + SnapshotBaseStorage storage $ = _getSnapshotBaseStorage(); + uint256 current = $._currentSnapshotTime; + if (_lastSnapshot(snapshots.ids) < current) { + snapshots.ids.push(current); + snapshots.values.push(currentValue); } - _scheduledSnapshots.pop(); } /** @@ -242,7 +351,7 @@ abstract contract SnapshotBase { function _valueAt( uint256 time, Snapshots storage snapshots - ) internal view returns (bool snapshotExist, uint256 value) { + ) private view returns (bool snapshotExist, uint256 value) { // When a valid snapshot is queried, there are three possibilities: // a) The queried value was not modified after the snapshot was taken. Therefore, a snapshot entry was never // created for this id, and all stored snapshot ids are smaller than the requested one. The value that corresponds @@ -266,39 +375,6 @@ abstract contract SnapshotBase { } } - /** - * @dev - * Inside a struct Snapshots: - * - Update the array ids to the current Snapshot time if this one is greater than the snapshot times stored in ids. - * - Update the value to the corresponding value. - */ - function _updateSnapshot( - Snapshots storage snapshots, - uint256 currentValue - ) internal { - uint256 current = _currentSnapshotTime; - if (_lastSnapshot(snapshots.ids) < current) { - snapshots.ids.push(current); - snapshots.values.push(currentValue); - } - } - - /** - * @dev - * Set the currentSnapshotTime by retrieving the most recent snapshot - * if a snapshot exists, clear all past scheduled snapshot - */ - function _setCurrentSnapshot() internal { - ( - uint256 scheduleSnapshotTime, - uint256 scheduleSnapshotIndex - ) = _findScheduledMostRecentPastSnapshot(); - if (scheduleSnapshotTime > 0) { - _currentSnapshotTime = scheduleSnapshotTime; - _currentSnapshotIndex = scheduleSnapshotIndex; - } - } - /** * @return the last snapshot time inside a snapshot ids array */ @@ -317,14 +393,15 @@ abstract contract SnapshotBase { * @return (true, index) if the snapshot exists, (false, 0) otherwise */ function _findScheduledSnapshotIndex( + SnapshotBaseStorage storage $, uint256 time ) private view returns (bool, uint256) { - uint256 indexFound = _scheduledSnapshots.findUpperBound(time); - uint256 _scheduledSnapshotsLength = _scheduledSnapshots.length; + uint256 indexFound = $._scheduledSnapshots.findUpperBound(time); + uint256 _scheduledSnapshotsLength = $._scheduledSnapshots.length; // Exact match if ( indexFound != _scheduledSnapshotsLength && - _scheduledSnapshots[indexFound] == time + $._scheduledSnapshots[indexFound] == time ) { return (true, indexFound); } @@ -342,16 +419,16 @@ abstract contract SnapshotBase { * @dev find the most recent past snapshot * The complexity of this function is O(N) because we go through the whole list */ - function _findScheduledMostRecentPastSnapshot() + function _findScheduledMostRecentPastSnapshot(SnapshotBaseStorage storage $) private view returns (uint256 time, uint256 index) { - uint256 currentArraySize = _scheduledSnapshots.length; + uint256 currentArraySize = $._scheduledSnapshots.length; // no snapshot or the current snapshot already points on the last snapshot if ( currentArraySize == 0 || - ((_currentSnapshotIndex + 1 == currentArraySize) && (time != 0)) + (($._currentSnapshotIndex + 1 == currentArraySize) && (time != 0)) ) { return (0, currentArraySize); } @@ -359,9 +436,9 @@ abstract contract SnapshotBase { uint256 mostRecent; index = currentArraySize; // No need of unchecked block since Soliditiy 0.8.22 - for (uint256 i = _currentSnapshotIndex; i < currentArraySize; ++i ) { - if (_scheduledSnapshots[i] <= block.timestamp) { - mostRecent = _scheduledSnapshots[i]; + for (uint256 i = $._currentSnapshotIndex; i < currentArraySize; ++i ) { + if ($._scheduledSnapshots[i] <= block.timestamp) { + mostRecent = $._scheduledSnapshots[i]; index = i; } else { // All snapshot are planned in the futur @@ -370,75 +447,37 @@ abstract contract SnapshotBase { } return (mostRecent, index); } - - /* ============ Require balance and total supply ============ */ - - /** - * @dev See {OpenZeppelin - ERC20Snapshot} - */ - function _updateAccountSnapshot(address account, uint256 accountBalance) internal { - _updateSnapshot(_accountBalanceSnapshots[account], accountBalance); - } - - /** - * @dev See {OpenZeppelin - ERC20Snapshot} - */ - function _updateTotalSupplySnapshot(uint256 totalSupply) internal { - _updateSnapshot(_totalSupplySnapshots, totalSupply); - } - - /** - * @notice Return the number of tokens owned by the given owner at the time when the snapshot with the given time was created. - * @return value stored in the snapshot, or the actual balance if no snapshot - */ - function _snapshotBalanceOf( - uint256 time, - address owner, - uint256 ownerBalance - ) internal view returns (uint256) { - (bool snapshotted, uint256 value) = _valueAt( - time, - _accountBalanceSnapshots[owner] - ); - return snapshotted ? value : ownerBalance; - } - - /** - * @dev See {OpenZeppelin - ERC20Snapshot} - * Retrieves the total supply at the specified time. - * @return value stored in the snapshot, or the actual totalSupply if no snapshot - */ - function _snapshotTotalSupply(uint256 time, uint256 totalSupply) internal view returns (uint256) { - (bool snapshotted, uint256 value) = _valueAt( - time, - _totalSupplySnapshots - ); - return snapshotted ? value : totalSupply; - } - /* ============ Utility functions ============ */ function _findAndRevertScheduledSnapshotIndex( + SnapshotBaseStorage storage $, uint256 time ) private view returns (uint256){ - (bool isFound, uint256 index) = _findScheduledSnapshotIndex(time); + (bool isFound, uint256 index) = _findScheduledSnapshotIndex($, time); if (!isFound) { - revert Errors.SnapshotEngine_SnapshotNotFound(); + revert SnapshotEngine_SnapshotNotFound(); } return index; } - function _checkTimeInThePast(uint256 time) internal view{ + function _checkTimeInThePast(uint256 time) private view{ if (time <= block.timestamp) { - revert Errors.SnapshotEngine_SnapshotScheduledInThePast( + revert SnapshotEngine_SnapshotScheduledInThePast( time, block.timestamp ); } } - function _checkTimeSnapshotAlreadyDone(uint256 time) internal view{ + function _checkTimeSnapshotAlreadyDone(uint256 time) private view{ if (time <= block.timestamp) { - revert Errors.SnapshotEngine_SnapshotAlreadyDone(); + revert SnapshotEngine_SnapshotAlreadyDone(); + } + } + + /* ============ ERC-7201 ============ */ + function _getSnapshotBaseStorage() private pure returns (SnapshotBaseStorage storage $) { + assembly { + $.slot := SnapshotBaseStorageLocation } } } diff --git a/contracts/library/SnapshotStateInternal.sol b/contracts/library/SnapshotStateInternal.sol new file mode 100644 index 0000000..0fe2d0d --- /dev/null +++ b/contracts/library/SnapshotStateInternal.sol @@ -0,0 +1,42 @@ +//SPDX-License-Identifier: MPL-2.0 + +pragma solidity ^0.8.20; + +import {SnapshotBase} from "./SnapshotBase.sol"; +/* ==== OpenZeppelin === */ +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +abstract contract SnapshotStateInternal is SnapshotBase { + /*////////////////////////////////////////////////////////////// + INTERNAL FUNCTIONS + //////////////////////////////////////////////////////////////*/ + function _snapshotInfoBatch(IERC20 erc20_, uint256[] calldata times, address[] calldata addresses) internal view returns (uint256[][] memory ownerBalances, uint256[] memory totalSupply) { + ownerBalances = new uint256[][](times.length); + totalSupply = new uint256[](times.length); + for(uint256 iT = 0; iT < times.length; ++iT){ + (ownerBalances[iT], totalSupply[iT]) = _snapshotInfoBatch(erc20_, times[iT],addresses); + } + } + function _snapshotInfoBatch(IERC20 erc20_, uint256 time, address[] calldata addresses) internal view returns (uint256[] memory ownerBalances, uint256 totalSupply) { + ownerBalances = new uint256[](addresses.length); + for(uint256 i = 0; i < addresses.length; ++i){ + ownerBalances[i] = _snapshotBalanceOf(erc20_, time, addresses[i]); + } + totalSupply = _snapshotTotalSupply(erc20_, time); + } + + function _snapshotInfo( IERC20 erc20_, uint256 time, address owner) internal view returns (uint256 ownerBalance, uint256 totalSupply) { + ownerBalance = _snapshotBalanceOf(erc20_, time, owner); + totalSupply = _snapshotTotalSupply(erc20_, time); + } + + function _snapshotBalanceOf( + IERC20 erc20_, + uint256 time, + address owner + ) internal view returns (uint256) { + return SnapshotBase._snapshotBalanceOf(time, owner, erc20_.balanceOf(owner)); + } + function _snapshotTotalSupply(IERC20 erc20_, uint256 time) internal view returns (uint256) { + return SnapshotBase._snapshotTotalSupply(time, erc20_.totalSupply()); + } +} diff --git a/contracts/mock/CMTAT_STANDALONE_MOCK.sol b/contracts/mock/CMTAT_STANDALONE_MOCK.sol index 56ec0cb..eac405e 100644 --- a/contracts/mock/CMTAT_STANDALONE_MOCK.sol +++ b/contracts/mock/CMTAT_STANDALONE_MOCK.sol @@ -22,8 +22,8 @@ contract CMTAT_STANDALONE_MOCK is CMTATStandalone { address forwarderIrrevocable, address admin, ICMTATConstructor.ERC20Attributes memory ERC20Attributes_, - ICMTATConstructor.BaseModuleAttributes memory baseModuleAttributes_, + ICMTATConstructor.ExtraInformationAttributes memory extraInformationModuleAttributes_, ICMTATConstructor.Engine memory engines_ - ) CMTATStandalone(forwarderIrrevocable, admin, ERC20Attributes_, baseModuleAttributes_, engines_) { + ) CMTATStandalone(forwarderIrrevocable, admin, ERC20Attributes_, extraInformationModuleAttributes_, engines_) { } } diff --git a/contracts/modules/SnapshotScheduler.sol b/contracts/modules/SnapshotScheduler.sol new file mode 100644 index 0000000..60f785b --- /dev/null +++ b/contracts/modules/SnapshotScheduler.sol @@ -0,0 +1,61 @@ +//SPDX-License-Identifier: MPL-2.0 + +pragma solidity ^0.8.20; +/* ==== OpenZeppelin === */ +import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol"; +/* ==== Library === */ +import {SnapshotBase} from "../library/SnapshotBase.sol"; +import {ISnapshotScheduler} from "../interface/ISnapshotScheduler.sol"; +abstract contract SnapshotScheduler is SnapshotBase, AccessControl, ISnapshotScheduler { + /* ============ State Variables ============ */ + bytes32 public constant SNAPSHOOTER_ROLE = keccak256("SNAPSHOOTER_ROLE"); + + /*////////////////////////////////////////////////////////////// + PUBLIC/EXTERNAL FUNCTIONS + //////////////////////////////////////////////////////////////*/ + + + /** + * @inheritdoc ISnapshotScheduler + */ + function scheduleSnapshot(uint256 time) public onlyRole(SNAPSHOOTER_ROLE) { + SnapshotBase._scheduleSnapshot(time); + } + + /** + * @inheritdoc ISnapshotScheduler + */ + function scheduleSnapshotNotOptimized( + uint256 time + ) public onlyRole(SNAPSHOOTER_ROLE) { + SnapshotBase._scheduleSnapshotNotOptimized(time); + } + + /** + * @inheritdoc ISnapshotScheduler + */ + function rescheduleSnapshot( + uint256 oldTime, + uint256 newTime + ) public onlyRole(SNAPSHOOTER_ROLE) { + SnapshotBase._rescheduleSnapshot(oldTime, newTime); + } + + /** + * @inheritdoc ISnapshotScheduler + */ + function unscheduleLastSnapshot( + uint256 time + ) public onlyRole(SNAPSHOOTER_ROLE) { + SnapshotBase._unscheduleLastSnapshot(time); + } + + /** + * @inheritdoc ISnapshotScheduler + */ + function unscheduleSnapshotNotOptimized( + uint256 time + ) public onlyRole(SNAPSHOOTER_ROLE) { + SnapshotBase._unscheduleSnapshotNotOptimized(time); + } +} diff --git a/contracts/modules/SnapshotState.sol b/contracts/modules/SnapshotState.sol new file mode 100644 index 0000000..19d7843 --- /dev/null +++ b/contracts/modules/SnapshotState.sol @@ -0,0 +1,58 @@ +//SPDX-License-Identifier: MPL-2.0 + +pragma solidity ^0.8.20; +/* ==== OpenZeppelin === */ +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +/* ==== Interfaces and library === */ +import {SnapshotStateInternal} from "../library/SnapshotStateInternal.sol"; +import {ISnapshotState} from "../interface/ISnapshotState.sol"; + + +abstract contract SnapshotState is SnapshotStateInternal, ISnapshotState { + IERC20 internal immutable erc20; + + /*////////////////////////////////////////////////////////////// + PUBLIC/EXTERNAL FUNCTIONS + //////////////////////////////////////////////////////////////*/ + + /*////////////////////////////////////////////////////////////// + VIEW FUNCTIONS + //////////////////////////////////////////////////////////////*/ + /** + * @inheritdoc ISnapshotState + */ + function snapshotInfo(uint256 time, address tokenHolder) public view override(ISnapshotState) returns (uint256 tokenHolderBalance, uint256 totalSupply) { + (tokenHolderBalance, totalSupply) = _snapshotInfo(erc20, time, tokenHolder); + } + + /** + * @inheritdoc ISnapshotState + */ + function snapshotInfoBatch(uint256 time, address[] calldata addresses) public view override(ISnapshotState) returns (uint256[] memory tokenHolderBalances, uint256 totalSupply) { + (tokenHolderBalances, totalSupply) = _snapshotInfoBatch(erc20, time, addresses); + } + + /** + * @inheritdoc ISnapshotState + */ + function snapshotInfoBatch(uint256[] calldata times, address[] calldata addresses) public view override(ISnapshotState) returns (uint256[][] memory tokenHolderBalances, uint256[] memory totalSupply) { + (tokenHolderBalances, totalSupply) = _snapshotInfoBatch(erc20, times, addresses); + } + + /** + * @inheritdoc ISnapshotState + */ + function snapshotBalanceOf( + uint256 time, + address tokenHolder + ) public view override(ISnapshotState) returns (uint256) { + return _snapshotBalanceOf(erc20, time, tokenHolder); + } + + /** + * @inheritdoc ISnapshotState + */ + function snapshotTotalSupply(uint256 time) public view override(ISnapshotState) returns (uint256 totalSupply) { + return _snapshotTotalSupply(erc20, time); + } +} diff --git a/contracts/modules/VersionModule.sol b/contracts/modules/VersionModule.sol new file mode 100644 index 0000000..6653648 --- /dev/null +++ b/contracts/modules/VersionModule.sol @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: MPL-2.0 + +pragma solidity ^0.8.20; + +/* ==== CMTAT === */ +import {IERC3643Base} from "../../CMTAT/contracts/interfaces/tokenization/IERC3643Partial.sol"; + +abstract contract VersionModule is IERC3643Base { + /* ============ State Variables ============ */ + /** + * @dev + * Get the current version of the smart contract + */ + string private constant VERSION = "0.2.0"; + + /* ============ Events ============ */ + /*////////////////////////////////////////////////////////////// + PUBLIC/EXTERNAL FUNCTIONS + //////////////////////////////////////////////////////////////*/ + /** + * @inheritdoc IERC3643Base + */ + function version() + public + view + virtual + override(IERC3643Base) + returns (string memory version_) + { + return VERSION; + } +} \ No newline at end of file diff --git a/doc/audits/aderyn-report.md b/doc/audits/aderyn-report.md new file mode 100644 index 0000000..e995a62 --- /dev/null +++ b/doc/audits/aderyn-report.md @@ -0,0 +1,295 @@ +# Aderyn Analysis Report + +This report was generated by [Aderyn](https://github.com/Cyfrin/aderyn), a static analysis tool built by [Cyfrin](https://cyfrin.io), a blockchain security company. This report is not a substitute for manual audit or security review. It should not be relied upon for any purpose other than to assist in the identification of potential security vulnerabilities. +# Table of Contents + +- [Summary](#summary) + - [Files Summary](#files-summary) + - [Files Details](#files-details) + - [Issue Summary](#issue-summary) +- [Low Issues](#low-issues) + - [L-1: Centralization Risk](#l-1-centralization-risk) + - [L-2: Unspecific Solidity Pragma](#l-2-unspecific-solidity-pragma) + - [L-3: PUSH0 Opcode](#l-3-push0-opcode) + - [L-4: Modifier Invoked Only Once](#l-4-modifier-invoked-only-once) + - [L-5: State Change Without Event](#l-5-state-change-without-event) + + +# Summary + +## Files Summary + +| Key | Value | +| --- | --- | +| .sol Files | 10 | +| Total nSLOC | 483 | + + +## Files Details + +| Filepath | nSLOC | +| --- | --- | +| contracts/SnapshotEngine.sol | 46 | +| contracts/interface/ISnapshotBase.sol | 27 | +| contracts/interface/ISnapshotScheduler.sol | 8 | +| contracts/interface/ISnapshotState.sol | 8 | +| contracts/library/Errors.sol | 6 | +| contracts/library/SnapshotBase.sol | 285 | +| contracts/library/SnapshotStateInternal.sol | 33 | +| contracts/modules/SnapshotScheduler.sol | 31 | +| contracts/modules/SnapshotState.sol | 25 | +| contracts/modules/VersionModule.sol | 14 | +| **Total** | **483** | + + +## Issue Summary + +| Category | No. of Issues | +| --- | --- | +| High | 0 | +| Low | 5 | + + +# Low Issues + +## L-1: Centralization Risk + +> Acknowledge +> Admin and the different operators are considered as trusted. + +Contracts have owners with privileged rights to perform admin tasks and need to be trusted to not perform malicious updates or drain funds. + +
6 Found Instances + + +- Found in contracts/modules/SnapshotScheduler.sol [Line: 9](contracts/modules/SnapshotScheduler.sol#L9) + + ```solidity + abstract contract SnapshotScheduler is SnapshotBase, AccessControl, ISnapshotScheduler { + ``` + +- Found in contracts/modules/SnapshotScheduler.sol [Line: 21](contracts/modules/SnapshotScheduler.sol#L21) + + ```solidity + function scheduleSnapshot(uint256 time) public onlyRole(SNAPSHOOTER_ROLE) { + ``` + +- Found in contracts/modules/SnapshotScheduler.sol [Line: 30](contracts/modules/SnapshotScheduler.sol#L30) + + ```solidity + ) public onlyRole(SNAPSHOOTER_ROLE) { + ``` + +- Found in contracts/modules/SnapshotScheduler.sol [Line: 40](contracts/modules/SnapshotScheduler.sol#L40) + + ```solidity + ) public onlyRole(SNAPSHOOTER_ROLE) { + ``` + +- Found in contracts/modules/SnapshotScheduler.sol [Line: 49](contracts/modules/SnapshotScheduler.sol#L49) + + ```solidity + ) public onlyRole(SNAPSHOOTER_ROLE) { + ``` + +- Found in contracts/modules/SnapshotScheduler.sol [Line: 58](contracts/modules/SnapshotScheduler.sol#L58) + + ```solidity + ) public onlyRole(SNAPSHOOTER_ROLE) { + ``` + +
+ + + +## L-2: Unspecific Solidity Pragma + +> One potential use of SnapshotEngine is to be used as a library, similar to OpenZeppelin library. +> +> In this sense, we use the same convention of OpenZeppelin which for the moment only imposes that the version is higher than 0.8.20: +> pragma solidity ^0.8.20; +> +> A fixed version is set in the config file (0.8.30). Users are free to use these or conduct their own research before switching to another. + +Consider using a specific version of Solidity in your contracts instead of a wide version. For example, instead of `pragma solidity ^0.8.0;`, use `pragma solidity 0.8.0;` + +
9 Found Instances + + +- Found in contracts/SnapshotEngine.sol [Line: 3](contracts/SnapshotEngine.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +- Found in contracts/interface/ISnapshotBase.sol [Line: 3](contracts/interface/ISnapshotBase.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +- Found in contracts/interface/ISnapshotScheduler.sol [Line: 2](contracts/interface/ISnapshotScheduler.sol#L2) + + ```solidity + pragma solidity ^0.8.0; + ``` + +- Found in contracts/interface/ISnapshotState.sol [Line: 3](contracts/interface/ISnapshotState.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +- Found in contracts/library/SnapshotBase.sol [Line: 3](contracts/library/SnapshotBase.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +- Found in contracts/library/SnapshotStateInternal.sol [Line: 3](contracts/library/SnapshotStateInternal.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +- Found in contracts/modules/SnapshotScheduler.sol [Line: 3](contracts/modules/SnapshotScheduler.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +- Found in contracts/modules/SnapshotState.sol [Line: 3](contracts/modules/SnapshotState.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +- Found in contracts/modules/VersionModule.sol [Line: 3](contracts/modules/VersionModule.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +
+ + + +## L-3: PUSH0 Opcode + +> Acknowledge + +Solc compiler version 0.8.20 switches the default target EVM version to Shanghai, which means that the generated bytecode will include PUSH0 opcodes. Be sure to select the appropriate EVM version in case you intend to deploy on a chain other than mainnet like L2 chains that may not support PUSH0, otherwise deployment of your contracts will fail. + +
10 Found Instances + + +- Found in contracts/SnapshotEngine.sol [Line: 3](contracts/SnapshotEngine.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +- Found in contracts/interface/ISnapshotBase.sol [Line: 3](contracts/interface/ISnapshotBase.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +- Found in contracts/interface/ISnapshotScheduler.sol [Line: 2](contracts/interface/ISnapshotScheduler.sol#L2) + + ```solidity + pragma solidity ^0.8.0; + ``` + +- Found in contracts/interface/ISnapshotState.sol [Line: 3](contracts/interface/ISnapshotState.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +- Found in contracts/library/Errors.sol [Line: 3](contracts/library/Errors.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +- Found in contracts/library/SnapshotBase.sol [Line: 3](contracts/library/SnapshotBase.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +- Found in contracts/library/SnapshotStateInternal.sol [Line: 3](contracts/library/SnapshotStateInternal.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +- Found in contracts/modules/SnapshotScheduler.sol [Line: 3](contracts/modules/SnapshotScheduler.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +- Found in contracts/modules/SnapshotState.sol [Line: 3](contracts/modules/SnapshotState.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +- Found in contracts/modules/VersionModule.sol [Line: 3](contracts/modules/VersionModule.sol#L3) + + ```solidity + pragma solidity ^0.8.20; + ``` + +
+ + + +## L-4: Modifier Invoked Only Once + +> Acknowledge. A modifier seems clearer + +Consider removing the modifier or inlining the logic into the calling function. + +
1 Found Instances + + +- Found in contracts/SnapshotEngine.sol [Line: 18](contracts/SnapshotEngine.sol#L18) + + ```solidity + modifier onlyBoundToken() { + ``` + +
+ + + +## L-5: State Change Without Event + +There are state variable changes in this function but no event is emitted. Consider emitting an event to enable offchain indexers to track the changes. + +
2 Found Instances + + +- Found in contracts/SnapshotEngine.sol [Line: 56](contracts/SnapshotEngine.sol#L56) + +> An event will increase the gas cost for each event, not sure if it is worth it + +```solidity + function operateOnTransfer(address from, address to, uint256 balanceFrom, uint256 balanceTo, uint256 totalSupply) public override onlyBoundToken() { +``` + +- Found in contracts/modules/SnapshotScheduler.sol [Line: 56](contracts/modules/SnapshotScheduler.sol#L56) + +> The internal function _scheduleSnapshotNotOptimized called emits the event SnapshotSchedule + +```solidity + function unscheduleSnapshotNotOptimized( +``` + +
+ + + diff --git a/doc/audits/slither-report.md b/doc/audits/slither-report.md index 77452e2..9319b17 100644 --- a/doc/audits/slither-report.md +++ b/doc/audits/slither-report.md @@ -2,22 +2,19 @@ Summary - [uninitialized-local](#uninitialized-local) (1 results) (Medium) - [timestamp](#timestamp) (3 results) (Low) - - [dead-code](#dead-code) (18 results) (Informational) + - [assembly](#assembly) (1 results) (Informational) - [solc-version](#solc-version) (1 results) (Informational) - - [unused-import](#unused-import) (2 results) (Informational) - - [unused-state](#unused-state) (6 results) (Informational) - - [constable-states](#constable-states) (2 results) (Optimization) + - [naming-convention](#naming-convention) (1 results) (Informational) ## uninitialized-local > In Solidity, variables are initialized at 0 by default, which is what we want here Impact: Medium Confidence: Medium - - [ ] ID-0 -[SnapshotBase._findScheduledMostRecentPastSnapshot().mostRecent](contracts/library/SnapshotBase.sol#L359) is a local variable never initialized +[SnapshotBase._findScheduledMostRecentPastSnapshot(SnapshotBase.SnapshotBaseStorage).mostRecent](contracts/library/SnapshotBase.sol#L436) is a local variable never initialized -contracts/library/SnapshotBase.sol#L359 +contracts/library/SnapshotBase.sol#L436 ## timestamp @@ -29,143 +26,40 @@ contracts/library/SnapshotBase.sol#L359 Impact: Low Confidence: Medium - - [ ] ID-1 - [SnapshotBase._checkTimeInThePast(uint256)](contracts/library/SnapshotBase.sol#L431-L438) uses timestamp for comparisons + [SnapshotBase._checkTimeSnapshotAlreadyDone(uint256)](contracts/library/SnapshotBase.sol#L471-L475) uses timestamp for comparisons Dangerous comparisons: - - [time <= block.timestamp](contracts/library/SnapshotBase.sol#L432) + - [time <= block.timestamp](contracts/library/SnapshotBase.sol#L472) -contracts/library/SnapshotBase.sol#L431-L438 +contracts/library/SnapshotBase.sol#L471-L475 - [ ] ID-2 - [SnapshotBase._findScheduledMostRecentPastSnapshot()](contracts/library/SnapshotBase.sol#L345-L372) uses timestamp for comparisons + [SnapshotBase._checkTimeInThePast(uint256)](contracts/library/SnapshotBase.sol#L463-L470) uses timestamp for comparisons Dangerous comparisons: - - [_scheduledSnapshots[i] <= block.timestamp](contracts/library/SnapshotBase.sol#L363) + - [time <= block.timestamp](contracts/library/SnapshotBase.sol#L464) -contracts/library/SnapshotBase.sol#L345-L372 +contracts/library/SnapshotBase.sol#L463-L470 - [ ] ID-3 - [SnapshotBase._checkTimeSnapshotAlreadyDone(uint256)](contracts/library/SnapshotBase.sol#L439-L443) uses timestamp for comparisons + [SnapshotBase._findScheduledMostRecentPastSnapshot(SnapshotBase.SnapshotBaseStorage)](contracts/library/SnapshotBase.sol#L422-L449) uses timestamp for comparisons Dangerous comparisons: - - [time <= block.timestamp](contracts/library/SnapshotBase.sol#L440) + - [$._scheduledSnapshots[i] <= block.timestamp](contracts/library/SnapshotBase.sol#L440) -contracts/library/SnapshotBase.sol#L439-L443 +contracts/library/SnapshotBase.sol#L422-L449 -## dead-code +## assembly -> They are used, don't really know why there are flagged as useless +> Use to implement ERC-7201 Impact: Informational -Confidence: Medium - +Confidence: High - [ ] ID-4 -[SnapshotBase._findScheduledSnapshotIndex(uint256)](contracts/library/SnapshotBase.sol#L319-L339) is never used and should be removed - -contracts/library/SnapshotBase.sol#L319-L339 - - - - [ ] ID-5 -[SnapshotBase._findScheduledMostRecentPastSnapshot()](contracts/library/SnapshotBase.sol#L345-L372) is never used and should be removed - -contracts/library/SnapshotBase.sol#L345-L372 - - - - [ ] ID-6 -[SnapshotBase._updateAccountSnapshot(address,uint256)](contracts/library/SnapshotBase.sol#L379-L381) is never used and should be removed - -contracts/library/SnapshotBase.sol#L379-L381 - - - - [ ] ID-7 -[SnapshotBase._checkTimeSnapshotAlreadyDone(uint256)](contracts/library/SnapshotBase.sol#L439-L443) is never used and should be removed - -contracts/library/SnapshotBase.sol#L439-L443 - - - - [ ] ID-8 -[SnapshotBase._findAndRevertScheduledSnapshotIndex(uint256)](contracts/library/SnapshotBase.sol#L422-L430) is never used and should be removed - -contracts/library/SnapshotBase.sol#L422-L430 - - - - [ ] ID-9 -[SnapshotBase._setCurrentSnapshot()](contracts/library/SnapshotBase.sol#L291-L300) is never used and should be removed - -contracts/library/SnapshotBase.sol#L291-L300 - - - - [ ] ID-10 -[SnapshotBase._scheduleSnapshot(uint256)](contracts/library/SnapshotBase.sol#L114-L135) is never used and should be removed - -contracts/library/SnapshotBase.sol#L114-L135 - - - - [ ] ID-11 -[SnapshotBase._snapshotTotalSupply(uint256,uint256)](contracts/library/SnapshotBase.sol#L411-L417) is never used and should be removed - -contracts/library/SnapshotBase.sol#L411-L417 - - - - [ ] ID-12 -[SnapshotBase._checkTimeInThePast(uint256)](contracts/library/SnapshotBase.sol#L431-L438) is never used and should be removed - -contracts/library/SnapshotBase.sol#L431-L438 - - - - [ ] ID-13 -[SnapshotBase._unscheduleLastSnapshot(uint256)](contracts/library/SnapshotBase.sol#L204-L216) is never used and should be removed - -contracts/library/SnapshotBase.sol#L204-L216 - - - - [ ] ID-14 -[SnapshotBase._lastSnapshot(uint256[])](contracts/library/SnapshotBase.sol#L305-L313) is never used and should be removed - -contracts/library/SnapshotBase.sol#L305-L313 - - - - [ ] ID-15 -[SnapshotBase._unscheduleSnapshotNotOptimized(uint256)](contracts/library/SnapshotBase.sol#L224-L233) is never used and should be removed - -contracts/library/SnapshotBase.sol#L224-L233 - - - - [ ] ID-16 -[SnapshotBase._updateSnapshot(SnapshotBase.Snapshots,uint256)](contracts/library/SnapshotBase.sol#L275-L284) is never used and should be removed - -contracts/library/SnapshotBase.sol#L275-L284 + [SnapshotBase._getSnapshotBaseStorage()](contracts/library/SnapshotBase.sol#L478-L482) uses assembly + - [INLINE ASM](contracts/library/SnapshotBase.sol#L479-L481) - - - [ ] ID-17 -[SnapshotBase._rescheduleSnapshot(uint256,uint256)](contracts/library/SnapshotBase.sol#L168-L199) is never used and should be removed - -contracts/library/SnapshotBase.sol#L168-L199 - - - - [ ] ID-18 -[SnapshotBase._updateTotalSupplySnapshot(uint256)](contracts/library/SnapshotBase.sol#L386-L388) is never used and should be removed - -contracts/library/SnapshotBase.sol#L386-L388 - - - - [ ] ID-19 -[SnapshotBase._scheduleSnapshotNotOptimized(uint256)](contracts/library/SnapshotBase.sol#L140-L163) is never used and should be removed - -contracts/library/SnapshotBase.sol#L140-L163 - - - - [ ] ID-20 -[SnapshotBase._valueAt(uint256,SnapshotBase.Snapshots)](contracts/library/SnapshotBase.sol#L242-L267) is never used and should be removed - -contracts/library/SnapshotBase.sol#L242-L267 - - - - [ ] ID-21 -[SnapshotBase._snapshotBalanceOf(uint256,address,uint256)](contracts/library/SnapshotBase.sol#L394-L404) is never used and should be removed - -contracts/library/SnapshotBase.sol#L394-L404 +contracts/library/SnapshotBase.sol#L478-L482 ## solc-version @@ -174,136 +68,30 @@ contracts/library/SnapshotBase.sol#L394-L404 Impact: Informational Confidence: High - - [ ] ID-22 - Version constraint ^0.8.20 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - - VerbatimInvalidDeduplication + - [ ] ID-5 + Version constraint ^0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - FullInlinerNonExpressionSplitArgumentEvaluationOrder - - MissingSideEffectsOnSelectorAccess. - It is used by: - - node_modules/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#4 - - node_modules/@openzeppelin/contracts-upgradeable/metatx/ERC2771ContextUpgradeable.sol#4 - - node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#4 - - node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol#4 - - node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#4 - - node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol#4 - - node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol#4 - - node_modules/@openzeppelin/contracts/access/AccessControl.sol#4 - - node_modules/@openzeppelin/contracts/access/IAccessControl.sol#4 - - node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol#3 - - node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol#4 - - node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#4 - - node_modules/@openzeppelin/contracts/utils/Arrays.sol#5 - - node_modules/@openzeppelin/contracts/utils/Comparators.sol#4 - - node_modules/@openzeppelin/contracts/utils/Context.sol#4 - - node_modules/@openzeppelin/contracts/utils/Panic.sol#4 - - node_modules/@openzeppelin/contracts/utils/SlotDerivation.sol#5 - - node_modules/@openzeppelin/contracts/utils/StorageSlot.sol#5 - - node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol#4 - - node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol#4 - - node_modules/@openzeppelin/contracts/utils/math/Math.sol#4 - - node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol#5 - - CMTAT/contracts/CMTAT_STANDALONE.sol#3 - - CMTAT/contracts/interfaces/ICCIPToken.sol#3 - - CMTAT/contracts/interfaces/ICMTATConstructor.sol#2 - - CMTAT/contracts/interfaces/draft-IERC1404/draft-IERC1404.sol#3 - - CMTAT/contracts/interfaces/draft-IERC1404/draft-IERC1404EnumCode.sol#3 - - CMTAT/contracts/interfaces/draft-IERC1404/draft-IERC1404Wrapper.sol#3 - - CMTAT/contracts/interfaces/engine/IDebtEngine.sol#3 - - CMTAT/contracts/interfaces/engine/IDebtGlobal.sol#3 - - CMTAT/contracts/interfaces/engine/IRuleEngine.sol#3 - - CMTAT/contracts/interfaces/engine/ISnapshotEngine.sol#3 - - CMTAT/contracts/interfaces/engine/draft-IERC1643.sol#3 - - CMTAT/contracts/libraries/Errors.sol#3 - - CMTAT/contracts/modules/CMTAT_BASE.sol#3 - - CMTAT/contracts/modules/internal/EnforcementModuleInternal.sol#3 - - CMTAT/contracts/modules/internal/ValidationModuleInternal.sol#3 - - CMTAT/contracts/modules/security/AuthorizationModule.sol#3 - - CMTAT/contracts/modules/wrapper/controllers/ValidationModule.sol#3 - - CMTAT/contracts/modules/wrapper/core/BaseModule.sol#3 - - CMTAT/contracts/modules/wrapper/core/ERC20BaseModule.sol#3 - - CMTAT/contracts/modules/wrapper/core/ERC20BurnModule.sol#3 - - CMTAT/contracts/modules/wrapper/core/ERC20MintModule.sol#3 - - CMTAT/contracts/modules/wrapper/core/EnforcementModule.sol#3 - - CMTAT/contracts/modules/wrapper/core/PauseModule.sol#3 - - CMTAT/contracts/modules/wrapper/extensions/DebtModule.sol#3 - - CMTAT/contracts/modules/wrapper/extensions/DocumentModule.sol#3 - - CMTAT/contracts/modules/wrapper/extensions/MetaTxModule.sol#3 - - CMTAT/contracts/modules/wrapper/extensions/SnapshotEngineModule.sol#3 - - contracts/SnapshotEngine.sol#3 - - contracts/interface/ISnapshotState.sol#3 - - contracts/library/Errors.sol#3 - - contracts/library/SnapshotBase.sol#3 - - contracts/mock/CMTAT_STANDALONE_MOCK.sol#3 + - MissingSideEffectsOnSelectorAccess + - AbiReencodingHeadOverflowWithStaticArrayCleanup + - DirtyBytesArrayToStorage + - DataLocationChangeInInternalOverride + - NestedCalldataArrayAbiReencodingSizeValidation + - SignedImmutables + - ABIDecodeTwoDimensionalArrayMemory + - KeccakCaching. + It is used by: + - [^0.8.0](contracts/interface/ISnapshotScheduler.sol#L2) -## unused-import +contracts/interface/ISnapshotScheduler.sol#L2 -> used inside the constructor +## naming-convention -Impact: Informational -Confidence: High - - [ ] ID-23 -The following unused import(s) in contracts/SnapshotEngine.sol should be removed: - -import {Errors} from "./library/Errors.sol"; (contracts/SnapshotEngine.sol#10) - - - [ ] ID-24 - The following unused import(s) in CMTAT/contracts/modules/wrapper/extensions/SnapshotEngineModule.sol should be removed: - -import {Errors} from "../../../libraries/Errors.sol"; (CMTAT/contracts/modules/wrapper/extensions/SnapshotEngineModule.sol#6) - -## unused-state - -> They are used, don't really know why there are flagged as useless +> Same notation as OpenZeppelin ERC-7201 Impact: Informational Confidence: High - - [ ] ID-25 -[SnapshotEngine.erc20](contracts/SnapshotEngine.sol#L22) is never used in [SnapshotEngine](contracts/SnapshotEngine.sol#L11-L191) - -contracts/SnapshotEngine.sol#L22 - - - - [ ] ID-26 -[SnapshotBase._currentSnapshotTime](contracts/library/SnapshotBase.sol#L50) is never used in [SnapshotEngine](contracts/SnapshotEngine.sol#L11-L191) - -contracts/library/SnapshotBase.sol#L50 - - - - [ ] ID-27 -[SnapshotBase._accountBalanceSnapshots](contracts/library/SnapshotBase.sol#L44) is never used in [SnapshotEngine](contracts/SnapshotEngine.sol#L11-L191) - -contracts/library/SnapshotBase.sol#L44 - - - - [ ] ID-28 -[SnapshotBase._scheduledSnapshots](contracts/library/SnapshotBase.sol#L58) is never used in [SnapshotEngine](contracts/SnapshotEngine.sol#L11-L191) - -contracts/library/SnapshotBase.sol#L58 - - - - [ ] ID-29 -[SnapshotBase._totalSupplySnapshots](contracts/library/SnapshotBase.sol#L45) is never used in [SnapshotEngine](contracts/SnapshotEngine.sol#L11-L191) - -contracts/library/SnapshotBase.sol#L45 - - - - [ ] ID-30 -[SnapshotBase._currentSnapshotIndex](contracts/library/SnapshotBase.sol#L52) is never used in [SnapshotEngine](contracts/SnapshotEngine.sol#L11-L191) - -contracts/library/SnapshotBase.sol#L52 - -## constable-states - -> They can be updated with the function _setCurrentSnapshot - -Impact: Optimization -Confidence: High - - [ ] ID-31 -[SnapshotBase._currentSnapshotIndex](contracts/library/SnapshotBase.sol#L52) should be constant - -contracts/library/SnapshotBase.sol#L52 - - - - [ ] ID-32 -[SnapshotBase._currentSnapshotTime](contracts/library/SnapshotBase.sol#L50) should be constant + - [ ] ID-6 +Constant [SnapshotBase.SnapshotBaseStorageLocation](contracts/library/SnapshotBase.sol#L33) is not in UPPER_CASE_WITH_UNDERSCORES -contracts/library/SnapshotBase.sol#L50 +contracts/library/SnapshotBase.sol#L33 diff --git a/doc/technical/archive_snapshot-functionalities.odt b/doc/technical/archive_snapshot-functionalities.odt new file mode 100644 index 0000000000000000000000000000000000000000..b52bf9bd13c65820d3e054212da7f4a3fb8fc179 GIT binary patch literal 20934 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 Pbl4*uo33ba`2_Gk25SfI literal 0 HcmV?d00001 diff --git a/doc/technical/archive_snapshot-functionalities.pdf b/doc/technical/archive_snapshot-functionalities.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2cd5c5128bd01de98e30aa453a93da025f100e34 GIT binary patch literal 26203 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 Lq@xp)7svcx7Pg?N literal 0 HcmV?d00001 diff --git a/doc/technical/schema/SnpashotModule-Schema.drawio b/doc/technical/schema/SnpashotModule-Schema.drawio new file mode 100644 index 0000000..62ad769 --- /dev/null +++ b/doc/technical/schema/SnpashotModule-Schema.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/doc/technical/schema/getNextSnapshot.pdf b/doc/technical/schema/getNextSnapshot.pdf new file mode 100644 index 0000000000000000000000000000000000000000..21211eb22bbc0511ab683814d8d89f5718e3eaea GIT binary patch literal 35229 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 literal 0 HcmV?d00001 diff --git a/doc/technical/schema/png/SnpashotModule-Schema-scheduleSnapshot.drawio.png b/doc/technical/schema/png/SnpashotModule-Schema-scheduleSnapshot.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..965a1281187a9f1fa2bd8d42bc1874b7c0ed689d GIT binary patch literal 97401 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

VzytbNCdCc9hMYK*I@{cP*LqmO=_ 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

-g(Hlc~v~sM$|cFSbJA;NAl%0Zt(<7Ll<* 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 literal 0 HcmV?d00001 diff --git a/doc/technical/schema/rescheduleSnapshot.pdf b/doc/technical/schema/rescheduleSnapshot.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ef35f25e2e4adeb67a8dfebbf0cefed97504093f GIT binary patch literal 35726 zcmb4pb8zL|)@E$mIdRglZ5y3*Y}>YN+fIj_j(uV~>DV?qoV?$?Q}>&xshOIpT^nmZ zd#%0KS%3VVrw)aZm;^mD0~;L0{MpG495a9kU~gmv$H&Jg>SSu@V($c?mbdq^w6QT{ zWM^Ok=um4gGxGxEEbUx903KW%`W$RJGyq`-2OCp$QzKbR7e;ngP6k$vFQBZHs=OQ> zz{b+r6d-A8Y;FGqG;uO?XRx$qWMN|9U|<1=S~%I;nldsoaWF73u(PmnGca>=1H^4i zja{7V?HE~@8CV%u0pAVH44o|h?U)9RQOU{P#MRjJ>t^4rEe#pJ9sscYa`CnEUstxY zw-YmTF$GYI@vtzlure_-u`;u=aj-DcGBHtowJ)5!y~+O_A|L=~YG?9KB3S>E5Mx6C zGaRFcJb+Qb-pSU`=06~||A0h={{j6ADklnHf@74E`LAC6AG^F9fceYxT^Qiv z=aF-vqZ_Z&g6O-Y@0bsNuZ2bt1%?2=X`53n@XNYjIxxG0x=}d0Ovv94`C+t!cW)!q zeFG{3C(N9y{RM!GOcTlJU7+&0M)2|G$EnX9b}_%PC|Gx&jyBIAw%^jreV%mpIR2#W z|99h&6)&U<<2JFv&FL+S=&j8E0zfmc$u-W`c-7v0`nec!}Ap@6xR|EMY{-{$Q6Q4Ynkh#yAG z<@d?yb9r@-VQTFZUa}?esmboA8B2@WjuHT4f&$q!%U(%Oeeq$qnzQBe`SPg6eyj8I z{;a3x^rOT@agO)ZrtMc-_HS+Tx+Ad_up#yjSfZ_9x}x^JjRg0Lw0re% ze^}y{y!svQ-}7=9&-p?Rc|^(+g)6xKB5Tmg3`Ch39qzHSz_6b|QIwb+&V}!O$N%o# z>em1KiufyZOGQ8+xpmwqxl|xDUKDX!bg>uZZ!YufuhL)G$kDj4d%;iLHs6Aw-qLOr zm=pKDMfD9#qtWGv>~{KAAwxSdQI~LI!nXZ(;Re#D@=N4`iZOW^#`M`e3GB}ix$*u& z5ihOp34T;Pq%c5=xnW8VC=^|7dQRa)0!dfw7C@wlq!liWvE)S{G-1rZvzO~QBCk}{ z1P-VT;S#qBB7BCV`d6d61T6bgM4_lbF;**F}ctjl#9$E=&vr=jbgt zd&hX(M+Rq|O|*+lL;K6*OZ1YBhP(B&W$dD{lH(>#r(18g)%1q_G6E?=o546l&M$0BkW#3DE0)j+{_6tcAobN7@lS z>7%5R0Op{*%>5ForVMElN8YIMXn)R@gmSQCSxo@(9Ixxoat5(-V?!wsN0nMwyV?}oKJ2Lb; zTJ$|xsh*Jg|K5GthTb3Lnfr_&$90g)<983bTMq90E~)c&?w4mf84j%&;ayl?@xAei2i~+& zf3loPN-ci*%w+UKZ_;mLf52z)*Mh$+bQ6D0NC_NG(0CbW3}Ak$DQ!4)|hL#N$eOI@Gq+_plu;R!|DBRNsrW&H8od?<0M zwtVik{3RsqXq0sns!LIX2fmR5@FLIsO{=d`4h8t-X`M}T6@lfePmd50sI^yGhjTq- zmO_j>FwpbTlL))3VWpx^JNJ6#C2R8r-5p@aw1ce<0nbS+hVCdeKhEug zDkw2Bt*E@ihdWS%z&bCTSZ?|x`aPS?fdob=_`au<+g32JLVbMnCO`%j#`H@ zCg=5U#Gb*$@{q^y^*mYWs#f*Ux4}g@U+5uO(l==x*pWU z#+FWXZuR1G_gB?dZdWsT^5WH5yZ0Rj4VJwGEk3d7C6hB`axg zSV+T?*xVCo-o#XDWRY7&IlAcWpV5Ws8}pXfWan@+!~jLFcq++`SR$T%MUG0sT*umF zoFON87`4;Pcf%cuOL~YLJ?}mS>%5^!&r}e*OXS?ks_9F)fz=aSHJ?!BWv!!!l>OFn zFAXR6gtA+la$kHF0j1K~c=eV-j{lgl3)o1_2(S`O_ePbqo&)Ci?*yD!NIb-@xsM zD!~lDHDe6%1RmlZLsQiLwno$CK?W0m#!_VuY0>B`+I=eWsHjonUr)5T^AB;qCEVO2xEWEls{9k40O`NLwLK zgP%d7!C3KBGg$|r8LO#vqSgy53Fm!62CaBlQ1DqJSX5SOErd?P68MN@{wCKtJs z91*j9N4u1qkl*N=G|zK^M?W1oGZ8DCG*WFd*x9`> zx_^0HUc`c8EpivcldMC}fA6*w9D2l|EsuJunne-p=dcEn7t|9TGO}GL#{dT1FPG3B z!S~`w2l)_8E$!-q0?RW<6tLC=0F9g**}b-cni7`x<{OeB2l-4PSeKP!46oS}aM$bl zp~1~ituWb_%Arb-`L@Gr45nuC+*@aT??NngQVA+|2tSt?*T?dt>$|^2r~Fx?7xJ43 ztXA@=U~KFq0J2lkl(q5%>tT6KsX@6TbxS(pF#Sq<*sqsx1VmPhC2bxM_qUF3kU5{fQ1uHl>%NjTy& z>beMJ!f+KsehDHuf?^Q_`V+jv;~U|6?Jp*T_VOHHd*Jt|Vw0{xiu&>+mwVcBiU%!0 zV?Gp?sZ_qQVmIYh?0$36Qr9JHS~>p!B?N+_kv0}&bJ#+~4nhCr8k&i%>liFQUK)`$O!@uXr#TU+L~D?+ z)9(vQ?WuUqesP!8yE@5)H@o1C534cuYrkj$TkltBQsVIRO*(9vq&zbnW?R@F3;u>i z62S)zD#YWVn^Y?MM>9J1Hgs1o4=73g%m<}a^m!$!XZvM(2Fnj2amGxkfw#D2aJzvc~Ff@8JnA4>giiurGH&GH|5s_N-r3Sd++H2-3yDyGi%u1?0L&VVl&;*0GY ze>ZgjX#W?{XH+%yZ~-t%+kOE>{ymERdz99NV-)vrk^JuR5B>i-D#;4?hrX-8F-o!l z{^98V%s2r55bQ6y1;;31Z|Cw4PJ$i4{;ypLP5|e>cK_LzH#M;|6tVXJXfu5oSy(t3 zm{_^L1PTr|makBvU#Cs&T$};_knAtd-@homv5S(S(|;MiSpL7J0PcS|{GWotKg)kB zEdP14^FQufzi#uT5y)DaI0Ll*NsWr`elg^VEc62-OrPygskMM5|z{hFf^8g zKp{9Okl2Y}2z1yxI#C=t9Y_J*;TDJO-?{B2@j6CmrdkLTcr%8qW&`ml1v8I1-KCJzN$d;6QfU#!ts9Q5-0eLoP?8{fob&FEfsBL|7Wo*n$GpvxQq z;E=QlVqgO?9EdP#Oo$M2%K&01Lu(1TaYF+0{yZ@x>$@#J4K=(OZZIh8>w(%S(w`#s zH~r;$iiQ3!PLDU7-txay{b*lJ`1b9w>Y-6`7L%m;~a9BUW8 zAg~3o_j#2N=}&-VxFOw>@rio=T*`N&-1^-E^|FfzaqkHpy@2Qp^Nl#Z6qZ54oxkyb z`aZm%dhqY+ch9rY=z3vfaGT!i=9N#cw7A-=zjVl!zmV>#>-9LwbfXO!PM)1Ad z@KR(#KZ4hm=CbSZ!QaYLr>Z3rCp*j!#jOZG{53xG(^XCwC#Hb{$BYYde)_2gW-Tks z7)GQyPvGFwQ1-7b8GOISL}t9Ppne(bJcEefsy;FGa0`f6sYs~TsZdQ~$r?e;NT#xtUR@L9Dl%E0Y3VF#8S3xVe3eWzEo`8~#FHVIS*)9=~CWRc`^PsH3{Ytlci2 z&^?IjqUw1WAlpI7(Y~Uc@)B092^HApFqv|4qg+h2r25Ljdgk>IliW8i@_i2l52How zfs{$(ijn~-PS%UFkK2aB!PvolS`?qN*^;T5*(!%9OQ6)xC?{KG_@!Q=Ve7Q@Z0!4G ze$h&+?KSWL`|zbTmi>}j7;B@|(U+;)_Z|rE%!<3TXo#waNJrHh5i0ra>z}sBWU5gS+0UTy1btnQ_mHm38(*`a{v`!p z6uuvY`FjeUf-fu=KduRJh%jMD}IH#?t&*iaW!SJxq5! zC>3#h-HyzOFB4f9K4}|CdC(2jG$~@93crzD$n^5cCMQ!rr6K1cuVqJ)HOkG({7d}9 zN;b!=+2yL-s?uLymxSbFii(meW zBC9+sNXuf+?}g6SZLcV6=q_eHjmx2!QNZLo;hYsmnIU=&X6$3X%wq#~ujI zZCGX~#cQk9SPwMsYm9bc#oN~%n6xg8TH)9+>GjBIWoMn?uE6G{K-k9X8r;yMIr;r0 zAj`s};`Oo!jZV5Xuzg$*5WMYJX~!EG28L&&(m;qUh_++xKmF9^>mt)o_UOuugp zNb@|1Wd9a|Dz5*c?S|F;e_x^^R$L4444$wS|gLLsmR$YQmu@zm%*!qPq{nEg?`0e!|5Q?>9Mlh~=z!7ko`P z&Uv#8w+zo2mG7!>?$dpzn7c&*hrT>uu^-;d^|H3Z$<_4kfU!CF1mPnEVFWPq2_{dD zp;F)RMr@1Z6LL$)H9>xKit&*WpxR2XALWjUBE_skwhf{45p{vp6}B&ank#-LD%PL7 z;>J!N6mLVTO{(6*+O1e}*1p~t_wDumTkHdNqC;(i`5TruWH`h;biPRWB^BYeT2Npm zarwrN%Ej(@{m<%L8`TYH$qt@ZA{=N1a8|L;ouT&W$9}8sH54=HMJIVY0w5h=N}1ed z!mJsY(iyid?^hlF?!FIDIU&4dk6RUcf64HkN8^cz13o$N1T&OrAOCbg_Raq2mCgxl zarP2pOlaFL#W5Dg z>-Zw|Q9y=xXS*hAW{b&gblJ+j~j}gpkzu;S_dSvvkdC6Ag z5lF>5@Q}!a(GB>XJ*?zvL&l$=O4Fm+3GtFBzxWLZXvjbJ(Ryc5N5o6lB^~G|iv7df z)`#)8kyvu`Avr}+H4*ds2U=;pVALZ#jqp4(r*=41cvrzwwnlBZlH|GiK$jDtF70lt zUl^?VBt0=VkBEk6iA#I-!tTmLnN2t@1FCntG;%cHt3x8+&P=czOu$0^CR1 z`G1B#?jH~AE@&$&lC1O>g-Bb{`HiUpZ5g7!Vy8|1>*%E?6dC^!f* zPo#}S2Cp^n=urMvTUIO$th9g0)m5I;9~VDMe0}QkHU*%BQ#>Kp)O%|){WrS{wO_+j z7c%bYzF1#&%tn}j5+W3;Y7S4GA&Quq66QJVT#Xj?Q7M;rh@ER+MpRZ(Ug`#|#>B=L z4kA>rGDL8It_4&vD0#32lZGmIE8%a3sR7eDZ|*IXQ|9ubv=Z}{MunAM{$6rs#jE6j znjpo;OxY6ve2S(%E2g07gX7)K1(~rUZ5e*8Z&vbN3~ugw^_JLJ4H^?z@GQkJX0w(J z8bZwDSjig}VJ`7^<&SFYt9~u*2J+&zm5=i%bLWqCqBC?^VGj;)Ns{wyO7x9pGNPNX zFYCHFxmwZ(KC+d=c~Lw`dDErtb3c8n)ta=_>PdQJ1+o|6pyV4gbcW+j zmIlt2m1+8NC3c=0V4DYPn!}N~RKp)--%@rdL5YNIc^jgp(@q|+1j2VHHR&>7XAnxH z(-KN9@uHpX+L(ZcQ6B%m_NlB8JPBQm)ivw&H$<&lK6uFLt2V;^n!#hGkDiSI$7|J+%Tu7) z-APy@$4h=pnDU!!B6S2IIp-7b(IzI(EG%>hc3}CH>Ru91D?Vv1`fj*gaI4 zTEPY_k4-AGN^|4pTcEd2jU9+28AJ$1{OBebFA%}P_2t%m_e6fg2n>u6T+`zU<(u#! z9nJa4QIAqyrRPX31?ute(IEqxJ4{PWLTROZ1W3WG<3v*v$Yvt8YPc>p#lr(kh_~&{ zTdbHDx%V$m;>X%6XZ@s}o{61&HRhoa&EFUqk@*sTbvj79;S3=W&J3=$$|30fQz4L* z7RqzghFebGWTP4B<~rQyI!@@QZs#2jjO>UDf?yQs{l&FlIHbi?Vd?*nI`Q~B{j<3}2jsRFf294#$v@PvrJW`3dXOK&fV1{bzZEJI*iFo=;r zd*U%=@mh=>K94fvunJa@cJL*xOZh_%&XHAHGxbu~W^DU1kGo$XQEpPq66f*klI&U1 z$Mvjq&r6X>LzGE_z~JcqW^j_9!gPr}JT?cbK0786-tm5p0|H^FctnT*GM0#gv)$1g zATG|y=o`h*s#X(O=vv;62Y}!J1}`lTND}ueqb3wwEvrDkxB_ve&cd4|{C7*%&(Jj} zJvqS;-Qzsr;aTLH_W(Z->tktvfpCpT3*rXraa_?WUapklt~c1$)5)vGDgTJ1dZ-;s zyY1J3Cw895?(mA)oMv zh?B>^3)bQo;*c`4YZlqYYr5k;xang+RHR zRV&1g{Cd{pvDgd3q*W$Sy&;)mpWy-+*e^(d<@fL%P+TKt@P-kC{RTj=l(;_vi4DA6 z^o)kdnJ$hgO55Kb2+R>WEwG{pr0TVUD8VCd2RKG3nF82fhGa_P2w{_bE(DTavs-+b zx#-k{-0=|5TE}oDbN_DJvm?XU-AAh{mzJaBqEQ=!(T^kWY{Y;`Xz4qgxi=8YJmIW5 zl1Xc6X9~;i95zYmrhGQ@ghL!lzo--vnk;D>#TE36(c;KqXuI;7VD)Qtj<8EZ(#Mi zDEQr**HDbf(1AQov?iD_X)@SAeV5hef=~_Y+B$Z{tv*qOT-rB7*GEV=2bftCCS>Tf zfjW1*u^D^<{XY_B!(KAlrIB+|m36Ar4=F6A0VxcB$-`}u*;ncCO))Rn+1yRO1)p2U z=ER7vGLmwM#d@CO(}3zBTc?n`{+Zs#OQiX8;K-{kYdwra+I%BAU*KlNvracwSG{o6QL^q?O_9PI zGVY8AUp`m!qE})friK%1QrLl5)CWwh3QFk_o2X zP>p9OSCPn^jQFIupm_7>*U{S zR|<>!+1{HjAv#$_Lmf}7G0ywOUV(fg=j}!L8I3O*yi4gq2ankuNC*FfG0xHyUs6f; z#Qx6W3q2C2nie*?Gy{lW&|Uh4u+HvWl`JU#Y%n)x8nZ1O!|^^B?8$z!l5$#BT9Gnz zH?%ZVEuomzs-48toG4GD=O{2~P+=)cAVc{$1cXZ)anyy>)S{66o}${9U-#LVBA9Uz zWcH#;8)=$QI-@!~$Z9pLi~+f)qF;0XFXPEEK#xo+yR$tW2s6Q1@tN)@9akyD zAWSQJGoi1UbIBvnMP8ErHca3U!Vfl#8WmNn{XFLY^Fc!eLZMfLe&I+l8~CHC%DV-uT!~XjF2C6>@ax2q0ByyPV zw)p*729f{};hL&j(lpHwWe$~9S?!&u5fFhR@zC5#k;;!J|y04;`c z=Mp2LuuFFzq65_9c?{zN`b3ao2{8f%BDNa0QibS(e1JyOQaOQWgs&pRKox2cy5L=) zV1dps9JTOyxiQ7P_&IWE1b6{L1Kb$;mJq@>6lf7aps-RT7tYO<65>0mwE@U3N`*{L zSRsli0TehYV~}tJ_L&BJFe+o96>x`%{DwVd#*rLBoB(nFMRGtqvd$nT&UnWN=%|!! z5q`r&;20E_-VXzeWMa9YSm>h$N=IBc;KmF&@W+VT1UN>dpK;+1QFRAMWCU0Yaps8+NasMc>cpf(|k z5uE*t8I7)Q%#C)SD0L9$uCXTNO*w5`W=HQ+$IY3j7(tyNv|QgOu@o%_( z^>P4zti-iK6G?T#d++oC^9}Rk6#GRZY_GL}@7GMbpoIBBgb~n&=DUO*ctqlFU2)UB z#u4G$jzGa)^oZ&HE0p|T-N=?5&j_*)R5z;4AZ!;OR4o+!pe11THOsj$AA&ckexPqe zU4L?fWC7w0`%1ir>aei`$c>@{%8jcB&ka;(;4@DrY>%W5e4elmJ`%+T#MSY$xd+yb zt_RW$7hn7{HsL3nznBlQo{$f*o*Y3iI!|6mI=bWzI9JRwNoUY=VqE#Q8ZdqbW|!(3 zZ@1im?gr1NZ13or3fR+k7D;vu`4yow?&6wqSN+;;SM3>ZQ<(4P-qy}^#8z)d#Am=> zgt^Nb)<>2HUb_$jGU$bWVsidD!xn}y^_9&J0ynZIi`QQ1QzWfu0C-Y;g zw*2#H>|TFv{!_i|vrg{wiRHcYlX%1hteRJHUSbC^W#Qe}DlRm@EZIcfnoRs>{Ulv6 zag)s2L^^o6qj20FQOjn_DB&b5A#kDRYnw)!Vb4(YR+)&xsnrFvk zQ{QQWg)zEa#{MWf$MA^o7~8a5zUV#ld?y2a5gmkt0~P;X(MVxnD>5XA!D?)U5|06=&7#+-OzehX zxlqqF1~na~h=)~-!f1>vY`$#c8x5DMfS)9bV0s{Sp4C)QU#Auw(n#+3*2(#s(O#3s z;u8Odw>8_3H(kE$s*>iZgeAI^JshWGa zsSYiATeO>ax?4m(3OD=2EblhOAxS8|D0#&kfu~YDA`#pK1I9#^4v`3*SoE+8qmLFE zl9Vo)Ava|2v&1mO?YEN$ug7iI#dB+yR>zV;4TrjCK9~idB;@`2-H&c(Bp&t>v;DWT z3~eQ8>d#!(RXBMg|C`9p)WG&W*M>LwO?+RMX7}cJg@>u@SdA$p zL<*u`1l5>w`~>9Se~xQ4s99;7SPG!NH8lpMW@h3#cn)En9@Mt2{y7k)ZJ0tl+2dR5 z)wq%C_)*!cZbc|{E<@n1*71|?GbJ@Pm2Ddwu~k}Tg$P$jHYyQVlroQfGF{FsHY!Jf zgabwIFb_b&JO5N;0nOgvZYhRU@`G*5+jG@5(q|vYjm+k`J1d#7pNW- za?u0Ttl!1UBf>kc#NAnpcCx|rhM}sa=BB!PjPJnF+7VTgX_?u+*4Op4H_W!lEW>pz zW99~Q+wS0!wrkCB)X1?WXkDAe;atW*~aCR&Gt5TK7Cn9#uw zXE=-^XsAzu(!}v*{~U)<1&b8V&^d_UZ_HXm3v7`aj&Ad3R)n6KLUc#{7&mkI7@Zv0R9sF1&o>m;tV}-knO>u19#b zWwa1K9Qa>yRMV;TG;&gGuBU6-U1n<9_21d(Teh{;t0G@sgjRNqCAXZq%3^W$?n2E4 zREy@+c9)XR<25FsG;B&Yj+#O$D8gpSg_QG9ouB4V6L39E(ho>%47@)NpnRk{Q@o8j z3;$NUf3Oqlnd}Xbisb*PQAU8BViHb1I+B)CbDi=nX~J1p83Qi}3XLs>g$)l2 zHw!UHSVCfMFdo&qjH`-)#wQ{2SJbJUP#+_W;tB9orVPPf z!&1f@`c3NVb;fQ}=6?fUU-@w8zUY3Y|vJh0M)wSYOX^8 ziZJs8M;UQ>cA{#;fm$ZwG8?a?lE|IU##Bk>^gU40^FFn>2Se{tsZ_$k_fpi?f znJX_ZRFGz4@L-)k>2D0HC$(cfPL^tNjA*0Fk1(uhwvuj{Kc|15B$^1MEvpEO$Fmy( zY`Rzc9UW>4H+y<}#567SOf}2x>emhbSXwsun0+i1WyTH_Ebi88(f^26Zuo0awp}2XGAoC*#&AO}2UA0xqSaxCN0T&w2q1mX4peaTB7hLtvpxGq4CC#N6 z+1-Z}ZO2)g;|XT}wzLBwY@y|5IH|vKe0CX~1FU~cksZ4%7059fjhwc+zCcy;sQ@&-0e4VFy1W{)AL z471c$xGc`BzKnj4FTcg6zJo7db-QA-!`lMVAN+MtfK|UFp3o)NP0~ZJm?BDIO{-2m zooAfv>a&|-7jLxWNJqc4ra@8*x4xx6)Ft!2}-Y}3+C+ra3~ zTeE2G`!(y7{F~wR&-Kr;pJ_iWad&K*Mgb--^Q=CN^B;%>Jnke=qz3|-4Rbl6kz;P$o7V2Knc>{jy5}dzGb>;I;}h9 z*T?gNtVC=tjefIc0x-4_ii+_q;=VzTd-jgL`!ZUC^a3GiS_6 zOGzGTgEQUa5tSS1n~jKOG6J(?PTm^5*=qj{qo-YbYvb<>mtD8_ zZLaU*Bi?O(^zI%X^+V$lkNSbM9{jZc-pmZQceis#QXKkKkw_&n7_~r;04Olc57JM- zXHjojfQDh6%MUL`N4;I!1bjJkdc>*mF6V>4WvgklIqDwBkelp8?u1W17N2turANj0 z$$?_M=oq*3f8)Rk$I#Fj8e-7Q;D+aW4*X|gw6Zd>X`bJT#1`0kR=1}F%m7&=VbFR_ zft+-M#o$q`Or_y4mwOlF3JT}~0a`~={iupVGjscXx}7CXtxJw!7c+w|euKoc#XSn1 z6JdjyBz&O`vSu@Eh)VB=4w9sv$?YUxx_%x-NBN}|!P(p4N${P;&9ioz;K!QjI59So zi%*B={^5XpuD*M>FY)Tj#4~<;r_(uP*?X*v&rmbjviFXZO@$FT=%>M}!Lr7yhI(<= ztSfR?c*oj(!ehcRbvECr4o`SCEgdTZ3wt&Z$EDh1rFX0Zm6a{A@>CA{YU51fP`@UO z@lrJ0Ocf4fY{im&;DyC~oUM{^5pfoTLiS<~1`$WIj>1;Ra?vwZP#c-9olIEl}~ z-t2zu$0t7GH9AN51oYT4!#oR(2lDSH`7T=ZLd6}nuL z9C36$k3YbC0#ABx0%|fS$26fPpk@$vT^yqShpfhYoMxn1tS0`?$se2T3u*5$E~-2v z6y$lcb|paRyqH~OnjyT+IJ(d(YAdyJoY8NYuaV6wWm9y9*?8`*Nd_Zkz#DXHM^n~3 z{kx^cHhaCbR`#A|vghZ+rmSHoq{z4;Qu&WIwxESpTh*;I6@W;iB@@*uH?E1Q^p4ml4pzBZV70w00D zcQyk*W;xiL-@n_ycYc4P9Za<}KhbP~QZQm}(<#o0of21=I%%<){cWu}?~$*c8o-<< zV%I|E+-5{c37(qMx!W3<(Fq#U97Z-c5nswWiUR;OPfVj9Y`lwN1ZY|@N`$-T;1$xx zNlbsq_~zLSdnr>Eh^d6pw6MvM92-)`3))V3t8CQYAgV>jTv)~uCn6ZI+s2Xa->g25 za`n-N^|wgPZuiWs#@j8kdE(}0hZ>f}Yr&gFFP4$> z-kIhV&pr6qi~V+kmNdddNw5^V%X`u9=x*1IJC}dWlY7gzm9-uvgg@1<9(aKdo-{_X zYQ24vE>;fDJrYxD;f^3PjK8U6LMG@+J;w8}&Tll*MOS|h+@)Vx4z`;Xb^>A9p;PXQ zotHF4QdHp+R!+CDHyE~{ASzM2IQWtCxvj<=Zia~|opK{JtF!}AZE@4^*_YhnMjuIP zOfUSitt4W#enh<$d6h$sRt8>E`?qbAcb%@EbXQ%CgWSVx@%lzK)-)}VQ{{z#tJL0t zydVp&BR|OS2hTca$5SwRxTTCUX82#U+Av;&UG7Kt_*DkQ2HD?uKamsw1~>3Y0|j^k zGBp+Ujv^%C7)3D-jkxVmuUNym<+(12&K<0ma$KHNt|7^8Qg~PblYXo$Fy}#W;i#6P zk`xq*W2BLJ(wmX0l%_0I@}no&;!PMF(GtYWqg;*#W&>Ig90?Z6Dk{alLpaj9BY|vZ zFZ{~{S|1&M_{R@p+bhuqZ#i2y_+0FVO}su|s)sgxT!+86+H=%@YJ@tQ`A2%V))-|6AwhT08^G)D(p}Y)79f9_c zIg5JOy~}bPqZUbwazoL&=ldgk+)-?XAeE&Et*?vz?4QI9ug7}60Jb=-s#NXdH6o{x(oyD$0xO$ zJI-4+-d{XufC;-sV(_&=^(J)BAK>8;6{m^(aHe7GRA_3T-E5N)- zh0KFtqhP^Kiim7G9#y8u+DR-Wb<=cFv;PL=4ygj~GBCf@^}&y&&HB4 z&s2a%71l{4&yPi^-M==#cJAakxkLZM$d(Mzdt--QV0S=i0{j;>2IX)76Ja=1fFnF~ z-nj$5=4#d`R23`2sViamwUVXa{0wuEnZyHC#TYYpRJMXS1ubi#?ZJ_F)U07VSIiIM zhRnICXbiWx`qk1CsLW_#mD*#l2N76j|D6Hn^exoZ!)tpYTf{|V4VSgN$azLh?LJ96 zVrI`%Ab7{4>;BB^p<-?8dtn@}#rRli@nv`E-bPBzJ4EF{h`O;`Ao_(%_)?iK(AP?E zGPgOJZ>`BUA)uPgsoZVCcP`iAPI%SOjmwtWCGwc9@|;n=39)^j9p#NV#^DTpl)Ucs zS2lx_z5DP+_SAW`Y!IiIFCqKEOxu6={_f@8=n5*KDKcn}!KaG(&d54-WCp{!@K<8-;D~~@ zF^5dssHEOJJQ|)HEQu0QnefCph#9ZUJEK3y(3t~R4`a**=i4c#DZRPE7{`%gYw>(C zmuKl>^Ga(R+AyYSSk?a}C0dtC!Afae8T1HsRr?)>34Vlf)xGTg58~cAO0s49_wDL3 zy3l3Ywry9JZQDkdZQHhO+qP|XRae!^-shgP_ivng?-=j>^D=Yf%9w$iG1rP1iTHeD z2r={WO=C%Cd#=se3%W5rBR$#0d&ce{TqhPr-~BOB(hI=(cUgvG??w$PoE(DPRq+&fdazceaG9wEy)t2s{rK#S2Ngqi$)W~AR zVo|yPl`ior+MQo~8$P1pv|B8g?5u>N)%mqTD4Fi;GKG+}1(+|31~TECv)XUt!lE2D z1Vyua4l7k)yZtLVVVPS{W3-i9Se9tFWtg%8Ui7``c$2b6X%B@5DJbjo>okxNZ5ilK z5J8njHwh5gDNRY8(~RDQwFX%pe$i-wTIDcGu2^xUqnweq>5_wA9zGhsd$;OAw!ceH z(UnGuw_q-D)9K1A8YRP_F_ml|M#1pdf9~laM<2jcnrqJWex#Bp=Dycs4(sr3MQRP2 zu-8!}geRU|K&mm;DO0jiE*tS$`cxd(XNcRmZC3fMW!bcY;9|>`DvK$)bZS;Fls^W! z8+4jgajB%1Pcct0PcdJHUX0e(cobdWc-51ZIt87^p0-K~O4g^>`&4dObTB_hWi_L6 z6BW6v7|5HzFa&lTYUP# z6#D$k0@5*%ei^#DIhY0bP8Ob!8BCo0kc>M{=(Z)GOzFoWVz8Slpsuu{DF)5lpkI%l zVl~P!TgdakZlg?v;|+HB9*5ATYLGOTYC0C86)_}?bh!9ElQ}sBb0PKME<;SlMqPfR`N71+=f!xY;3Y({QPsM|{BbPqrdp@P z;-IIlLt{w${ej40V};4&QL~tF+hvo{MJnaKZ&7rc`2GDpX`k*f*HW#0&ZG*hzq=?hu=1JFbxsOkQ`GDGXN!KR?v9YKFHT6?}YFWo^M}8%O5B3i&&e zw$JclpX)gwiCz+EG;u}_Tp51q_l3>-5}2%9&cXdaWj`ROLeTbFuNPeKSd&C`YxdaR z3P^s=OPnW$UrFA~v4^=c~|7I7Fw?_*yxRi&cvLgjS&vf#c=S&Ha3Z z-lS_Nj@a3l|5(H$C>p)l;hU5{%D1AU=a7w0t!V!%p4ha+NNrrHDP4NW9uzr5KNZMI z@^>Y&SKM9gK(>K|h%x;Ef$l|pir*^{8v>m(R}*Wq3q1$|)eufhxzK_=*^l5}Ij66w zeCG$DV^R$9Q?bWnlzO0Q{3@fAiO6T}by?cen|M|+tQ60^nPb#v`!_#dnYhR=m34x6 z%Z7KUA0=PJxWP>pvM3gGj;ZOPZUy6*6c zcGP6G*ljs<6r2k}1PUOv6Sj18k*a4C!`T)rMAe|J-?BWch~Q1+Gp;?7m0h!`CH=ZO z*kP)8ktch*0)pc@n}aq{Ck@Pb9P_(wIwtB&Ty-oy|45%Kmg2zs$lSUFEk0=l16>;)b^^C7ylWdQWps!jGI6s|-9mXi2}kvbtVVMdotkXBDgR zFHO1{dwDBTi~6uUCW!|*hK;LvegQ){hRTscHKP}FsS|aJ`k`fYz~%lkjbVJDhWke0 zi>554%8AF8B>6v*h(oE%C-v#m`JFNrr3z*Tssz~;Fx`lXz(mUobK67;%`vfY6-3lW z1Rt?R7v<24!I8*(7+x9*e^^&xx3h0Xk}6u0$1Pty?l5?x;$LD(dmmOW_`0MI zoiGbLn$?DJU3NTou7*gev51Fj*sU+0+z_p1U~^TUC@AYVLDZCd4pwWuf4W_b9)Hed z?LsdCXUC3Jdg*!AGeyy5di-HU{Qi7-wsF5Og>#KJzwI#Qo}xW#cT6dIGT|_Mde+H{ zW8||Lad&b(@{XZ)TQDd>rG~Sa5p{W=AX{g7*gWQvdfkNe9X2$$K!qxd_=xJ+-kEsv zU{OLWP>;HG74LYR=J33LqhIJA`#|PVra!)6@+EG!=9khX+jG(#>AX%uv{Je>61%uE z59Bjt0_RBLBv23&973J}3 zyQu}1{Ihvp6`5wA1-Y2v^s{p@`Z+=6jmN&XX@hmzOX#GbC-l~5ZNn=D&c(@?53=W{ zheK2lk8Vuvi@ACAO8HPqll=Pp!rdutMf9&h3z>;N$X-df_)?tFv1gnlXWx9CX z=-T*9+n#e~HpgIYb8652VxJ_=+=in@Q*^AFU%AC-ZKETHGT= zVF?TVeb^cWnWRO5$~YL4)4SoPAL(nTXekrFo@6jWf0Xiy@s=hr;iC4fwMp}h&Lp#P zN;{clm}QuU)GD!MqhZXwaDS}9sVH(ux=H#86U(KH69&AoxB?u@M}gPL)8cHV%Z2DS zI@#964~RAsO2SK;1{hzdlTUFKmmHKdE2P zYfQ|F3=hI6HKjz#G;tf`H?c67W(OMbN6H$hu}IFqhl56f4#kRCC(!E^h)~U@+4PRi zm2r3Nm?Pn6M=#Z)ElOxAJz0=gUrvxmJ3~ohR%=)+3+@MQq1?$vz6__445e zlI!H#){i0Dot4}*VoYyiAi&sNOH%*50YkCh%^WdMkxLD7l>2x2n>erpp;qdyvDf4mX+i+84G zVPT?SW~O6h!=q+oV4`8AW2Ixn1IVed(J%t40z}LJDsS|3?2K#x5c*Fw08?zlfcF=4 z{0FW6Uwk+HKh)Fy1v~#K`>z^*cN_1oxBv)h0X+w!KL!4~_Xj(-8-g5pAdO8jXI zKr#bTiZ-I+LehG+00!I;5Ck(vx4+B^ZVrG5h+7-m`~ke>jZDk{t3R=%`@?^$`~kl;SegHz*8u*Tm6e9=Pw%z<^b_DS zBO@aX9Uw%21SRU zkALL-Z~X+o?SH@FpPGNC|KpSv9-yaejQ?ngjTukl?;!kD?LR^IPYCe-*#GwbFSqFE zv;fzQkjh_S{`a-=2hjgtfcyWAP-mq7AAGu&{J6D09el?drKc1e!Vp@V1Vkx*=|C=A z;uCO4XF*a}ZG^+lwM7S0tU2V&#l-|oyUf|q3fiUF-Id6yUvVePSTB=yCWw1bI1ACC zqS>hm(zg8xmAGF^CMlet!E0;+ap9<_F6p&#o16STI*!=g5fYmfjpMyiGf=aNg^%u+ zeR4u2VdRJ2)57}d%`Z%$byoRbtKU1mrFje;Tl(IGC|rm{L6NMB+h(?YAy;EVrq1p! zg+P0ZMlIoZzH4`&=Y(F3uv4ZclSasd$4|x|#wGkN{Gf&X@ z@`NrJkin);H@rjRZI9zGpbOv30@gu5}QDo)O-Fr7W#MEk6GxFF@bF_)J)UT zALdw|%oOZ>7NWtPzrsC?Q^vdJ+8QN#32_rh?_HNiMn0~)-g1}a^D`mUH&ZcEUW#f^ zgM7o7wpLC0vkL7*E5Q#SfYn;JKldWu!+MN{gw)6R*vegt($(e(j>YSeK z`#denZSv__1@VSf&wc0Z9K7n7|X#EyY2K`G;r$31L5VwmJP{E&Yuvu?Oj^CG{x z4EmYdpOX8*%0XyZ3<{z2Ny=dci3}^D6JWdBU0VD3DleUH_X*qCK;&FOTU7ggt9S~W z=GSruGYRfkEGOcU>3w7-%}^=y0Tv(*aqilcB4yE&45#H5>w;Ow#FVL#527RR!@Z1m zl1>5lQWiR;HT`v-fLYGTN8RuJ=($+wpl>r-nNT?95=zw;+LAe0WS(H4-i%8+*R1A( z(iCzGWmaG!=_`gnVGoe|HlDjoeMr*WVhXf_=}WZyx6fp!yH+-w)_S=%h{JGGnzJ#E zes;O_gb$P>3Pwv))h9^u@nx## z%@-)dkYBMh~ZbQ4AYk#!O+~Vw5~sq*sb5prg8~g zZ>%HT@-*gV#XPxKVlA4{MIpy5nw>7l`CunDgpceDrtU&_Ojbk$VlsJyo$_4-0{ID~ z%%bm#k2x8Ss%W`k0(M!}vZPez;SJNlp|8SRS=Tt_YkvPxjDUcW1f!mll4?HFe)_bB z;JGKKecQVAWy8$GQH-9muJicdH@(`z*k-+NxtnJ-4ukm1J%kj^O3W4LnrUQBi!DcQ zF9sUx7&wN7h|R(CWlOM6 zkQX+o72@?Tj`SdBMIxl)E-5iLs|DSAPT?vSYJBZ#s)j&;XLEkI$VmFYa%wxI+!MDZ zHIe#uSUkTgN0yN}DJ`TBNFNxHpK!dlkwM8BsOPI34u`NH`Z!}Hxqrh|vVDCF+)<@a zl zee_Z%M6oY8?dMo0CWHFAB_EiV7K=-huX^1%1Fwu&B>JQ5C?bu%n+iBmdeAu=T|h(@ zaGu7lFkZZ_I45lL)6TNS>|B4(|K9fHL1FhiIs{kV-~y=P#DXkJWQORdr|cf(sv56f z%aQdx?Val>vaU%d`gN?gD`0_pMOrA8-}HOA;&g6dt!h2$oc#rB^E~Cm(3ujr z5~=?30Ib0?e6&(K==mao^288yw0O`;$qJ_y; z-#7Xs^a@|VlqV$2{Tjwi83XAFrsr_hz&AT2xgYQWN~$bTlZKcpsDAt@)EB6@NG@SE z5>oD1uds3)jtvPo`I`@-?uk!~$Y;|gj~DVyAy$Uny4(V)Y!sfkl&Ra8dn%=mvuQw7H|vHO&>T^2Mr#u zI(^r+i@IldTi$a%5G*;~(ACxYto2;#b!xZkmRCqmh{;{b=mbhc%EJRFbBfOc+XLEX zU%fZL16%^SA+w=$LMiB#ut;c7a8dg8i(UDCi`9won}skbrr}8^>!YQ9U34oOEwd^k zRirJEDH&g^U#vWfW?r_iUiheGZGXQ05jGVbl#gAbMNMS}%5)3Q{k45Nl-?B-;~kOc zDmNYt6z;wrW<+bqTn!s@n#K^dp8dkTDQI)_$^foTbVcC==oQZt&qJ&Pi3FOu4{KLM zFVZ%>2JyMR?>ewKz`u`P>aiVzeQ_4S zZy`fItU*d0f0NcK(OIIpbV@}l>J4Ghq0D;Gq6}A&w*<6NG_znzL8ol1=p$I961}K& zxni*+bY7ZLQhzmOgVoi9wuK&CA>h(aOMUPKhc{K+P-I#VEqF8qSw}t)ZLlT9mEBMh zenXz?SaDn)?YHDA4ux@dp^`cO0WF3*S>Ff6gBUFo;pwz$-Nu}wDkoeU|MH~;In3SkU zBT|U(Gfs1sudA}zs;cPkiBUqhaS?OVyV)G4+7T!54>%qfT?S<wfhiGAI2>E=ucA*OP z8eXF(0D`DiBqXtxw8xh z%4%B-t}pKs$YLoUy#9pwHK5B_Jt8vQz69bfN#F^rP0AGM`3Lg-4#*9dyS!h#q>gM- zPSSa9r*z8n8y%}mkF2Itcagu8uFQie%Gz>X7RQMjSV^-kh>b4xNb0xhOzG^rZ4zY) zDq#->^EOoNa!iKzL>|8;gD_3@8|Xz#jI&pa;)7LFJ+#GoY(>oVZ?aB6O5r{MUGph{ zBK3+-WG`v-g3<|6MrCj*eC)H(`h|U-cDPF^Xm{(i?!p(Y-6IW!O|39IE)g`=T}D9Jp&Yi&rnls~6A3FB)RuVW4$=Hd#l?R2I9I zpAMgaS#0P&{i`hNa;0zgSv>{}*xXR*w*+__bUq1SFZW9 zV(R`wVpSmPUuJu5_^I~)p!}%d*=h3KC|a8WqE>k)=$jCL!V;%Pw+@5y0<1{oLr6X5HMs zjTtn%n~9m|`O|>w&Fyc+%`JX2xbAqqtby|>DG3RJ^z{rOQ1)IR0<`I$s^b2_oX2gT!Ob|%Z77xZ_7fGv+#bS z9YeYZr-?Ky%ImaG$$15g*G2owmX`=2D+F3n2!YuNsA&%a|1kQ;hzeUsPuLsC0y(YOW@{Tr=uJsu2&f+kd|I%e?2Iq3>HD71!#4Ql*qnrQsOrqv=+e%p^>&;y39!quvj zMMB>@Ha!N~k?J_zs7-AYg)~O;Ve?CK0IRj51k6-Bura!|%&fdbYmhiUa#F;9L3~YU zgDO?}Eh$p_t&{~u0W+xRo8UYc`P$2qyk>Y@W6mg|id=b1#uA~Wh`K-`B!X#;qAu=_gcCB*5Dd2Gj z?kxwjLZA_NF>gPo*2x{6@%%2}L?U3f)OH8O$f|jFrLSe#5Z@44MEQ-{Zv1YzJlj-W zp!b*trlB_z!d}=1Xa+Xff_}r^(&VOy;BBqqeu}J&TdBK>tVI4gLFOPJp%Gxq+nt?9 zV2;iTliODC%5tf`Nw@(?BB{P97n||lu)^+Ts&<1rGw3tun-i;BRxU-wG5&Tz6tZTg zDImqN8!HA`ZRllKJ-tp`fx0wa^_^X7DzQ1_*Xgg;Um8L>ZM4fOd+U4U4G_)oP-Fc8 z$V)(yBcwg<@P+}8eQP0#->WW!vt7GE)W2D($WQht69?vVs!b(i$;l)4NizZQ^I=mW zDC1X%w7?D@JoZ5aSipNn*;dBYBk7^{*|$V1+cx;+BV$!UiBhtu_s&8^DF@~&nR%gq zJvIdsWn@e1ovpBC^3O-dn%pr}W^3vA>u}cl11`$lc7YP>ai;`al$-4g`A^b6Uwb#E z7vEnHEV#mUWaqD!%4~*zULr?%+8+25;$r=R66ImL>y3qr@(lcw+!;|}^W3@d?FWa= z?%M?phQs2qeL;f7{bMA@La|lt(E|z=-mUrB{}mRRjS4DQ7(LqvA|oFhi+kq;NHn@{ z7B~vW_Tgu~=q?}$$L1bz$Tb zfxm<&^`+ci_B;x4S5TG89gdM@~h+&6{qZO$+s}*kQ_ZcFO4Mn1aDT{~;>5H=E*$U-Z%FiXBI!1ZAioeM; zp*M4PD0b{Xs0ezXh?Ve>ayJQHR`oZ81!66^k2td?pG@kH>sIGiFQP1!OA)6G;`UBG z6$$ukm+&zC@;ks0B>d3xcT%mly%tU*L4w^lSGT&zBw_J+!fJr^p!*&nh#^2BS|Ls$ zw25gk9{}XLPof6`1N?6Yo-Lv6ss-c4F)hDXtJ9atSjUdc2&tRPP{RYlvj{^ez6U8H zgQ8~nVP^%fZLnG`v{q7hUhG>Of!pfWJW|3f?vN(o4&jhA0(3!mEu>M`MGZ4Ug;7eo zCGz)M!-w?Yc!Di6ymYi%V|*xK2EPmr%x{JHOySHk_yec!nr2?qpafe8A@YP<3^J94 zFg!O>(yd{x6d*X^*zhN=s1`9PSjXH)o#P%z7uf=}bkWUTncwr?PctpkDxR+ zx5Nsw<_)}7W^sevI>y_Hy(*vi7Y65CJg%Q%Z@046ONF1TVmvD6ga$l1s})=YqMoas zjy#f&aPDYsqwbqrN!`-tVsUS^FE+;q3q+RixN6rmqM?TKP)`xA-A*&ZLK?TqJL_2c zHICNDA0-RD9+M8P4l#24x|SSrwl5xJtoIcpIZ~CTmNI54mNg5|E75ZyP34)%(+nfE zEauf4NGkcum(3f^D+`bt3L0I8+z;SCf#S6$eUe1XL-Pv?sK1JSSP%ylhM9q4i0-=9 z%9NyYr7Z@woBY_6(s@}p;3J)v&A?Fx6{)YOj5;fdfK3iM<6y28-;I;gQdRKz(GNRh zZ6jo@+EN%ln-C;}vaiNUe0N>#Lf3ZMG(e+2;Wcj+8F^r@skU2I6IqwEsQd}R^lV_d zWB*NtB>1{AeFJ_gYXgmDCsftmKH1eC4e7SB_>cD;B(wRsM zw)}|hBuUH%xuw|c}((>8PG?OKpFiE>tTK!=||XX z+1%dK%Nzj*x=gUy9{nDTPC_)rlCL~VJ*BFGJ;e}7g^CA{eniXVF?1K_31J;lW>guh zd~sW{@}5Bjs%Dagz)V{_7#>Gv7#<|10-uM>CXOLaFj`G_!XN&=M|_i50Y^7&l*g@o zS>vyn=u&x61o6ED;)i+Z&FE#$Eme6Me1#J`ksjO)DTRxNku_mTfQFOoU z6w@lAdn#J^*SK9y)XH-!*ONgEe8=S!#vhCD5@v@wl4r4n2>j`m06bBwxg!S(O-Aed z-DJ*F7vUQy3UGIUp5hm(TmfBjWT5d9G&ZakP}l@w`VWtN`5iF|;Ha66^r+sNA3tI`a)Y|Rx4W? zN(1sC)r-FH#j*q+-k0%|V229SL;=wj_8o>T*?1soh8Sup|7d0ScXM=)q#24W z&?K04(as?gcuUODSJYYJ+WrNJ`=8-vJU38nOiu{Zxu89Tj_9_jekyZ^J%)Dgclu$A9_ zg0i!@0M-Hi0$9+w1jIU5Ino+!4ZJ1W42&yx!>4)Dy&m7dY(3BO9l=oJ7=x&-?L zi5tc<%^MPCKEDSWO5~(=g>!*l<0q$?#f8;c;f}RC)(eakxbqxh4~_fx7pfb)%Um6x z=Q)KQFQlmVK<~;OhX&vkX@s5o1t3pf=dU^-UBcbDn?2iej6KOEh%a@1-T753*{9DB zR5!?Lz`ubn!#l-&6mOJXnQvqtuxxpqfZ=BDdzMcES1=zqIw3s$y%9Y!w+gnuepcYA zfB6X12E!@X2Hq}G`FZ_CC*S21uBUqr*ViXs#Q^-|8mde5&6nHp%L`8@*l+MooOM}T zGS`r;FWzD{UwQMIe+DD}PWkx$hKQZ(-y?f+xl;Z>-U-Ylas4%VR>wDccKhe>>2(j{ z1I~@Z4(=)R8IZU5_3#HD=_&Az3RG5}U{Cd_;125p!i@$8mPcS$ezfoQJi-p#17uAy z52%Q5cQG0^=*M*NXNoLu>B~cWm@KbblfVJiSba)3eE6Vfk|G8G&UH$U#jGVod|MGw{So}=J^Ugh3 z-2Kd({ek=P(D{k__Mq~4JpbwQcv_5Dy&-*8P_DAoh=j&e&4tjO?OtJ}u zP9Rw=%5;WF4PpLrgM#`P>GtTtJ6=MtINRomWiK<=8PY>ZzXkG*bv-XjUrIyvMaPQg z1Nw3LvXYtvjj`aPdJ+@}sKKNcJ>o#W7~N)e?7ocSYnyE5%b}~r zl81}%E|kujdeQuKoQ(192^IeDYO#hD7h~`Y56KY8C#+B!fmS4uG8XurmMAocu~o7~ znQOF4a2PF2O_Jp;OvCPQnbcCh$!c4~;GwabK-xv%El5=0WYgN8S|c??m$}h1(SAL$ zUQ@qCa8KQRe3$-p)VMzzKYQIu6!=@Tu*_P*7|3miX4zU+Wsh=hyb8Dq_zD=uN=aWy zUg?hM*?*3^>T)iLsB&#TU&<-eBtr49%wEN3q|j`Rx=K1UJ&uLgMs_W$ zqVY!^@oF*`)331u%=l%}?!*e|Bbyhjr+_@eUVS=JjhZ}29x6_T&;gyVYgobys;Ue%4K42U z<1D7SXGvZM>q0}zhB>9dQlA{64`&E*1E)UqK7-JN1W`JbQQVSz(VRMh#`vrD3A4S@ zlC^;H<(idkV$t`=-?MRa6*s@rUJ9;WCle?=e!@ z$+HwSw>q8?QNTJ)y;9XiP(r=f`UaBh+yP|+%=518ml(7BOYHb5Eai;~rpeeO`J09eYY)yJDwGU}=d11{bSJjS!gqFrQBJ(T)DjxsBk6Ka>t@TR z=b_!J)ZS4zmxVJne;m{wuN$?SUK`4eIF~P4jMhWAB|(jYgq!Xbplm63tXjrRB;ic< z0?Uwarq1s(J27-yGSZlMz`@7wR%Q?V)OT!KaVvn4o8P+~mci*mBM-GNBWotx_m7BS z(8NkZF=$yT2?~%}R`>3&FbWX$q{9kN-ht3%v|!kKSMD}e)dT9CTJ&9L2u~Te zJ$wm5R%zDU^fc|XZF#QG$e!HjFZksm^a)Ss>~t3)>{6jqZ|tk{!t;9B>^6&NbKUkH z=pxp$=B+vwbjev8e-wXY^|z+p2X)=mPnse`r%X$M;rR&q zs#3-3gkbvEL?CgwTK@*F!yOP{M%OtlaI33^dF4tp=7&X-dD8S9AAxX6c(jGS#`yv1 z#IzKOk`)3bzf@UY#X5Be<P4kP_?CUzqUFOTc#e9~=CUUxs{y2c9{7LRE-(WR|={Y`AvO25FUa4#Y+pz6f_ zzPk|`3zNI6iDY{s=?;=!^lK^Gz@w5QLmDL=Bh9p5O}mvpbARwIGBG#O(@oPYJBRvs z9}%;U$J@wsE!)(9au{%9lW!5=j5};(<%O0a0#6t7;Kra7)4*ybyKC*dFFXUE#qg}B zB&DH{F`|H;Jva@WEtK^X4zc@|M^ef!W30iinnxFz2vJ zOaRt#wtESOYg)!y)JxiOQ%>|oTqS+WVz42QoM;SZ3cA(9JikT06<3%}qqkU7OL1bP zev^vhHbMy%Z(ZeBzD2vxjB-I?KW9ScpN6*)X(zTspmMrsN#vyS-Ds_ry<&W98~w%! z_^>$8!+eV%gw^H;x4SnpS~Qc}^%6FNpI%>4YIck4rK6<_zC9nC!UgrpHiPQ}A4)43 z=nlVo`iy|-!-1D>Wh9baDOC-^IQ^!|f*xZ+HQ(+ULd$t>0o%f8t`2~Hb6^f>XfRkR zW=PqQ*Jn!*FJyubcA})9UQDs>-B_wy4f;p!!`pZ)wCm4a_9vz?(oT9`EUG)LEwyFH zp|5qEEh4hQy}x^fzf+s_Q>(~QVWgX4GU%@@$~JbfJ%_7Agqt82Cm|OePj-54w$ z^`LQSUZ^_yI$BM@UGKzxvxI}hL2fOK71neJro#QP^xmQN=Ly#jj26)BotAmQvfL>wiKk^WJ2$X#xo(!S)SXIu3aw=>zxx#{B8qzmb> zdfzVOuWlt}Te2AioUnATp`5w1+qdB{dg3n&5Tf#h?LJ}N=R5)6i`o+b5 zHm?D9E}%i($ZLc(HC%**u`4PtzFRseF5W>Ee{_U-UyNi%u{*=C@@6~~<>$DM37LXE5+yyEJsAWX8Jl5pqX`RPf4Z!TpiU`Z`J!@UdU*4Q=J zMvDdx`nk)`*OwKDi1Yc`18PirDWd5(o2-|;oIW1j?|E(H7bg8Y;*@43Jl#bz-${QP zi~zf^R(X-Ext&WNlP0z_Ha5m;6m2UfCtOLUsWKA0wpI2d{@~G9=dU5Mg4F>k)~}$X zTe5c7$y(91ZeZp(NqBU~fA75(1zV>o#znIxh< z(qW+uCThdq}@6o=h z^2cV0O@p+9lmj!#W^t>|bEM32S{;Wl8Vw415GhjYa40}46ms$E&548aQ$QK{cz4Jw zY(8b;w@wIKz0?riezy`s`ly2_lw|EogCJ`O{n-=TP zmY{!Ytee#Y34ES@hF^9?WToiBWgF@aYHmM}@(7fap$FbE)ZD-%=jqNyh3YcHf+G)F$h8K2=c>{65K5e_y{zY z;^lS32iQC|FS+t~FEe4;b5*HfN1SAPeQ{|@^=oq%$jT~2n%$Q0))5>>A~HefwI>i~ z0$<{mOk^(wU<>zOFI)BzDDuUx*$M1^4(fxobqwVSxBY8(AD8LKGHk+PHLsPzVUlw9 zL>_xdUexI%M51tSBvBPws%YF5?oH4AlLqQGt@$qgbdKi_duNTT&p5)xdWtUmkg^2i zaY0Egv9NJUs*lKZRobK#OMy+%|9n`LkO6v_}<$r)?sZa(|MC#1B z#$j)`oiTe}CMys{4w_GjNl8E%pXAEa6PwnL&4;H~S|TLOlP`=J%j(myL%M~>sXBa@ z6xf=2(53VDScCWxwCCxF%#{?(e+3g`Jdy};2w{dUjDB|$E9{2;#<(>OKZ(8-v4~D! z^uln*sE;lm#Ch+3H^1)x@ePj`NyB~I?g1*1P<>+{fBwkyhg99($|)k~gPU;3^*2?r zt?V9Fa2ccU9Y?aGRJ$QAa4IKa#AT=HPS))(hBtNuwbfi?gG-q`8UYYkE zJlvNsRv<50r?MKuil$OqG(`_hlvzL3<`sVccE?>nvkI-qniYx*raSco$ zJx*BKMhkT>+$qXby0`8KnqCxFZN}k~ja)gjOc?f@fVJq3`sCnuS9?(J~V>ll@>u+)C)pp5kXKFgV}(@ekJ35~ktFx?mU3{~39;H2?zxSuVm(?Q>K znQOJa#%i@b^wv(}p4x!$-l(f{_miuD$y=&Jm-72~gwd^V=;EI0{>sbQfDNM4{KEXy zg^G+>m-K@EhigJ)C_vlaP*gKx(9-_3F-!SExI&F2p53&T3^SocS$%R^cNE#{eIU0L z3)qa^v8_EUQYGW5+0%zXh1=!kBOtA%^`6H7I*8g9Y&#F;!5v!xmB+~p6)}(3k$Hn2 zNbsV?>uTcMCd+A*8g1=$b+%j7BfmJ$W?ANvo50zL>oz>9GTJhTzY71mWI~rsJR@sa z%G3Z!`B7O?=>V68zgbr4BFU+fvHvpOhF%DI08~GSzwQZA(zqJNw+juVg;%LLHOF6V z%9#cC6?Ilkkc^h)ma^-xD@5smeo~6Bv=HTXw#X^#>a&A!uUoBDIEGWjX&d`+vE??| zVCOWHCkli5Wzd|Y_d299fS;ae$pUeHhe-<}%0%iPC@)P>x0&-hIqU}>M`F>F%R*Ue z%4z*xj2XL}ot_=`T&V~3nm|DrgDb5(`^nO8<^*JM~ z5>&WUv}Mx4`N&#oQ&jd|3YJgg_7c_r{l-giz}X9HVhwt}O+h|gdMZ5T5olO}GVr=Z zB{pfv%-JiXk8;TEUm!Qc$v2v^A@MyOKQjiTl!b8$Ki^z5S3#sx20fAEa4(L4l(&%M z@PX>f88c_+n6I3@%;U(7i!ogJ^8lA$F^l&81E--+&ImrKTX+ZTQ=$qZ)4L4 zWJmmoz}B{|YFvXk=E|VIbIs1Pil8F$-o0U2Fn!b3TC;!?O_Mw}Ag=Kc{!z zqzTS?pIUNq!8+oQNOp(mAt!Fvy|M9w#d$=K@UN}{Jddv0-Gkd^4>fJmxrK=WE*-y3 zbyoAWcPkGY9ahH$(`v$)xELlE&CN-dE*z2%@B&pWaGScd^l+4{ArdMRr9Z z^+TC_G_$dMG8!G3>{fo6twNb1)$}bdeCeaBS1_D|#zLEHlP(P8e!w`q@N$0Y`5E1S zl}TJ)I6rXGb36JH52TXO9M_6S6jxZ+vzx*vpBA4UpMakbosn0moj>N3`)2RUp5~!_ zv|2zM+(C{UQCAH%3nLHreR|S->Pk24=O#D5XySJeioxBgR0JApjwPc*0+nmcmc~;? zb`#Zsg+YhUSN4TnwL}y|*j1(S^7;s?Wn8tLr-(v52^DMNN=SH;w%h7Y&UmbRWU=Bz zRt0)n`-`Sffz~G3#ATwY)7Ea4e|Iu(Zqp=dUV?O5>h}{_b<-$h13yK)aPE}Bwt*ud zf_E_{39ifIRD}t8L!@kz@h~P|u0vEWdSAx8={nrWR=z9hA~b`~e0X;9SfR^8qDAYn z`S80uW^8tmA55XFOZB*4NabDkuAaehdYnL~*IUJ3ilnBV{R9`ZvC8;wIEMburlJ2u z$NbH({flY)7rH0#4|I=Oz{b+>|1-bG3c$!%>DgGB|KIa_fXzzT8Q1|-7&RlH6($xY zHYNbS2LQ}i0E8fb-(v#6Y|Qk`EdP_=`@`M*lf(JLpZ!;_|C`_YYe&_8qCx-L5d4QE z`u_*w`)_QI0k9=1VC&a^!+LnkOaLVB-+Y}G9t+DKknZnn)_)Rv|FHi7^!@|m{f!9% ztp9)p@z~hd0Z1R+|1(1~*giUh7Vthgm^6~Xh`n`iwOIDefv%q=X5XBFA@bI!*on7+ z`{sDs-hUR^`9@Fc+?vS(myWd@Im##Xn)$+!l8J5|PE`kQ>u=1|))iWy|Lyh8(;uxY_L?n(B`qNA^P{P?_K;q8c{N2BZmW0d=hcmgwb9 zHJGIVj%)!>;22xwu;vG1_sfB7L)$M0zH%6`&$gl{HI2(a!O)V+01gz)OihhV719*o zVurxn4FU>zFfkJ&U=~0V1Mcw!nvSZ@z!;cMP{oW44Ge(WnbFjlV2Bx;8e-@*0G2)& zc9@u$q1$0#Vrm4;M5uO{m;!gZqKX+>0{1hci5VFfn4$a42q**$Oce8gd!~UqaZ$yL zO$;p1)ft-rb0da2b5kU-lA=W5F6bgI;D+Pi%qrlnMoZvT*7^CsOPxU_0dRjacsnxC aGH?-FT#{H+0**LiQzJ7=E>%@me>VW>-R$=O literal 0 HcmV?d00001 diff --git a/doc/technical/schema/scheduleSnapshot.pdf b/doc/technical/schema/scheduleSnapshot.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fc7f5b4e30991f103adcf46880bcfcc0e1b59149 GIT binary patch literal 38992 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 literal 0 HcmV?d00001 diff --git a/doc/technical/schema/unscheduleSnapshot.pdf b/doc/technical/schema/unscheduleSnapshot.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3a76984f44ef4f074653d786574e50c933bf4608 GIT binary patch literal 38855 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 literal 0 HcmV?d00001 diff --git a/doc/technical/test/snapshotModule-test.drawio b/doc/technical/test/snapshotModule-test.drawio new file mode 100644 index 0000000..6560d93 --- /dev/null +++ b/doc/technical/test/snapshotModule-test.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/doc/technical/test/snapshotModule-test.pdf b/doc/technical/test/snapshotModule-test.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9925e6d0947494c97a9159e5ee5955385c7192ff GIT binary patch literal 35783 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 literal 0 HcmV?d00001 diff --git a/hardhat.config.js b/hardhat.config.js index e238d79..907ea23 100644 --- a/hardhat.config.js +++ b/hardhat.config.js @@ -7,13 +7,13 @@ require("hardhat-contract-sizer"); require("@nomicfoundation/hardhat-chai-matchers") module.exports = { solidity: { - version: '0.8.28', + version: '0.8.30', settings: { optimizer: { enabled: true, runs: 200 }, - evmVersion: 'cancun' + evmVersion: 'prague' } }, contractSizer: { diff --git a/package-lock.json b/package-lock.json index 03cf14a..54dbc59 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,14 +1,14 @@ { "name": "CMTAT Factory", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "CMTAT Factory", "license": "MPL", "dependencies": { - "@openzeppelin/contracts": "5.3.0", - "@openzeppelin/contracts-upgradeable": "^5.3.0" + "@openzeppelin/contracts": "5.4.0", + "@openzeppelin/contracts-upgradeable": "^5.4.0" }, "devDependencies": { "@nomicfoundation/hardhat-chai-matchers": "^2.0.7", @@ -69,12 +69,12 @@ } }, "node_modules/@babel/cli": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.27.2.tgz", - "integrity": "sha512-cfd7DnGlhH6OIyuPSSj3vcfIdnbXukhAyKY8NaZrFadC7pXyL9mOL5WgjcptiEJLi5k3j8aYvLIVCzezrWTaiA==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.28.3.tgz", + "integrity": "sha512-n1RU5vuCX0CsaqaXm9I0KUCNKNQMy5epmzl/xdSSm70bSqhg9GWhgeosypyQLc0bK24+Xpk1WGzZlI9pJtkZdg==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", + "@jridgewell/trace-mapping": "^0.3.28", "commander": "^6.2.0", "convert-source-map": "^2.0.0", "fs-readdir-recursive": "^1.1.0", @@ -296,30 +296,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.27.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.5.tgz", - "integrity": "sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz", + "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.27.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz", - "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz", + "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.3", + "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.27.3", - "@babel/helpers": "^7.27.4", - "@babel/parser": "^7.27.4", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.3", + "@babel/parser": "^7.28.3", "@babel/template": "^7.27.2", - "@babel/traverse": "^7.27.4", - "@babel/types": "^7.27.3", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -344,15 +344,15 @@ } }, "node_modules/@babel/generator": { - "version": "7.27.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz", - "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", "dev": true, "dependencies": { - "@babel/parser": "^7.27.5", - "@babel/types": "^7.27.3", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" }, "engines": { @@ -397,17 +397,17 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", - "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz", + "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-member-expression-to-functions": "^7.27.1", "@babel/helper-optimise-call-expression": "^7.27.1", "@babel/helper-replace-supers": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/traverse": "^7.27.1", + "@babel/traverse": "^7.28.3", "semver": "^6.3.1" }, "engines": { @@ -453,21 +453,30 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz", - "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" + "resolve": "^1.22.10" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", @@ -495,14 +504,14 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", - "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.27.3" + "@babel/traverse": "^7.28.3" }, "engines": { "node": ">=6.9.0" @@ -607,39 +616,39 @@ } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz", - "integrity": "sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", + "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", "dev": true, "dependencies": { - "@babel/template": "^7.27.1", - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.27.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz", - "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz", + "integrity": "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==", "dev": true, "dependencies": { "@babel/template": "^7.27.2", - "@babel/types": "^7.27.6" + "@babel/types": "^7.28.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.27.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz", - "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz", + "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==", "dev": true, "dependencies": { - "@babel/types": "^7.27.3" + "@babel/types": "^7.28.2" }, "bin": { "parser": "bin/babel-parser.js" @@ -712,13 +721,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz", - "integrity": "sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", + "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" + "@babel/traverse": "^7.28.3" }, "engines": { "node": ">=6.9.0" @@ -801,14 +810,14 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz", - "integrity": "sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-remap-async-to-generator": "^7.27.1", - "@babel/traverse": "^7.27.1" + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -850,9 +859,9 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.27.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.5.tgz", - "integrity": "sha512-JF6uE2s67f0y2RZcm2kpAUEbD50vH62TyWVebxwHAlbSdM49VqPz8t4a1uIjp4NIOIZ4xzLfjY5emt/RCyC7TQ==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz", + "integrity": "sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" @@ -881,12 +890,12 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz", - "integrity": "sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", + "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.28.3", "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { @@ -897,17 +906,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz", - "integrity": "sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.3.tgz", + "integrity": "sha512-DoEWC5SuxuARF2KdKmGUq3ghfPMO6ZzR12Dnp5gubwbeWJo4dbNWXJPVlwvh4Zlq6Z7YVvL8VFxeSOJgjsx4Sg==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-replace-supers": "^7.27.1", - "@babel/traverse": "^7.27.1", - "globals": "^11.1.0" + "@babel/traverse": "^7.28.3" }, "engines": { "node": ">=6.9.0" @@ -916,15 +925,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", @@ -942,12 +942,13 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.3.tgz", - "integrity": "sha512-s4Jrok82JpiaIprtY2nHsYmrThKvvwgHwjgd7UMiYhZaN0asdXNLr0y+NjTfkA7SyQE5i2Fb7eawUOZmLvyqOA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", + "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -1018,6 +1019,22 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", @@ -1269,15 +1286,16 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.3.tgz", - "integrity": "sha512-7ZZtznF9g4l2JCImCo5LNKFHB5eXnN39lLtLY5Tg+VkR0jwOt7TBciMckuiQIOIW7L5tkQOCh3bVGYeXgMx52Q==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz", + "integrity": "sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.27.3", - "@babel/plugin-transform-parameters": "^7.27.1" + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -1334,9 +1352,9 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz", - "integrity": "sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==", + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" @@ -1397,9 +1415,9 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.27.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.5.tgz", - "integrity": "sha512-uhB8yHerfe3MWnuLAhEbeQ4afVoqv8BQsPqrTv7e/jZ9y00kJL6l9a/f4OWaKxotmjzewfEyXE1vgDJenkQ2/Q==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.3.tgz", + "integrity": "sha512-K3/M/a4+ESb5LEldjQb+XSrpY0nF+ZBFlTCbSnKaYAMfD8v33O6PMs4uYnOk19HlcsI8WMu3McdFPTiQHF/1/A==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" @@ -1582,12 +1600,12 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.2.tgz", - "integrity": "sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz", + "integrity": "sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.27.2", + "@babel/compat-data": "^7.28.0", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-validator-option": "^7.27.1", @@ -1595,25 +1613,26 @@ "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-import-assertions": "^7.27.1", "@babel/plugin-syntax-import-attributes": "^7.27.1", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.27.1", - "@babel/plugin-transform-async-generator-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.0", "@babel/plugin-transform-async-to-generator": "^7.27.1", "@babel/plugin-transform-block-scoped-functions": "^7.27.1", - "@babel/plugin-transform-block-scoping": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.0", "@babel/plugin-transform-class-properties": "^7.27.1", - "@babel/plugin-transform-class-static-block": "^7.27.1", - "@babel/plugin-transform-classes": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.28.3", + "@babel/plugin-transform-classes": "^7.28.3", "@babel/plugin-transform-computed-properties": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", "@babel/plugin-transform-dotall-regex": "^7.27.1", "@babel/plugin-transform-duplicate-keys": "^7.27.1", "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", "@babel/plugin-transform-exponentiation-operator": "^7.27.1", "@babel/plugin-transform-export-namespace-from": "^7.27.1", "@babel/plugin-transform-for-of": "^7.27.1", @@ -1630,15 +1649,15 @@ "@babel/plugin-transform-new-target": "^7.27.1", "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", "@babel/plugin-transform-numeric-separator": "^7.27.1", - "@babel/plugin-transform-object-rest-spread": "^7.27.2", + "@babel/plugin-transform-object-rest-spread": "^7.28.0", "@babel/plugin-transform-object-super": "^7.27.1", "@babel/plugin-transform-optional-catch-binding": "^7.27.1", "@babel/plugin-transform-optional-chaining": "^7.27.1", - "@babel/plugin-transform-parameters": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.7", "@babel/plugin-transform-private-methods": "^7.27.1", "@babel/plugin-transform-private-property-in-object": "^7.27.1", "@babel/plugin-transform-property-literals": "^7.27.1", - "@babel/plugin-transform-regenerator": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.3", "@babel/plugin-transform-regexp-modifiers": "^7.27.1", "@babel/plugin-transform-reserved-words": "^7.27.1", "@babel/plugin-transform-shorthand-properties": "^7.27.1", @@ -1651,10 +1670,10 @@ "@babel/plugin-transform-unicode-regex": "^7.27.1", "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.11.0", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.40.0", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", "semver": "^6.3.1" }, "engines": { @@ -1688,9 +1707,9 @@ } }, "node_modules/@babel/register": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.27.1.tgz", - "integrity": "sha512-K13lQpoV54LATKkzBpBAEu1GGSIRzxR9f4IN4V8DCDgiUMo2UDGagEZr3lPeVNJPLkWUi5JE4hCHKneVTwQlYQ==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.28.3.tgz", + "integrity": "sha512-CieDOtd8u208eI49bYl4z1J22ySFw87IGwE+IswFEExH7e3rLgKb0WNQeumnacQ1+VoDJLYI5QFA3AJZuyZQfA==", "dev": true, "dependencies": { "clone-deep": "^4.0.1", @@ -1707,9 +1726,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.27.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", - "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.3.tgz", + "integrity": "sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==", "dev": true, "engines": { "node": ">=6.9.0" @@ -1730,36 +1749,27 @@ } }, "node_modules/@babel/traverse": { - "version": "7.27.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz", - "integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz", + "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.3", - "@babel/parser": "^7.27.4", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.3", "@babel/template": "^7.27.2", - "@babel/types": "^7.27.3", - "debug": "^4.3.1", - "globals": "^11.1.0" + "@babel/types": "^7.28.2", + "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/types": { - "version": "7.27.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz", - "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==", + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.27.1", @@ -3063,17 +3073,13 @@ "dev": true }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { @@ -3085,25 +3091,16 @@ "node": ">=6.0.0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -3203,90 +3200,90 @@ } }, "node_modules/@nomicfoundation/edr": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.11.1.tgz", - "integrity": "sha512-P97XwcD9DdMMZm9aqw89+mzqzlKmqzSPM3feBES2WVRm5/LOiBYorhpeAX+ANj0X8532SKgxoZK/CN5OWv9vZA==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.11.3.tgz", + "integrity": "sha512-kqILRkAd455Sd6v8mfP3C1/0tCOynJWY+Ir+k/9Boocu2kObCrsFgG+ZWB7fSBVdd9cPVSNrnhWS+V+PEo637g==", "dev": true, "dependencies": { - "@nomicfoundation/edr-darwin-arm64": "0.11.1", - "@nomicfoundation/edr-darwin-x64": "0.11.1", - "@nomicfoundation/edr-linux-arm64-gnu": "0.11.1", - "@nomicfoundation/edr-linux-arm64-musl": "0.11.1", - "@nomicfoundation/edr-linux-x64-gnu": "0.11.1", - "@nomicfoundation/edr-linux-x64-musl": "0.11.1", - "@nomicfoundation/edr-win32-x64-msvc": "0.11.1" + "@nomicfoundation/edr-darwin-arm64": "0.11.3", + "@nomicfoundation/edr-darwin-x64": "0.11.3", + "@nomicfoundation/edr-linux-arm64-gnu": "0.11.3", + "@nomicfoundation/edr-linux-arm64-musl": "0.11.3", + "@nomicfoundation/edr-linux-x64-gnu": "0.11.3", + "@nomicfoundation/edr-linux-x64-musl": "0.11.3", + "@nomicfoundation/edr-win32-x64-msvc": "0.11.3" }, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-darwin-arm64": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.11.1.tgz", - "integrity": "sha512-vjca7gkl1o0yYqMjwxQpMEtdsb20nWHBnnxDO8ZBCTD5IwfYT5LiMxFaJo8NUJ7ODIRkF/zuEtAF3W7+ZlC5RA==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.11.3.tgz", + "integrity": "sha512-w0tksbdtSxz9nuzHKsfx4c2mwaD0+l5qKL2R290QdnN9gi9AV62p9DHkOgfBdyg6/a6ZlnQqnISi7C9avk/6VA==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-darwin-x64": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.11.1.tgz", - "integrity": "sha512-0aGStHq9XePXX9UqdU1w60HGO9AfYCgkNEir5sBpntU5E0TvZEK6jwyYr667+s90n2mihdeP97QSA0O/6PT6PA==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.11.3.tgz", + "integrity": "sha512-QR4jAFrPbOcrO7O2z2ESg+eUeIZPe2bPIlQYgiJ04ltbSGW27FblOzdd5+S3RoOD/dsZGKAvvy6dadBEl0NgoA==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-arm64-gnu": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.11.1.tgz", - "integrity": "sha512-OWhCETc03PVdtzatW/c2tpOPx+GxlBfBaLmMuGRD1soAr1nMOmg2WZAlo4i6Up9fkQYl+paiYMMFVat1meaMvQ==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.11.3.tgz", + "integrity": "sha512-Ktjv89RZZiUmOFPspuSBVJ61mBZQ2+HuLmV67InNlh9TSUec/iDjGIwAn59dx0bF/LOSrM7qg5od3KKac4LJDQ==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-arm64-musl": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.11.1.tgz", - "integrity": "sha512-p0qvtIvDA2eZ8pQ5XUKnWdW1IrwFzSrjyrO88oYx6Lkw8nYwf2JEeETo5o5W84DDfimfoBGP7RWPTPcTBKCaLQ==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.11.3.tgz", + "integrity": "sha512-B3sLJx1rL2E9pfdD4mApiwOZSrX0a/KQSBWdlq1uAhFKqkl00yZaY4LejgZndsJAa4iKGQJlGnw4HCGeVt0+jA==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-x64-gnu": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.11.1.tgz", - "integrity": "sha512-V4Us7Q0E8kng3O/czd5GRcxmZxWX+USgqz9yQ3o7DVq7FP96idaKvtcbMQp64tjHf2zNtX2y77sGzgbVau7Bww==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.11.3.tgz", + "integrity": "sha512-D/4cFKDXH6UYyKPu6J3Y8TzW11UzeQI0+wS9QcJzjlrrfKj0ENW7g9VihD1O2FvXkdkTjcCZYb6ai8MMTCsaVw==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-x64-musl": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.11.1.tgz", - "integrity": "sha512-lCSXsF10Kjjvs5duGbM6pi1WciWHXFNWkMgDAY4pg6ZRIy4gh+uGC6CONMfP4BDZwfrALo2p6+LwyotrJEqpyg==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.11.3.tgz", + "integrity": "sha512-ergXuIb4nIvmf+TqyiDX5tsE49311DrBky6+jNLgsGDTBaN1GS3OFwFS8I6Ri/GGn6xOaT8sKu3q7/m+WdlFzg==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-win32-x64-msvc": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.11.1.tgz", - "integrity": "sha512-sNSmmRTURAd1sdKuyO5tqrFiJvHHVPZLM4HB53F21makGoyInFGhejdo3qZrkoinM8k0ewEJDbUp0YuMEgMOhQ==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.11.3.tgz", + "integrity": "sha512-snvEf+WB3OV0wj2A7kQ+ZQqBquMcrozSLXcdnMdEl7Tmn+KDCbmFKBt3Tk0X3qOU4RKQpLPnTxdM07TJNVtung==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/hardhat-chai-matchers": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.9.tgz", - "integrity": "sha512-AbCoBuTKMlwlf1lesSmi/4VvJHNG9EP13EmkCJ+MJS1SBdtVtU4YrBbdYmnYPEvRFcAIMFB/cwcQGmuBYeCoVg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.1.0.tgz", + "integrity": "sha512-GPhBNafh1fCnVD9Y7BYvoLnblnvfcq3j8YDbO1gGe/1nOFWzGmV7gFu5DkwFXF+IpYsS+t96o9qc/mPu3V3Vfw==", "dev": true, "dependencies": { "@types/chai-as-promised": "^7.1.3", @@ -3295,16 +3292,16 @@ "ordinal": "^1.0.3" }, "peerDependencies": { - "@nomicfoundation/hardhat-ethers": "^3.0.9", + "@nomicfoundation/hardhat-ethers": "^3.1.0", "chai": "^4.2.0", "ethers": "^6.14.0", - "hardhat": "^2.9.4" + "hardhat": "^2.26.0" } }, "node_modules/@nomicfoundation/hardhat-ethers": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.9.tgz", - "integrity": "sha512-xBJdRUiCwKpr0OYrOzPwAyNGtsVzoBx32HFPJVv6S+sFA9TmBIBDaqNlFPmBH58ZjgNnGhEr/4oBZvGr4q4TjQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.1.0.tgz", + "integrity": "sha512-jx6fw3Ms7QBwFGT2MU6ICG292z0P81u6g54JjSV105+FbTZOF4FJqPksLfDybxkkOeq28eDxbqq7vpxRYyIlxA==", "dev": true, "peer": true, "dependencies": { @@ -3313,19 +3310,19 @@ }, "peerDependencies": { "ethers": "^6.14.0", - "hardhat": "^2.0.0" + "hardhat": "^2.26.0" } }, "node_modules/@nomicfoundation/hardhat-network-helpers": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.12.tgz", - "integrity": "sha512-xTNQNI/9xkHvjmCJnJOTyqDSl8uq1rKb2WOVmixQxFtRd7Oa3ecO8zM0cyC2YmOK+jHB9WPZ+F/ijkHg1CoORA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.1.0.tgz", + "integrity": "sha512-ZS+NulZuR99NUHt2VwcgZvgeD6Y63qrbORNRuKO+lTowJxNVsrJ0zbRx1j5De6G3dOno5pVGvuYSq2QVG0qCYg==", "dev": true, "dependencies": { "ethereumjs-util": "^7.1.4" }, "peerDependencies": { - "hardhat": "^2.9.5" + "hardhat": "^2.26.0" } }, "node_modules/@nomicfoundation/solidity-analyzer": { @@ -3427,16 +3424,16 @@ } }, "node_modules/@openzeppelin/contracts": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-5.3.0.tgz", - "integrity": "sha512-zj/KGoW7zxWUE8qOI++rUM18v+VeLTTzKs/DJFkSzHpQFPD/jKKF0TrMxBfGLl3kpdELCNccvB3zmofSzm4nlA==" + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-5.4.0.tgz", + "integrity": "sha512-eCYgWnLg6WO+X52I16TZt8uEjbtdkgLC0SUX/xnAksjjrQI4Xfn4iBRoI5j55dmlOhDv1Y7BoR3cU7e3WWhC6A==" }, "node_modules/@openzeppelin/contracts-upgradeable": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-5.3.0.tgz", - "integrity": "sha512-yVzSSyTMWO6rapGI5tuqkcLpcGGXA0UA1vScyV5EhE5yw8By3Ewex9rDUw8lfVw0iTkvR/egjfcW5vpk03lqZg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-5.4.0.tgz", + "integrity": "sha512-STJKyDzUcYuB35Zub1JpWW58JxvrFFVgQ+Ykdr8A9PGXgtq/obF5uoh07k2XmFyPxfnZdPdBdhkJ/n2YxJ87HQ==", "peerDependencies": { - "@openzeppelin/contracts": "5.3.0" + "@openzeppelin/contracts": "5.4.0" } }, "node_modules/@openzeppelin/test-helpers": { @@ -4046,9 +4043,9 @@ } }, "node_modules/@truffle/contract/node_modules/web3-core/node_modules/bignumber.js": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", - "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", + "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", "dev": true, "engines": { "node": "*" @@ -4350,9 +4347,9 @@ "dev": true }, "node_modules/@truffle/interface-adapter/node_modules/bignumber.js": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", - "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", + "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", "dev": true, "engines": { "node": "*" @@ -4884,17 +4881,15 @@ "@types/node": "*" } }, - "node_modules/@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", - "dev": true - }, "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-6.0.0.tgz", + "integrity": "sha512-zmPitbQ8+6zNutpwgcQuLcsEpn/Cj54Kbn7L5pX0Os5kdWplB7xPgEh/g+SWOB/qmows2gpuCaPyduq8ZZRnxA==", + "deprecated": "This is a stub types definition. minimatch provides its own type definitions, so you do not need this installed.", + "dev": true, + "dependencies": { + "minimatch": "*" + } }, "node_modules/@types/ms": { "version": "2.1.0", @@ -4903,12 +4898,12 @@ "dev": true }, "node_modules/@types/node": { - "version": "24.0.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.3.tgz", - "integrity": "sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==", + "version": "24.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.0.tgz", + "integrity": "sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==", "dev": true, "dependencies": { - "undici-types": "~7.8.0" + "undici-types": "~7.10.0" } }, "node_modules/@types/pbkdf2": { @@ -5511,13 +5506,13 @@ "dev": true }, "node_modules/axios": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz", - "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz", + "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", "dev": true, "dependencies": { "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", + "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, @@ -5535,13 +5530,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz", - "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==", + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.4", + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", "semver": "^6.3.1" }, "peerDependencies": { @@ -5558,25 +5553,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", - "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3", - "core-js-compat": "^3.40.0" + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz", - "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.4" + "@babel/helper-define-polyfill-provider": "^0.6.5" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -6021,9 +6016,9 @@ } }, "node_modules/browserslist": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz", - "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==", + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz", + "integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==", "dev": true, "funding": [ { @@ -6040,8 +6035,8 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001718", - "electron-to-chromium": "^1.5.160", + "caniuse-lite": "^1.0.30001735", + "electron-to-chromium": "^1.5.204", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, @@ -6313,9 +6308,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001723", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001723.tgz", - "integrity": "sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==", + "version": "1.0.30001737", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001737.tgz", + "integrity": "sha512-BiloLiXtQNrY5UyF0+1nSJLXUENuhka2pzy2Fx5pGxqavdrxSCW4U6Pn/PoG3Efspi2frRbHpBV2XsrPE6EDlw==", "dev": true, "funding": [ { @@ -6352,9 +6347,9 @@ } }, "node_modules/cbor/node_modules/bignumber.js": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", - "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", + "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", "dev": true, "engines": { "node": "*" @@ -6462,25 +6457,25 @@ } }, "node_modules/cheerio": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.0.tgz", - "integrity": "sha512-+0hMx9eYhJvWbgpKV9hN7jg0JcwydpopZE4hgi+KvQtByZXPp04NiCWU0LzcAbP63abZckIHkTQaXVF52mX3xQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz", + "integrity": "sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==", "dev": true, "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", - "encoding-sniffer": "^0.2.0", + "encoding-sniffer": "^0.2.1", "htmlparser2": "^10.0.0", "parse5": "^7.3.0", "parse5-htmlparser2-tree-adapter": "^7.1.0", "parse5-parser-stream": "^7.1.2", - "undici": "^7.10.0", + "undici": "^7.12.0", "whatwg-mimetype": "^4.0.0" }, "engines": { - "node": ">=18.17" + "node": ">=20.18.1" }, "funding": { "url": "https://github.com/cheeriojs/cheerio?sponsor=1" @@ -7182,12 +7177,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.43.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.43.0.tgz", - "integrity": "sha512-2GML2ZsCc5LR7hZYz4AXmjQw8zuy2T//2QntwdnpuYI7jteT6GVYJL7F6C2C57R7gSYrcqVW3lAALefdbhBLDA==", + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.1.tgz", + "integrity": "sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==", "dev": true, "dependencies": { - "browserslist": "^4.25.0" + "browserslist": "^4.25.3" }, "funding": { "type": "opencollective", @@ -7319,9 +7314,9 @@ } }, "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", "dev": true, "dependencies": { "boolbase": "^1.0.0", @@ -7335,9 +7330,9 @@ } }, "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", "dev": true, "engines": { "node": ">= 6" @@ -7771,9 +7766,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.5.169", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.169.tgz", - "integrity": "sha512-q7SQx6mkLy0GTJK9K9OiWeaBMV4XQtBSdf6MJUzDB/H/5tFXfIiX38Lci1Kl6SsgiEhz1SQI1ejEOU5asWEhwQ==", + "version": "1.5.208", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.208.tgz", + "integrity": "sha512-ozZyibehoe7tOhNaf16lKmljVf+3npZcJIEbJRVftVsmAg5TeA1mGS9dVCZzOwr2xT7xK15V0p7+GZqSPgkuPg==", "dev": true }, "node_modules/elliptic": { @@ -8332,9 +8327,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", - "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", "dev": true, "dependencies": { "debug": "^3.2.7" @@ -8401,29 +8396,29 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", - "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "dependencies": { "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.0", + "eslint-module-utils": "^2.12.1", "hasown": "^2.0.2", - "is-core-module": "^2.15.1", + "is-core-module": "^2.16.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "object.groupby": "^1.0.3", - "object.values": "^1.2.0", + "object.values": "^1.2.1", "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.8", + "string.prototype.trimend": "^1.0.9", "tsconfig-paths": "^3.15.0" }, "engines": { @@ -9135,9 +9130,9 @@ } }, "node_modules/ethers": { - "version": "6.14.4", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.14.4.tgz", - "integrity": "sha512-Jm/dzRs2Z9iBrT6e9TvGxyb5YVKAPLlpna7hjxH7KH/++DSh2T/JVmQUv7iHI5E55hDbp/gEVvstWYXVxXFzsA==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.15.0.tgz", + "integrity": "sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==", "dev": true, "funding": [ { @@ -9739,10 +9734,13 @@ } }, "node_modules/fdir": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, + "engines": { + "node": ">=12.0.0" + }, "peerDependencies": { "picomatch": "^3 || ^4" }, @@ -9953,9 +9951,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", "dev": true, "funding": [ { @@ -10018,9 +10016,9 @@ } }, "node_modules/form-data": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz", - "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", "dev": true, "dependencies": { "asynckit": "^0.4.0", @@ -10733,18 +10731,16 @@ } }, "node_modules/hardhat": { - "version": "2.24.3", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.24.3.tgz", - "integrity": "sha512-2dhniQ1wW8/Wh3mP91kKcEnVva93mWYRaYLkV+a0ATkUEKrByGF2P5hCrlNHbqYP//D7L0CGYLtDjPQY6ILaVA==", + "version": "2.26.3", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.26.3.tgz", + "integrity": "sha512-gBfjbxCCEaRgMCRgTpjo1CEoJwqNPhyGMMVHYZJxoQ3LLftp2erSVf8ZF6hTQC0r2wst4NcqNmLWqMnHg1quTw==", "dev": true, "dependencies": { "@ethereumjs/util": "^9.1.0", "@ethersproject/abi": "^5.1.2", - "@nomicfoundation/edr": "^0.11.1", + "@nomicfoundation/edr": "^0.11.3", "@nomicfoundation/solidity-analyzer": "^0.1.0", "@sentry/node": "^5.18.1", - "@types/bn.js": "^5.1.0", - "@types/lru-cache": "^5.1.0", "adm-zip": "^0.4.16", "aggregate-error": "^3.0.0", "ansi-escapes": "^4.3.0", @@ -10797,9 +10793,9 @@ } }, "node_modules/hardhat-contract-sizer": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/hardhat-contract-sizer/-/hardhat-contract-sizer-2.10.0.tgz", - "integrity": "sha512-QiinUgBD5MqJZJh1hl1jc9dNnpJg7eE/w4/4GEnrcmZJJTDbVFNe3+/3Ep24XqISSkYxRz36czcPHKHd/a0dwA==", + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/hardhat-contract-sizer/-/hardhat-contract-sizer-2.10.1.tgz", + "integrity": "sha512-/PPQQbUMgW6ERzk8M0/DA8/v2TEM9xRRAnF9qKPNMYF6FX5DFWcnxBsQvtp8uBz+vy7rmLyV9Elti2wmmhgkbg==", "dev": true, "dependencies": { "chalk": "^4.0.0", @@ -13677,9 +13673,9 @@ } }, "node_modules/nan": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", - "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.23.0.tgz", + "integrity": "sha512-1UxuyYGdoQHcGg87Lkqm3FzefucTa0NAiOcuRsDmysep3c1LVCRK2krrUDafMWtjSG04htvAmvg96+SDknOmgQ==", "dev": true, "optional": true }, @@ -13890,9 +13886,9 @@ } }, "node_modules/npm": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.2.tgz", - "integrity": "sha512-iriPEPIkoMYUy3F6f3wwSZAU93E0Eg6cHwIR6jzzOXWSy+SD/rOODEs74cVONHKSx2obXtuUoyidVEhISrisgQ==", + "version": "10.9.3", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.3.tgz", + "integrity": "sha512-6Eh1u5Q+kIVXeA8e7l2c/HpnFFcwrkt37xDMujD5be1gloWa9p6j3Fsv3mByXXmqJHy+2cElRMML8opNT7xIJQ==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -13966,37 +13962,37 @@ "dev": true, "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^8.0.0", + "@npmcli/arborist": "^8.0.1", "@npmcli/config": "^9.0.0", "@npmcli/fs": "^4.0.0", "@npmcli/map-workspaces": "^4.0.2", - "@npmcli/package-json": "^6.1.0", + "@npmcli/package-json": "^6.2.0", "@npmcli/promise-spawn": "^8.0.2", - "@npmcli/redact": "^3.0.0", - "@npmcli/run-script": "^9.0.1", - "@sigstore/tuf": "^3.0.0", - "abbrev": "^3.0.0", + "@npmcli/redact": "^3.2.2", + "@npmcli/run-script": "^9.1.0", + "@sigstore/tuf": "^3.1.1", + "abbrev": "^3.0.1", "archy": "~1.0.0", "cacache": "^19.0.1", - "chalk": "^5.3.0", - "ci-info": "^4.1.0", + "chalk": "^5.4.1", + "ci-info": "^4.2.0", "cli-columns": "^4.0.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.3", "glob": "^10.4.5", "graceful-fs": "^4.2.11", - "hosted-git-info": "^8.0.2", + "hosted-git-info": "^8.1.0", "ini": "^5.0.0", "init-package-json": "^7.0.2", - "is-cidr": "^5.1.0", + "is-cidr": "^5.1.1", "json-parse-even-better-errors": "^4.0.0", "libnpmaccess": "^9.0.0", - "libnpmdiff": "^7.0.0", - "libnpmexec": "^9.0.0", - "libnpmfund": "^6.0.0", + "libnpmdiff": "^7.0.1", + "libnpmexec": "^9.0.1", + "libnpmfund": "^6.0.1", "libnpmhook": "^11.0.0", "libnpmorg": "^7.0.0", - "libnpmpack": "^8.0.0", + "libnpmpack": "^8.0.1", "libnpmpublish": "^10.0.1", "libnpmsearch": "^8.0.0", "libnpmteam": "^7.0.0", @@ -14006,23 +14002,23 @@ "minipass": "^7.1.1", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", - "node-gyp": "^11.0.0", - "nopt": "^8.0.0", + "node-gyp": "^11.2.0", + "nopt": "^8.1.0", "normalize-package-data": "^7.0.0", "npm-audit-report": "^6.0.0", "npm-install-checks": "^7.1.1", - "npm-package-arg": "^12.0.0", + "npm-package-arg": "^12.0.2", "npm-pick-manifest": "^10.0.0", "npm-profile": "^11.0.1", "npm-registry-fetch": "^18.0.2", "npm-user-validate": "^3.0.0", - "p-map": "^4.0.0", + "p-map": "^7.0.3", "pacote": "^19.0.1", "parse-conflict-json": "^4.0.0", "proc-log": "^5.0.0", "qrcode-terminal": "^0.12.0", - "read": "^4.0.0", - "semver": "^7.6.3", + "read": "^4.1.0", + "semver": "^7.7.2", "spdx-expression-parse": "^4.0.0", "ssri": "^12.0.0", "supports-color": "^9.4.0", @@ -14030,7 +14026,7 @@ "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^3.0.0", - "validate-npm-package-name": "^6.0.0", + "validate-npm-package-name": "^6.0.1", "which": "^5.0.0", "write-file-atomic": "^6.0.0" }, @@ -14165,7 +14161,7 @@ } }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "8.0.0", + "version": "8.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -14245,7 +14241,7 @@ } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "6.0.1", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -14255,7 +14251,6 @@ "lru-cache": "^10.0.1", "npm-pick-manifest": "^10.0.0", "proc-log": "^5.0.0", - "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", "which": "^5.0.0" @@ -14361,7 +14356,7 @@ } }, "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "6.1.0", + "version": "6.2.0", "dev": true, "inBundle": true, "license": "ISC", @@ -14370,9 +14365,9 @@ "glob": "^10.2.2", "hosted-git-info": "^8.0.0", "json-parse-even-better-errors": "^4.0.0", - "normalize-package-data": "^7.0.0", "proc-log": "^5.0.0", - "semver": "^7.5.3" + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" }, "engines": { "node": "^18.17.0 || >=20.5.0" @@ -14391,19 +14386,19 @@ } }, "node_modules/npm/node_modules/@npmcli/query": { - "version": "4.0.0", + "version": "4.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "postcss-selector-parser": "^6.1.2" + "postcss-selector-parser": "^7.0.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/redact": { - "version": "3.0.0", + "version": "3.2.2", "dev": true, "inBundle": true, "license": "ISC", @@ -14412,7 +14407,7 @@ } }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "9.0.2", + "version": "9.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -14439,21 +14434,21 @@ } }, "node_modules/npm/node_modules/@sigstore/protobuf-specs": { - "version": "0.3.2", + "version": "0.4.3", "dev": true, "inBundle": true, "license": "Apache-2.0", "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@sigstore/tuf": { - "version": "3.0.0", + "version": "3.1.1", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2", + "@sigstore/protobuf-specs": "^0.4.1", "tuf-js": "^3.0.1" }, "engines": { @@ -14470,7 +14465,7 @@ } }, "node_modules/npm/node_modules/abbrev": { - "version": "3.0.0", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -14479,30 +14474,14 @@ } }, "node_modules/npm/node_modules/agent-base": { - "version": "7.1.1", + "version": "7.1.3", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, "engines": { "node": ">= 14" } }, - "node_modules/npm/node_modules/aggregate-error": { - "version": "3.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/npm/node_modules/ansi-regex": { "version": "5.0.1", "dev": true, @@ -14571,7 +14550,7 @@ } }, "node_modules/npm/node_modules/brace-expansion": { - "version": "2.0.1", + "version": "2.0.2", "dev": true, "inBundle": true, "license": "MIT", @@ -14611,19 +14590,6 @@ "node": ">=18" } }, - "node_modules/npm/node_modules/cacache/node_modules/minizlib": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/npm/node_modules/cacache/node_modules/mkdirp": { "version": "3.0.1", "dev": true, @@ -14639,18 +14605,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/cacache/node_modules/p-map": { - "version": "7.0.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/npm/node_modules/cacache/node_modules/tar": { "version": "7.4.3", "dev": true, @@ -14678,7 +14632,7 @@ } }, "node_modules/npm/node_modules/chalk": { - "version": "5.3.0", + "version": "5.4.1", "dev": true, "inBundle": true, "license": "MIT", @@ -14699,7 +14653,7 @@ } }, "node_modules/npm/node_modules/ci-info": { - "version": "4.1.0", + "version": "4.2.0", "dev": true, "funding": [ { @@ -14714,7 +14668,7 @@ } }, "node_modules/npm/node_modules/cidr-regex": { - "version": "4.1.1", + "version": "4.1.3", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -14725,15 +14679,6 @@ "node": ">=14" } }, - "node_modules/npm/node_modules/clean-stack": { - "version": "2.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/npm/node_modules/cli-columns": { "version": "4.0.0", "dev": true, @@ -14822,7 +14767,7 @@ } }, "node_modules/npm/node_modules/debug": { - "version": "4.3.7", + "version": "4.4.1", "dev": true, "inBundle": true, "license": "MIT", @@ -14885,7 +14830,7 @@ "license": "MIT" }, "node_modules/npm/node_modules/exponential-backoff": { - "version": "3.1.1", + "version": "3.1.2", "dev": true, "inBundle": true, "license": "Apache-2.0" @@ -14900,12 +14845,12 @@ } }, "node_modules/npm/node_modules/foreground-child": { - "version": "3.3.0", + "version": "3.3.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.0", + "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" }, "engines": { @@ -14954,7 +14899,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { - "version": "8.0.2", + "version": "8.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -14966,7 +14911,7 @@ } }, "node_modules/npm/node_modules/http-cache-semantics": { - "version": "4.1.1", + "version": "4.2.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause" @@ -14985,12 +14930,12 @@ } }, "node_modules/npm/node_modules/https-proxy-agent": { - "version": "7.0.5", + "version": "7.0.6", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "4" }, "engines": { @@ -15031,15 +14976,6 @@ "node": ">=0.8.19" } }, - "node_modules/npm/node_modules/indent-string": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/npm/node_modules/ini": { "version": "5.0.0", "dev": true, @@ -15093,7 +15029,7 @@ } }, "node_modules/npm/node_modules/is-cidr": { - "version": "5.1.0", + "version": "5.1.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -15193,12 +15129,12 @@ } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "7.0.0", + "version": "7.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^8.0.0", + "@npmcli/arborist": "^8.0.1", "@npmcli/installed-package-contents": "^3.0.0", "binary-extensions": "^2.3.0", "diff": "^5.1.0", @@ -15212,12 +15148,12 @@ } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "9.0.0", + "version": "9.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^8.0.0", + "@npmcli/arborist": "^8.0.1", "@npmcli/run-script": "^9.0.1", "ci-info": "^4.0.0", "npm-package-arg": "^12.0.0", @@ -15233,12 +15169,12 @@ } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "6.0.0", + "version": "6.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^8.0.0" + "@npmcli/arborist": "^8.0.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" @@ -15271,12 +15207,12 @@ } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "8.0.0", + "version": "8.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^8.0.0", + "@npmcli/arborist": "^8.0.1", "@npmcli/run-script": "^9.0.1", "npm-package-arg": "^12.0.0", "pacote": "^19.0.0" @@ -15419,7 +15355,7 @@ } }, "node_modules/npm/node_modules/minipass-fetch": { - "version": "4.0.0", + "version": "4.0.1", "dev": true, "inBundle": true, "license": "MIT", @@ -15435,19 +15371,6 @@ "encoding": "^0.1.13" } }, - "node_modules/npm/node_modules/minipass-fetch/node_modules/minizlib": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/npm/node_modules/minipass-flush": { "version": "1.0.5", "dev": true, @@ -15521,28 +15444,15 @@ } }, "node_modules/npm/node_modules/minizlib": { - "version": "2.1.2", + "version": "3.0.2", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/npm/node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" + "minipass": "^7.1.2" }, "engines": { - "node": ">=8" + "node": ">= 18" } }, "node_modules/npm/node_modules/mkdirp": { @@ -15573,20 +15483,20 @@ } }, "node_modules/npm/node_modules/node-gyp": { - "version": "11.0.0", + "version": "11.2.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", - "glob": "^10.3.10", "graceful-fs": "^4.2.6", "make-fetch-happen": "^14.0.3", "nopt": "^8.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5", "tar": "^7.4.3", + "tinyglobby": "^0.2.12", "which": "^5.0.0" }, "bin": { @@ -15605,26 +15515,13 @@ "node": ">=18" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/minizlib": { + "node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { "version": "3.0.1", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" + "bin": { + "mkdirp": "dist/cjs/src/bin.js" }, "engines": { "node": ">=10" @@ -15660,12 +15557,12 @@ } }, "node_modules/npm/node_modules/nopt": { - "version": "8.0.0", + "version": "8.1.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "abbrev": "^2.0.0" + "abbrev": "^3.0.0" }, "bin": { "nopt": "bin/nopt.js" @@ -15674,15 +15571,6 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/nopt/node_modules/abbrev": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/normalize-package-data": { "version": "7.0.0", "dev": true, @@ -15740,7 +15628,7 @@ } }, "node_modules/npm/node_modules/npm-package-arg": { - "version": "12.0.0", + "version": "12.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -15813,19 +15701,6 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/npm-registry-fetch/node_modules/minizlib": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/npm/node_modules/npm-user-validate": { "version": "3.0.0", "dev": true, @@ -15836,15 +15711,12 @@ } }, "node_modules/npm/node_modules/p-map": { - "version": "4.0.0", + "version": "7.0.3", "dev": true, "inBundle": true, "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -15927,7 +15799,7 @@ } }, "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "6.1.2", + "version": "7.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -15975,12 +15847,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/promise-inflight": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/promise-retry": { "version": "2.0.1", "dev": true, @@ -16015,7 +15881,7 @@ } }, "node_modules/npm/node_modules/read": { - "version": "4.0.0", + "version": "4.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -16057,21 +15923,6 @@ "node": ">= 4" } }, - "node_modules/npm/node_modules/rimraf": { - "version": "5.0.10", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "glob": "^10.3.7" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/npm/node_modules/safer-buffer": { "version": "2.1.2", "dev": true, @@ -16080,7 +15931,7 @@ "optional": true }, "node_modules/npm/node_modules/semver": { - "version": "7.6.3", + "version": "7.7.2", "dev": true, "inBundle": true, "license": "ISC", @@ -16125,29 +15976,29 @@ } }, "node_modules/npm/node_modules/sigstore": { - "version": "3.0.0", + "version": "3.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^3.0.0", + "@sigstore/bundle": "^3.1.0", "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "@sigstore/sign": "^3.0.0", - "@sigstore/tuf": "^3.0.0", - "@sigstore/verify": "^2.0.0" + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/bundle": { - "version": "3.0.0", + "version": "3.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2" + "@sigstore/protobuf-specs": "^0.4.0" }, "engines": { "node": "^18.17.0 || >=20.5.0" @@ -16163,15 +16014,15 @@ } }, "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/sign": { - "version": "3.0.0", + "version": "3.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^3.0.0", + "@sigstore/bundle": "^3.1.0", "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "make-fetch-happen": "^14.0.1", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", "proc-log": "^5.0.0", "promise-retry": "^2.0.1" }, @@ -16180,14 +16031,14 @@ } }, "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/verify": { - "version": "2.0.0", + "version": "2.1.1", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^3.0.0", + "@sigstore/bundle": "^3.1.0", "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.3.2" + "@sigstore/protobuf-specs": "^0.4.1" }, "engines": { "node": "^18.17.0 || >=20.5.0" @@ -16204,7 +16055,7 @@ } }, "node_modules/npm/node_modules/socks": { - "version": "2.8.3", + "version": "2.8.5", "dev": true, "inBundle": true, "license": "MIT", @@ -16218,12 +16069,12 @@ } }, "node_modules/npm/node_modules/socks-proxy-agent": { - "version": "8.0.4", + "version": "8.0.5", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.1", + "agent-base": "^7.1.2", "debug": "^4.3.4", "socks": "^2.8.3" }, @@ -16268,7 +16119,7 @@ } }, "node_modules/npm/node_modules/spdx-license-ids": { - "version": "3.0.20", + "version": "3.0.21", "dev": true, "inBundle": true, "license": "CC0-1.0" @@ -16407,6 +16258,31 @@ "node": ">=8" } }, + "node_modules/npm/node_modules/tar/node_modules/minizlib": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/npm/node_modules/text-table": { "version": "0.2.0", "dev": true, @@ -16419,6 +16295,48 @@ "inBundle": true, "license": "MIT" }, + "node_modules/npm/node_modules/tinyglobby": { + "version": "0.2.14", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/npm/node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/npm/node_modules/treeverse": { "version": "3.0.0", "dev": true, @@ -16506,7 +16424,7 @@ } }, "node_modules/npm/node_modules/validate-npm-package-name": { - "version": "6.0.0", + "version": "6.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -17298,21 +17216,53 @@ } }, "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.3.tgz", + "integrity": "sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA==", "dev": true, "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "create-hash": "~1.1.3", + "create-hmac": "^1.1.7", + "ripemd160": "=2.0.1", + "safe-buffer": "^5.2.1", + "sha.js": "^2.4.11", + "to-buffer": "^1.2.0" }, "engines": { "node": ">=0.12" } }, + "node_modules/pbkdf2/node_modules/create-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "sha.js": "^2.4.0" + } + }, + "node_modules/pbkdf2/node_modules/hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1" + } + }, + "node_modules/pbkdf2/node_modules/ripemd160": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w==", + "dev": true, + "dependencies": { + "hash-base": "^2.0.0", + "inherits": "^2.0.1" + } + }, "node_modules/pegjs": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz", @@ -17344,9 +17294,9 @@ "dev": true }, "node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "engines": { "node": ">=12" @@ -17464,25 +17414,25 @@ } }, "node_modules/prettier-plugin-solidity": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.4.1.tgz", - "integrity": "sha512-Mq8EtfacVZ/0+uDKTtHZGW3Aa7vEbX/BNx63hmVg6YTiTXSiuKP0amj0G6pGwjmLaOfymWh3QgXEZkjQbU8QRg==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.4.3.tgz", + "integrity": "sha512-Mrr/iiR9f9IaeGRMZY2ApumXcn/C5Gs3S7B7hWB3gigBFML06C0yEyW86oLp0eqiA0qg+46FaChgLPJCj/pIlg==", "dev": true, "dependencies": { - "@solidity-parser/parser": "^0.18.0", - "semver": "^7.5.4" + "@solidity-parser/parser": "^0.20.1", + "semver": "^7.7.1" }, "engines": { - "node": ">=16" + "node": ">=18" }, "peerDependencies": { "prettier": ">=2.3.0" } }, "node_modules/prettier-plugin-solidity/node_modules/@solidity-parser/parser": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.18.0.tgz", - "integrity": "sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.20.2.tgz", + "integrity": "sha512-rbu0bzwNvMcwAjH86hiEAcOeRI2EeK8zCkHDrFykh/Al8mvJeFmjy3UrE7GYQjNwOgbGUUtCn5/k8CB8zIu7QA==", "dev": true }, "node_modules/prettier-plugin-solidity/node_modules/semver": { @@ -17599,7 +17549,7 @@ "version": "13.7.0", "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-13.7.0.tgz", "integrity": "sha512-U1uufzBjz3+PkpCxFrWzh4OrMIdIb2ztzCu0YEPfRHjHswcSwHZswnK+WdsOQJsRV8WeTg3jLhJR4D867+fjsA==", - "deprecated": "< 22.8.2 is no longer supported", + "deprecated": "< 24.9.0 is no longer supported", "dev": true, "hasInstallScript": true, "dependencies": { @@ -19142,16 +19092,23 @@ "dev": true }, "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", + "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.0" }, "bin": { "sha.js": "bin.js" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/sha1": { @@ -19642,9 +19599,9 @@ } }, "node_modules/sol2uml/node_modules/@solidity-parser/parser": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.20.1.tgz", - "integrity": "sha512-58I2sRpzaQUN+jJmWbHfbWf9AKfzqCI8JAdFB0vbyY+u8tBRcuTt9LxzasvR0LGQpcRv97eyV7l61FQ3Ib7zVw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.20.2.tgz", + "integrity": "sha512-rbu0bzwNvMcwAjH86hiEAcOeRI2EeK8zCkHDrFykh/Al8mvJeFmjy3UrE7GYQjNwOgbGUUtCn5/k8CB8zIu7QA==", "dev": true }, "node_modules/sol2uml/node_modules/commander": { @@ -19835,9 +19792,9 @@ } }, "node_modules/solidity-coverage/node_modules/@solidity-parser/parser": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.20.1.tgz", - "integrity": "sha512-58I2sRpzaQUN+jJmWbHfbWf9AKfzqCI8JAdFB0vbyY+u8tBRcuTt9LxzasvR0LGQpcRv97eyV7l61FQ3Ib7zVw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.20.2.tgz", + "integrity": "sha512-rbu0bzwNvMcwAjH86hiEAcOeRI2EeK8zCkHDrFykh/Al8mvJeFmjy3UrE7GYQjNwOgbGUUtCn5/k8CB8zIu7QA==", "dev": true }, "node_modules/solidity-coverage/node_modules/semver": { @@ -20461,9 +20418,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.21", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", - "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", "dev": true }, "node_modules/split-string": { @@ -20766,9 +20723,9 @@ } }, "node_modules/surya": { - "version": "0.4.12", - "resolved": "https://registry.npmjs.org/surya/-/surya-0.4.12.tgz", - "integrity": "sha512-DChWScPkYSeJ7nBOKnfFsQoYrFWgSdA3rgCGSjoWxe4QgCOZ5TPz27d9QpsX3fY94SfDeTmAs7x6iv2AXl+7Hg==", + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/surya/-/surya-0.4.13.tgz", + "integrity": "sha512-ff2YmkYu9+u9A1tUv6cEuQDhLw1N+++iI+ZenXyhYR7YmaiQ19h32p2VchBn6zy3JPcfpvBZjf/aEmLbSMW1WA==", "dev": true, "dependencies": { "@solidity-parser/parser": "^0.16.1", @@ -21114,14 +21071,15 @@ "dev": true }, "node_modules/then-request/node_modules/form-data": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.3.tgz", - "integrity": "sha512-XHIrMD0NpDrNM/Ckf7XJiBbLl57KEhT3+i3yY+eWm+cqYZJQTZrKo8Y8AWKnuV5GT4scfuUGt9LzNoIx3dU1nQ==", + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz", + "integrity": "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==", "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", "mime-types": "^2.1.35", "safe-buffer": "^5.2.1" }, @@ -21184,14 +21142,34 @@ } }, "node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", "dev": true, "engines": { "node": ">=14.14" } }, + "node_modules/to-buffer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz", + "integrity": "sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==", + "dev": true, + "dependencies": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/to-buffer/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, "node_modules/to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -21530,18 +21508,18 @@ } }, "node_modules/undici": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.10.0.tgz", - "integrity": "sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.15.0.tgz", + "integrity": "sha512-7oZJCPvvMvTd0OlqWsIxTuItTpJBpU1tcbVl24FMn3xt3+VSunwUasmfPJRE57oNO1KsZ4PgA1xTdAX4hq8NyQ==", "dev": true, "engines": { "node": ">=20.18.1" } }, "node_modules/undici-types": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", - "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", + "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", "dev": true }, "node_modules/unicode-canonical-property-names-ecmascript": { @@ -22112,9 +22090,9 @@ "dev": true }, "node_modules/web3-core/node_modules/bignumber.js": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", - "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", + "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", "dev": true, "engines": { "node": "*" @@ -23569,17739 +23547,5 @@ "url": "https://github.com/sponsors/sindresorhus" } } - }, - "dependencies": { - "@adraffy/ens-normalize": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", - "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", - "dev": true, - "peer": true - }, - "@aduh95/viz.js": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@aduh95/viz.js/-/viz.js-3.7.0.tgz", - "integrity": "sha512-20Pk2Z98fbPLkECcrZSJszKos/OgtvJJR3NcbVfgCJ6EQjDNzW2P1BKqImOz3tJ952dvO2DWEhcLhQ1Wz1e9ng==", - "dev": true - }, - "@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "@babel/cli": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.27.2.tgz", - "integrity": "sha512-cfd7DnGlhH6OIyuPSSj3vcfIdnbXukhAyKY8NaZrFadC7pXyL9mOL5WgjcptiEJLi5k3j8aYvLIVCzezrWTaiA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.25", - "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", - "chokidar": "^3.6.0", - "commander": "^6.2.0", - "convert-source-map": "^2.0.0", - "fs-readdir-recursive": "^1.1.0", - "glob": "^7.2.0", - "make-dir": "^2.1.0", - "slash": "^2.0.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "optional": true - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "optional": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "optional": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "optional": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "optional": true - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - } - } - }, - "@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - } - }, - "@babel/compat-data": { - "version": "7.27.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.5.tgz", - "integrity": "sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==", - "dev": true - }, - "@babel/core": { - "version": "7.27.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz", - "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.3", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.27.3", - "@babel/helpers": "^7.27.4", - "@babel/parser": "^7.27.4", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.27.4", - "@babel/types": "^7.27.3", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.27.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz", - "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==", - "dev": true, - "requires": { - "@babel/parser": "^7.27.5", - "@babel/types": "^7.27.3", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", - "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", - "dev": true, - "requires": { - "@babel/types": "^7.27.3" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.27.2", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", - "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-member-expression-to-functions": "^7.27.1", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/traverse": "^7.27.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", - "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "regexpu-core": "^6.2.0", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz", - "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", - "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", - "dev": true, - "requires": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - } - }, - "@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", - "dev": true, - "requires": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - } - }, - "@babel/helper-module-transforms": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", - "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.27.3" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", - "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", - "dev": true, - "requires": { - "@babel/types": "^7.27.1" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", - "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-wrap-function": "^7.27.1", - "@babel/traverse": "^7.27.1" - } - }, - "@babel/helper-replace-supers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", - "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.27.1", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/traverse": "^7.27.1" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", - "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", - "dev": true, - "requires": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - } - }, - "@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz", - "integrity": "sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==", - "dev": true, - "requires": { - "@babel/template": "^7.27.1", - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - } - }, - "@babel/helpers": { - "version": "7.27.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz", - "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==", - "dev": true, - "requires": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.27.6" - } - }, - "@babel/parser": { - "version": "7.27.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz", - "integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==", - "dev": true, - "requires": { - "@babel/types": "^7.27.3" - } - }, - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", - "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" - } - }, - "@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", - "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", - "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", - "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/plugin-transform-optional-chaining": "^7.27.1" - } - }, - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz", - "integrity": "sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "requires": {} - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", - "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", - "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", - "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz", - "integrity": "sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-remap-async-to-generator": "^7.27.1", - "@babel/traverse": "^7.27.1" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", - "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-remap-async-to-generator": "^7.27.1" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", - "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.27.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.5.tgz", - "integrity": "sha512-JF6uE2s67f0y2RZcm2kpAUEbD50vH62TyWVebxwHAlbSdM49VqPz8t4a1uIjp4NIOIZ4xzLfjY5emt/RCyC7TQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-class-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", - "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-class-static-block": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz", - "integrity": "sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz", - "integrity": "sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-compilation-targets": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1", - "@babel/traverse": "^7.27.1", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", - "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/template": "^7.27.1" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.3.tgz", - "integrity": "sha512-s4Jrok82JpiaIprtY2nHsYmrThKvvwgHwjgd7UMiYhZaN0asdXNLr0y+NjTfkA7SyQE5i2Fb7eawUOZmLvyqOA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", - "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", - "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", - "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", - "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", - "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", - "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", - "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", - "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" - } - }, - "@babel/plugin-transform-json-strings": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", - "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", - "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", - "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", - "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", - "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", - "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", - "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.27.1" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", - "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", - "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", - "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", - "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-numeric-separator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", - "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.3.tgz", - "integrity": "sha512-7ZZtznF9g4l2JCImCo5LNKFHB5eXnN39lLtLY5Tg+VkR0jwOt7TBciMckuiQIOIW7L5tkQOCh3bVGYeXgMx52Q==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.27.3", - "@babel/plugin-transform-parameters": "^7.27.1" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", - "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1" - } - }, - "@babel/plugin-transform-optional-catch-binding": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", - "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-optional-chaining": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", - "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz", - "integrity": "sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-private-methods": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", - "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-private-property-in-object": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", - "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", - "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.27.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.5.tgz", - "integrity": "sha512-uhB8yHerfe3MWnuLAhEbeQ4afVoqv8BQsPqrTv7e/jZ9y00kJL6l9a/f4OWaKxotmjzewfEyXE1vgDJenkQ2/Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-regexp-modifiers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", - "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", - "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", - "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", - "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", - "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", - "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", - "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", - "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-unicode-property-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", - "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", - "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", - "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/preset-env": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.2.tgz", - "integrity": "sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.27.2", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-validator-option": "^7.27.1", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.27.1", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.27.1", - "@babel/plugin-syntax-import-attributes": "^7.27.1", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.27.1", - "@babel/plugin-transform-async-generator-functions": "^7.27.1", - "@babel/plugin-transform-async-to-generator": "^7.27.1", - "@babel/plugin-transform-block-scoped-functions": "^7.27.1", - "@babel/plugin-transform-block-scoping": "^7.27.1", - "@babel/plugin-transform-class-properties": "^7.27.1", - "@babel/plugin-transform-class-static-block": "^7.27.1", - "@babel/plugin-transform-classes": "^7.27.1", - "@babel/plugin-transform-computed-properties": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.27.1", - "@babel/plugin-transform-dotall-regex": "^7.27.1", - "@babel/plugin-transform-duplicate-keys": "^7.27.1", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", - "@babel/plugin-transform-dynamic-import": "^7.27.1", - "@babel/plugin-transform-exponentiation-operator": "^7.27.1", - "@babel/plugin-transform-export-namespace-from": "^7.27.1", - "@babel/plugin-transform-for-of": "^7.27.1", - "@babel/plugin-transform-function-name": "^7.27.1", - "@babel/plugin-transform-json-strings": "^7.27.1", - "@babel/plugin-transform-literals": "^7.27.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.27.1", - "@babel/plugin-transform-member-expression-literals": "^7.27.1", - "@babel/plugin-transform-modules-amd": "^7.27.1", - "@babel/plugin-transform-modules-commonjs": "^7.27.1", - "@babel/plugin-transform-modules-systemjs": "^7.27.1", - "@babel/plugin-transform-modules-umd": "^7.27.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", - "@babel/plugin-transform-new-target": "^7.27.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", - "@babel/plugin-transform-numeric-separator": "^7.27.1", - "@babel/plugin-transform-object-rest-spread": "^7.27.2", - "@babel/plugin-transform-object-super": "^7.27.1", - "@babel/plugin-transform-optional-catch-binding": "^7.27.1", - "@babel/plugin-transform-optional-chaining": "^7.27.1", - "@babel/plugin-transform-parameters": "^7.27.1", - "@babel/plugin-transform-private-methods": "^7.27.1", - "@babel/plugin-transform-private-property-in-object": "^7.27.1", - "@babel/plugin-transform-property-literals": "^7.27.1", - "@babel/plugin-transform-regenerator": "^7.27.1", - "@babel/plugin-transform-regexp-modifiers": "^7.27.1", - "@babel/plugin-transform-reserved-words": "^7.27.1", - "@babel/plugin-transform-shorthand-properties": "^7.27.1", - "@babel/plugin-transform-spread": "^7.27.1", - "@babel/plugin-transform-sticky-regex": "^7.27.1", - "@babel/plugin-transform-template-literals": "^7.27.1", - "@babel/plugin-transform-typeof-symbol": "^7.27.1", - "@babel/plugin-transform-unicode-escapes": "^7.27.1", - "@babel/plugin-transform-unicode-property-regex": "^7.27.1", - "@babel/plugin-transform-unicode-regex": "^7.27.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.11.0", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.40.0", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/register": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.27.1.tgz", - "integrity": "sha512-K13lQpoV54LATKkzBpBAEu1GGSIRzxR9f4IN4V8DCDgiUMo2UDGagEZr3lPeVNJPLkWUi5JE4hCHKneVTwQlYQ==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.6", - "source-map-support": "^0.5.16" - } - }, - "@babel/runtime": { - "version": "7.27.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", - "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", - "dev": true - }, - "@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - } - }, - "@babel/traverse": { - "version": "7.27.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz", - "integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.3", - "@babel/parser": "^7.27.4", - "@babel/template": "^7.27.2", - "@babel/types": "^7.27.3", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.27.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.6.tgz", - "integrity": "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" - } - }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "optional": true - }, - "@ensdomains/address-encoder": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@ensdomains/address-encoder/-/address-encoder-0.1.9.tgz", - "integrity": "sha512-E2d2gP4uxJQnDu2Kfg1tHNspefzbLT8Tyjrm5sEuim32UkU2sm5xL4VXtgc2X33fmPEw9+jUMpGs4veMbf+PYg==", - "dev": true, - "requires": { - "bech32": "^1.1.3", - "blakejs": "^1.1.0", - "bn.js": "^4.11.8", - "bs58": "^4.0.1", - "crypto-addr-codec": "^0.1.7", - "nano-base32": "^1.0.1", - "ripemd160": "^2.0.2" - } - }, - "@ensdomains/ens": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", - "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", - "dev": true, - "requires": { - "bluebird": "^3.5.2", - "eth-ens-namehash": "^2.0.8", - "solc": "^0.4.20", - "testrpc": "0.0.1", - "web3-utils": "^1.0.0-beta.31" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true - }, - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.9" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "solc": { - "version": "0.4.26", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", - "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", - "dev": true, - "requires": { - "fs-extra": "^0.30.0", - "memorystream": "^0.3.1", - "require-from-string": "^1.1.0", - "semver": "^5.3.0", - "yargs": "^4.7.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true - }, - "yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==", - "dev": true, - "requires": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" - } - }, - "yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" - } - } - } - }, - "@ensdomains/ensjs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@ensdomains/ensjs/-/ensjs-2.1.0.tgz", - "integrity": "sha512-GRbGPT8Z/OJMDuxs75U/jUNEC0tbL0aj7/L/QQznGYKm/tiasp+ndLOaoULy9kKJFC0TBByqfFliEHDgoLhyog==", - "dev": true, - "requires": { - "@babel/runtime": "^7.4.4", - "@ensdomains/address-encoder": "^0.1.7", - "@ensdomains/ens": "0.4.5", - "@ensdomains/resolver": "0.2.4", - "content-hash": "^2.5.2", - "eth-ens-namehash": "^2.0.8", - "ethers": "^5.0.13", - "js-sha3": "^0.8.0" - }, - "dependencies": { - "ethers": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.8.0.tgz", - "integrity": "sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==", - "dev": true, - "requires": { - "@ethersproject/abi": "5.8.0", - "@ethersproject/abstract-provider": "5.8.0", - "@ethersproject/abstract-signer": "5.8.0", - "@ethersproject/address": "5.8.0", - "@ethersproject/base64": "5.8.0", - "@ethersproject/basex": "5.8.0", - "@ethersproject/bignumber": "5.8.0", - "@ethersproject/bytes": "5.8.0", - "@ethersproject/constants": "5.8.0", - "@ethersproject/contracts": "5.8.0", - "@ethersproject/hash": "5.8.0", - "@ethersproject/hdnode": "5.8.0", - "@ethersproject/json-wallets": "5.8.0", - "@ethersproject/keccak256": "5.8.0", - "@ethersproject/logger": "5.8.0", - "@ethersproject/networks": "5.8.0", - "@ethersproject/pbkdf2": "5.8.0", - "@ethersproject/properties": "5.8.0", - "@ethersproject/providers": "5.8.0", - "@ethersproject/random": "5.8.0", - "@ethersproject/rlp": "5.8.0", - "@ethersproject/sha2": "5.8.0", - "@ethersproject/signing-key": "5.8.0", - "@ethersproject/solidity": "5.8.0", - "@ethersproject/strings": "5.8.0", - "@ethersproject/transactions": "5.8.0", - "@ethersproject/units": "5.8.0", - "@ethersproject/wallet": "5.8.0", - "@ethersproject/web": "5.8.0", - "@ethersproject/wordlists": "5.8.0" - } - } - } - }, - "@ensdomains/resolver": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", - "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", - "dev": true - }, - "@eslint-community/eslint-utils": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", - "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.4.3" - } - }, - "@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - } - } - }, - "@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", - "dev": true - }, - "@ethereumjs/common": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", - "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", - "dev": true, - "requires": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.5" - } - }, - "@ethereumjs/rlp": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-5.0.2.tgz", - "integrity": "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==", - "dev": true - }, - "@ethereumjs/tx": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", - "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", - "dev": true, - "requires": { - "@ethereumjs/common": "^2.6.4", - "ethereumjs-util": "^7.1.5" - } - }, - "@ethereumjs/util": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-9.1.0.tgz", - "integrity": "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==", - "dev": true, - "requires": { - "@ethereumjs/rlp": "^5.0.2", - "ethereum-cryptography": "^2.2.1" - }, - "dependencies": { - "@noble/curves": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", - "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", - "dev": true, - "requires": { - "@noble/hashes": "1.4.0" - } - }, - "@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", - "dev": true - }, - "@scure/bip32": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", - "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", - "dev": true, - "requires": { - "@noble/curves": "~1.4.0", - "@noble/hashes": "~1.4.0", - "@scure/base": "~1.1.6" - } - }, - "@scure/bip39": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", - "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", - "dev": true, - "requires": { - "@noble/hashes": "~1.4.0", - "@scure/base": "~1.1.6" - } - }, - "ethereum-cryptography": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", - "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", - "dev": true, - "requires": { - "@noble/curves": "1.4.2", - "@noble/hashes": "1.4.0", - "@scure/bip32": "1.4.0", - "@scure/bip39": "1.3.0" - } - } - } - }, - "@ethersproject/abi": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.8.0.tgz", - "integrity": "sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==", - "dev": true, - "requires": { - "@ethersproject/address": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/hash": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/strings": "^5.8.0" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz", - "integrity": "sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==", - "dev": true, - "requires": { - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/networks": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/transactions": "^5.8.0", - "@ethersproject/web": "^5.8.0" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz", - "integrity": "sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==", - "dev": true, - "requires": { - "@ethersproject/abstract-provider": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0" - } - }, - "@ethersproject/address": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.8.0.tgz", - "integrity": "sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==", - "dev": true, - "requires": { - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/rlp": "^5.8.0" - } - }, - "@ethersproject/base64": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.8.0.tgz", - "integrity": "sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.8.0" - } - }, - "@ethersproject/basex": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.8.0.tgz", - "integrity": "sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/properties": "^5.8.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.8.0.tgz", - "integrity": "sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "bn.js": "^5.2.1" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - } - } - }, - "@ethersproject/bytes": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.8.0.tgz", - "integrity": "sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==", - "dev": true, - "requires": { - "@ethersproject/logger": "^5.8.0" - } - }, - "@ethersproject/constants": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.8.0.tgz", - "integrity": "sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==", - "dev": true, - "requires": { - "@ethersproject/bignumber": "^5.8.0" - } - }, - "@ethersproject/contracts": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.8.0.tgz", - "integrity": "sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.8.0", - "@ethersproject/abstract-provider": "^5.8.0", - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/address": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/transactions": "^5.8.0" - } - }, - "@ethersproject/hash": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.8.0.tgz", - "integrity": "sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==", - "dev": true, - "requires": { - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/address": "^5.8.0", - "@ethersproject/base64": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/strings": "^5.8.0" - } - }, - "@ethersproject/hdnode": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.8.0.tgz", - "integrity": "sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA==", - "dev": true, - "requires": { - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/basex": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/pbkdf2": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/sha2": "^5.8.0", - "@ethersproject/signing-key": "^5.8.0", - "@ethersproject/strings": "^5.8.0", - "@ethersproject/transactions": "^5.8.0", - "@ethersproject/wordlists": "^5.8.0" - } - }, - "@ethersproject/json-wallets": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.8.0.tgz", - "integrity": "sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w==", - "dev": true, - "requires": { - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/address": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/hdnode": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/pbkdf2": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/random": "^5.8.0", - "@ethersproject/strings": "^5.8.0", - "@ethersproject/transactions": "^5.8.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - }, - "dependencies": { - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", - "dev": true - } - } - }, - "@ethersproject/keccak256": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.8.0.tgz", - "integrity": "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.8.0", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.8.0.tgz", - "integrity": "sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==", - "dev": true - }, - "@ethersproject/networks": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.8.0.tgz", - "integrity": "sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==", - "dev": true, - "requires": { - "@ethersproject/logger": "^5.8.0" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.8.0.tgz", - "integrity": "sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/sha2": "^5.8.0" - } - }, - "@ethersproject/properties": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.8.0.tgz", - "integrity": "sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==", - "dev": true, - "requires": { - "@ethersproject/logger": "^5.8.0" - } - }, - "@ethersproject/providers": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.8.0.tgz", - "integrity": "sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw==", - "dev": true, - "requires": { - "@ethersproject/abstract-provider": "^5.8.0", - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/address": "^5.8.0", - "@ethersproject/base64": "^5.8.0", - "@ethersproject/basex": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/hash": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/networks": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/random": "^5.8.0", - "@ethersproject/rlp": "^5.8.0", - "@ethersproject/sha2": "^5.8.0", - "@ethersproject/strings": "^5.8.0", - "@ethersproject/transactions": "^5.8.0", - "@ethersproject/web": "^5.8.0", - "bech32": "1.1.4", - "ws": "8.18.0" - }, - "dependencies": { - "ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "dev": true, - "requires": {} - } - } - }, - "@ethersproject/random": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.8.0.tgz", - "integrity": "sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0" - } - }, - "@ethersproject/rlp": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.8.0.tgz", - "integrity": "sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0" - } - }, - "@ethersproject/sha2": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.8.0.tgz", - "integrity": "sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "hash.js": "1.1.7" - } - }, - "@ethersproject/signing-key": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.8.0.tgz", - "integrity": "sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "bn.js": "^5.2.1", - "elliptic": "6.6.1", - "hash.js": "1.1.7" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - } - } - }, - "@ethersproject/solidity": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.8.0.tgz", - "integrity": "sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA==", - "dev": true, - "requires": { - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/sha2": "^5.8.0", - "@ethersproject/strings": "^5.8.0" - } - }, - "@ethersproject/strings": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.8.0.tgz", - "integrity": "sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/logger": "^5.8.0" - } - }, - "@ethersproject/transactions": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.8.0.tgz", - "integrity": "sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==", - "dev": true, - "requires": { - "@ethersproject/address": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/rlp": "^5.8.0", - "@ethersproject/signing-key": "^5.8.0" - } - }, - "@ethersproject/units": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.8.0.tgz", - "integrity": "sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ==", - "dev": true, - "requires": { - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/logger": "^5.8.0" - } - }, - "@ethersproject/wallet": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.8.0.tgz", - "integrity": "sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA==", - "dev": true, - "requires": { - "@ethersproject/abstract-provider": "^5.8.0", - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/address": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/hash": "^5.8.0", - "@ethersproject/hdnode": "^5.8.0", - "@ethersproject/json-wallets": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/random": "^5.8.0", - "@ethersproject/signing-key": "^5.8.0", - "@ethersproject/transactions": "^5.8.0", - "@ethersproject/wordlists": "^5.8.0" - } - }, - "@ethersproject/web": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.8.0.tgz", - "integrity": "sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==", - "dev": true, - "requires": { - "@ethersproject/base64": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/strings": "^5.8.0" - } - }, - "@ethersproject/wordlists": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.8.0.tgz", - "integrity": "sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg==", - "dev": true, - "requires": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/hash": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/strings": "^5.8.0" - } - }, - "@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8-no-fsevents.3", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", - "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", - "dev": true, - "optional": true - }, - "@noble/curves": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", - "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", - "dev": true, - "peer": true, - "requires": { - "@noble/hashes": "1.3.2" - }, - "dependencies": { - "@noble/hashes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", - "dev": true, - "peer": true - } - } - }, - "@noble/hashes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", - "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", - "dev": true - }, - "@noble/secp256k1": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", - "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==", - "dev": true - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@nomicfoundation/edr": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.11.1.tgz", - "integrity": "sha512-P97XwcD9DdMMZm9aqw89+mzqzlKmqzSPM3feBES2WVRm5/LOiBYorhpeAX+ANj0X8532SKgxoZK/CN5OWv9vZA==", - "dev": true, - "requires": { - "@nomicfoundation/edr-darwin-arm64": "0.11.1", - "@nomicfoundation/edr-darwin-x64": "0.11.1", - "@nomicfoundation/edr-linux-arm64-gnu": "0.11.1", - "@nomicfoundation/edr-linux-arm64-musl": "0.11.1", - "@nomicfoundation/edr-linux-x64-gnu": "0.11.1", - "@nomicfoundation/edr-linux-x64-musl": "0.11.1", - "@nomicfoundation/edr-win32-x64-msvc": "0.11.1" - } - }, - "@nomicfoundation/edr-darwin-arm64": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.11.1.tgz", - "integrity": "sha512-vjca7gkl1o0yYqMjwxQpMEtdsb20nWHBnnxDO8ZBCTD5IwfYT5LiMxFaJo8NUJ7ODIRkF/zuEtAF3W7+ZlC5RA==", - "dev": true - }, - "@nomicfoundation/edr-darwin-x64": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.11.1.tgz", - "integrity": "sha512-0aGStHq9XePXX9UqdU1w60HGO9AfYCgkNEir5sBpntU5E0TvZEK6jwyYr667+s90n2mihdeP97QSA0O/6PT6PA==", - "dev": true - }, - "@nomicfoundation/edr-linux-arm64-gnu": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.11.1.tgz", - "integrity": "sha512-OWhCETc03PVdtzatW/c2tpOPx+GxlBfBaLmMuGRD1soAr1nMOmg2WZAlo4i6Up9fkQYl+paiYMMFVat1meaMvQ==", - "dev": true - }, - "@nomicfoundation/edr-linux-arm64-musl": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.11.1.tgz", - "integrity": "sha512-p0qvtIvDA2eZ8pQ5XUKnWdW1IrwFzSrjyrO88oYx6Lkw8nYwf2JEeETo5o5W84DDfimfoBGP7RWPTPcTBKCaLQ==", - "dev": true - }, - "@nomicfoundation/edr-linux-x64-gnu": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.11.1.tgz", - "integrity": "sha512-V4Us7Q0E8kng3O/czd5GRcxmZxWX+USgqz9yQ3o7DVq7FP96idaKvtcbMQp64tjHf2zNtX2y77sGzgbVau7Bww==", - "dev": true - }, - "@nomicfoundation/edr-linux-x64-musl": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.11.1.tgz", - "integrity": "sha512-lCSXsF10Kjjvs5duGbM6pi1WciWHXFNWkMgDAY4pg6ZRIy4gh+uGC6CONMfP4BDZwfrALo2p6+LwyotrJEqpyg==", - "dev": true - }, - "@nomicfoundation/edr-win32-x64-msvc": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.11.1.tgz", - "integrity": "sha512-sNSmmRTURAd1sdKuyO5tqrFiJvHHVPZLM4HB53F21makGoyInFGhejdo3qZrkoinM8k0ewEJDbUp0YuMEgMOhQ==", - "dev": true - }, - "@nomicfoundation/hardhat-chai-matchers": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.9.tgz", - "integrity": "sha512-AbCoBuTKMlwlf1lesSmi/4VvJHNG9EP13EmkCJ+MJS1SBdtVtU4YrBbdYmnYPEvRFcAIMFB/cwcQGmuBYeCoVg==", - "dev": true, - "requires": { - "@types/chai-as-promised": "^7.1.3", - "chai-as-promised": "^7.1.1", - "deep-eql": "^4.0.1", - "ordinal": "^1.0.3" - } - }, - "@nomicfoundation/hardhat-ethers": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.9.tgz", - "integrity": "sha512-xBJdRUiCwKpr0OYrOzPwAyNGtsVzoBx32HFPJVv6S+sFA9TmBIBDaqNlFPmBH58ZjgNnGhEr/4oBZvGr4q4TjQ==", - "dev": true, - "peer": true, - "requires": { - "debug": "^4.1.1", - "lodash.isequal": "^4.5.0" - } - }, - "@nomicfoundation/hardhat-network-helpers": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.12.tgz", - "integrity": "sha512-xTNQNI/9xkHvjmCJnJOTyqDSl8uq1rKb2WOVmixQxFtRd7Oa3ecO8zM0cyC2YmOK+jHB9WPZ+F/ijkHg1CoORA==", - "dev": true, - "requires": { - "ethereumjs-util": "^7.1.4" - } - }, - "@nomicfoundation/solidity-analyzer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz", - "integrity": "sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==", - "dev": true, - "requires": { - "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.2", - "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.2", - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.2", - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.2", - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.2", - "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.2", - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.2" - } - }, - "@nomicfoundation/solidity-analyzer-darwin-arm64": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz", - "integrity": "sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==", - "dev": true, - "optional": true - }, - "@nomicfoundation/solidity-analyzer-darwin-x64": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz", - "integrity": "sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==", - "dev": true, - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz", - "integrity": "sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==", - "dev": true, - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz", - "integrity": "sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==", - "dev": true, - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz", - "integrity": "sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==", - "dev": true, - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-x64-musl": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz", - "integrity": "sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==", - "dev": true, - "optional": true - }, - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz", - "integrity": "sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==", - "dev": true, - "optional": true - }, - "@openzeppelin/contract-loader": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@openzeppelin/contract-loader/-/contract-loader-0.6.3.tgz", - "integrity": "sha512-cOFIjBjwbGgZhDZsitNgJl0Ye1rd5yu/Yx5LMgeq3u0ZYzldm4uObzHDFq4gjDdoypvyORjjJa3BlFA7eAnVIg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "fs-extra": "^8.1.0" - } - }, - "@openzeppelin/contracts": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-5.3.0.tgz", - "integrity": "sha512-zj/KGoW7zxWUE8qOI++rUM18v+VeLTTzKs/DJFkSzHpQFPD/jKKF0TrMxBfGLl3kpdELCNccvB3zmofSzm4nlA==" - }, - "@openzeppelin/contracts-upgradeable": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-5.3.0.tgz", - "integrity": "sha512-yVzSSyTMWO6rapGI5tuqkcLpcGGXA0UA1vScyV5EhE5yw8By3Ewex9rDUw8lfVw0iTkvR/egjfcW5vpk03lqZg==", - "requires": {} - }, - "@openzeppelin/test-helpers": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.16.tgz", - "integrity": "sha512-T1EvspSfH1qQO/sgGlskLfYVBbqzJR23SZzYl/6B2JnT4EhThcI85UpvDk0BkLWKaDScQTabGHt4GzHW+3SfZg==", - "dev": true, - "requires": { - "@openzeppelin/contract-loader": "^0.6.2", - "@truffle/contract": "^4.0.35", - "ansi-colors": "^3.2.3", - "chai": "^4.2.0", - "chai-bn": "^0.2.1", - "ethjs-abi": "^0.2.1", - "lodash.flatten": "^4.4.0", - "semver": "^5.6.0", - "web3": "^1.2.5", - "web3-utils": "^1.2.5" - } - }, - "@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true - }, - "@scure/base": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", - "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", - "dev": true - }, - "@scure/bip32": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", - "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", - "dev": true, - "requires": { - "@noble/hashes": "~1.2.0", - "@noble/secp256k1": "~1.7.0", - "@scure/base": "~1.1.0" - } - }, - "@scure/bip39": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", - "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", - "dev": true, - "requires": { - "@noble/hashes": "~1.2.0", - "@scure/base": "~1.1.0" - } - }, - "@sentry/core": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", - "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", - "dev": true, - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "@sentry/hub": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", - "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", - "dev": true, - "requires": { - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "@sentry/minimal": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", - "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", - "dev": true, - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "@sentry/node": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", - "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", - "dev": true, - "requires": { - "@sentry/core": "5.30.0", - "@sentry/hub": "5.30.0", - "@sentry/tracing": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "cookie": "^0.4.1", - "https-proxy-agent": "^5.0.0", - "lru_map": "^0.3.3", - "tslib": "^1.9.3" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "@sentry/tracing": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", - "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", - "dev": true, - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "@sentry/types": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", - "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", - "dev": true - }, - "@sentry/utils": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", - "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", - "dev": true, - "requires": { - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "dev": true - }, - "@solidity-parser/parser": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.5.tgz", - "integrity": "sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==", - "dev": true, - "requires": { - "antlr4ts": "^0.5.0-alpha.4" - } - }, - "@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "dev": true, - "requires": { - "defer-to-connect": "^2.0.1" - } - }, - "@truffle/abi-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@truffle/abi-utils/-/abi-utils-1.0.3.tgz", - "integrity": "sha512-AWhs01HCShaVKjml7Z4AbVREr/u4oiWxCcoR7Cktm0mEvtT04pvnxW5xB/cI4znRkrbPdFQlFt67kgrAjesYkw==", - "dev": true, - "requires": { - "change-case": "3.0.2", - "fast-check": "3.1.1", - "web3-utils": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "web3-utils": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz", - "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "@truffle/blockchain-utils": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.1.9.tgz", - "integrity": "sha512-RHfumgbIVo68Rv9ofDYfynjnYZIfP/f1vZy4RoqkfYAO+fqfc58PDRzB1WAGq2U6GPuOnipOJxQhnqNnffORZg==", - "dev": true - }, - "@truffle/codec": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@truffle/codec/-/codec-0.17.3.tgz", - "integrity": "sha512-Ko/+dsnntNyrJa57jUD9u4qx9nQby+H4GsUO6yjiCPSX0TQnEHK08XWqBSg0WdmCH2+h0y1nr2CXSx8gbZapxg==", - "dev": true, - "requires": { - "@truffle/abi-utils": "^1.0.3", - "@truffle/compile-common": "^0.9.8", - "big.js": "^6.0.3", - "bn.js": "^5.1.3", - "cbor": "^5.2.0", - "debug": "^4.3.1", - "lodash": "^4.17.21", - "semver": "^7.5.4", - "utf8": "^3.0.0", - "web3-utils": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true - }, - "web3-utils": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz", - "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "@truffle/compile-common": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/@truffle/compile-common/-/compile-common-0.9.8.tgz", - "integrity": "sha512-DTpiyo32t/YhLI1spn84D3MHYHrnoVqO+Gp7ZHrYNwDs86mAxtNiH5lsVzSb8cPgiqlvNsRCU9nm9R0YmKMTBQ==", - "dev": true, - "requires": { - "@truffle/error": "^0.2.2", - "colors": "1.4.0" - } - }, - "@truffle/contract": { - "version": "4.6.31", - "resolved": "https://registry.npmjs.org/@truffle/contract/-/contract-4.6.31.tgz", - "integrity": "sha512-s+oHDpXASnZosiCdzu+X1Tx5mUJUs1L1CYXIcgRmzMghzqJkaUFmR6NpNo7nJYliYbO+O9/aW8oCKqQ7rCHfmQ==", - "dev": true, - "requires": { - "@ensdomains/ensjs": "^2.1.0", - "@truffle/blockchain-utils": "^0.1.9", - "@truffle/contract-schema": "^3.4.16", - "@truffle/debug-utils": "^6.0.57", - "@truffle/error": "^0.2.2", - "@truffle/interface-adapter": "^0.5.37", - "bignumber.js": "^7.2.1", - "debug": "^4.3.1", - "ethers": "^4.0.32", - "web3": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-promievent": "1.10.0", - "web3-eth-abi": "1.10.0", - "web3-utils": "1.10.0" - }, - "dependencies": { - "@ethereumjs/common": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.5.0.tgz", - "integrity": "sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg==", - "dev": true, - "requires": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.1" - } - }, - "@ethereumjs/tx": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.2.tgz", - "integrity": "sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==", - "dev": true, - "requires": { - "@ethereumjs/common": "^2.5.0", - "ethereumjs-util": "^7.1.2" - } - }, - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", - "dev": true - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "requires": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "dev": true - }, - "scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true - }, - "setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", - "dev": true - }, - "uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", - "dev": true - }, - "web3": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.0.tgz", - "integrity": "sha512-YfKY9wSkGcM8seO+daR89oVTcbu18NsVfvOngzqMYGUU0pPSQmE57qQDvQzUeoIOHAnXEBNzrhjQJmm8ER0rng==", - "dev": true, - "requires": { - "web3-bzz": "1.10.0", - "web3-core": "1.10.0", - "web3-eth": "1.10.0", - "web3-eth-personal": "1.10.0", - "web3-net": "1.10.0", - "web3-shh": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-bzz": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.0.tgz", - "integrity": "sha512-o9IR59io3pDUsXTsps5pO5hW1D5zBmg46iNc2t4j2DkaYHNdDLwk2IP9ukoM2wg47QILfPEJYzhTfkS/CcX0KA==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "got": "12.1.0", - "swarm-js": "^0.1.40" - } - }, - "web3-core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.0.tgz", - "integrity": "sha512-fWySwqy2hn3TL89w5TM8wXF1Z2Q6frQTKHWmP0ppRQorEK8NcHJRfeMiv/mQlSKoTS1F6n/nv2uyZsixFycjYQ==", - "dev": true, - "requires": { - "@types/bn.js": "^5.1.1", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.10.0", - "web3-core-method": "1.10.0", - "web3-core-requestmanager": "1.10.0", - "web3-utils": "1.10.0" - }, - "dependencies": { - "bignumber.js": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", - "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", - "dev": true - } - } - }, - "web3-core-method": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.0.tgz", - "integrity": "sha512-4R700jTLAMKDMhQ+nsVfIXvH6IGJlJzGisIfMKWAIswH31h5AZz7uDUW2YctI+HrYd+5uOAlS4OJeeT9bIpvkA==", - "dev": true, - "requires": { - "@ethersproject/transactions": "^5.6.2", - "web3-core-helpers": "1.10.0", - "web3-core-promievent": "1.10.0", - "web3-core-subscriptions": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-core-requestmanager": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.0.tgz", - "integrity": "sha512-3z/JKE++Os62APml4dvBM+GAuId4h3L9ckUrj7ebEtS2AR0ixyQPbrBodgL91Sv7j7cQ3Y+hllaluqjguxvSaQ==", - "dev": true, - "requires": { - "util": "^0.12.5", - "web3-core-helpers": "1.10.0", - "web3-providers-http": "1.10.0", - "web3-providers-ipc": "1.10.0", - "web3-providers-ws": "1.10.0" - } - }, - "web3-core-subscriptions": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.0.tgz", - "integrity": "sha512-HGm1PbDqsxejI075gxBc5OSkwymilRWZufIy9zEpnWKNmfbuv5FfHgW1/chtJP6aP3Uq2vHkvTDl3smQBb8l+g==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.0" - } - }, - "web3-eth": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.0.tgz", - "integrity": "sha512-Z5vT6slNMLPKuwRyKGbqeGYC87OAy8bOblaqRTgg94CXcn/mmqU7iPIlG4506YdcdK3x6cfEDG7B6w+jRxypKA==", - "dev": true, - "requires": { - "web3-core": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-method": "1.10.0", - "web3-core-subscriptions": "1.10.0", - "web3-eth-abi": "1.10.0", - "web3-eth-accounts": "1.10.0", - "web3-eth-contract": "1.10.0", - "web3-eth-ens": "1.10.0", - "web3-eth-iban": "1.10.0", - "web3-eth-personal": "1.10.0", - "web3-net": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-eth-accounts": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.0.tgz", - "integrity": "sha512-wiq39Uc3mOI8rw24wE2n15hboLE0E9BsQLdlmsL4Zua9diDS6B5abXG0XhFcoNsXIGMWXVZz4TOq3u4EdpXF/Q==", - "dev": true, - "requires": { - "@ethereumjs/common": "2.5.0", - "@ethereumjs/tx": "3.3.2", - "eth-lib": "0.2.8", - "ethereumjs-util": "^7.1.5", - "scrypt-js": "^3.0.1", - "uuid": "^9.0.0", - "web3-core": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-method": "1.10.0", - "web3-utils": "1.10.0" - }, - "dependencies": { - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", - "dev": true - }, - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "dev": true - } - } - }, - "web3-eth-contract": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.0.tgz", - "integrity": "sha512-MIC5FOzP/+2evDksQQ/dpcXhSqa/2hFNytdl/x61IeWxhh6vlFeSjq0YVTAyIzdjwnL7nEmZpjfI6y6/Ufhy7w==", - "dev": true, - "requires": { - "@types/bn.js": "^5.1.1", - "web3-core": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-method": "1.10.0", - "web3-core-promievent": "1.10.0", - "web3-core-subscriptions": "1.10.0", - "web3-eth-abi": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-eth-ens": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.0.tgz", - "integrity": "sha512-3hpGgzX3qjgxNAmqdrC2YUQMTfnZbs4GeLEmy8aCWziVwogbuqQZ+Gzdfrym45eOZodk+lmXyLuAdqkNlvkc1g==", - "dev": true, - "requires": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "web3-core": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-promievent": "1.10.0", - "web3-eth-abi": "1.10.0", - "web3-eth-contract": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-eth-personal": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.0.tgz", - "integrity": "sha512-anseKn98w/d703eWq52uNuZi7GhQeVjTC5/svrBWEKob0WZ5kPdo+EZoFN0sp5a5ubbrk/E0xSl1/M5yORMtpg==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "web3-core": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-method": "1.10.0", - "web3-net": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-net": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.0.tgz", - "integrity": "sha512-NLH/N3IshYWASpxk4/18Ge6n60GEvWBVeM8inx2dmZJVmRI6SJIlUxbL8jySgiTn3MMZlhbdvrGo8fpUW7a1GA==", - "dev": true, - "requires": { - "web3-core": "1.10.0", - "web3-core-method": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-providers-http": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.0.tgz", - "integrity": "sha512-eNr965YB8a9mLiNrkjAWNAPXgmQWfpBfkkn7tpEFlghfww0u3I0tktMZiaToJVcL2+Xq+81cxbkpeWJ5XQDwOA==", - "dev": true, - "requires": { - "abortcontroller-polyfill": "^1.7.3", - "cross-fetch": "^3.1.4", - "es6-promise": "^4.2.8", - "web3-core-helpers": "1.10.0" - } - }, - "web3-providers-ipc": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.0.tgz", - "integrity": "sha512-OfXG1aWN8L1OUqppshzq8YISkWrYHaATW9H8eh0p89TlWMc1KZOL9vttBuaBEi96D/n0eYDn2trzt22bqHWfXA==", - "dev": true, - "requires": { - "oboe": "2.1.5", - "web3-core-helpers": "1.10.0" - } - }, - "web3-providers-ws": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.0.tgz", - "integrity": "sha512-sK0fNcglW36yD5xjnjtSGBnEtf59cbw4vZzJ+CmOWIKGIR96mP5l684g0WD0Eo+f4NQc2anWWXG74lRc9OVMCQ==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.0", - "websocket": "^1.0.32" - } - }, - "web3-shh": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.0.tgz", - "integrity": "sha512-uNUUuNsO2AjX41GJARV9zJibs11eq6HtOe6Wr0FtRUcj8SN6nHeYIzwstAvJ4fXA53gRqFMTxdntHEt9aXVjpg==", - "dev": true, - "requires": { - "web3-core": "1.10.0", - "web3-core-method": "1.10.0", - "web3-core-subscriptions": "1.10.0", - "web3-net": "1.10.0" - } - }, - "web3-utils": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz", - "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - } - } - } - } - }, - "@truffle/contract-schema": { - "version": "3.4.16", - "resolved": "https://registry.npmjs.org/@truffle/contract-schema/-/contract-schema-3.4.16.tgz", - "integrity": "sha512-g0WNYR/J327DqtJPI70ubS19K1Fth/1wxt2jFqLsPmz5cGZVjCwuhiie+LfBde4/Mc9QR8G+L3wtmT5cyoBxAg==", - "dev": true, - "requires": { - "ajv": "^6.10.0", - "debug": "^4.3.1" - } - }, - "@truffle/debug-utils": { - "version": "6.0.57", - "resolved": "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-6.0.57.tgz", - "integrity": "sha512-Q6oI7zLaeNLB69ixjwZk2UZEWBY6b2OD1sjLMGDKBGR7GaHYiw96GLR2PFgPH1uwEeLmV4N78LYaQCrDsHbNeA==", - "dev": true, - "requires": { - "@truffle/codec": "^0.17.3", - "@trufflesuite/chromafi": "^3.0.0", - "bn.js": "^5.1.3", - "chalk": "^2.4.2", - "debug": "^4.3.1", - "highlightjs-solidity": "^2.0.6" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - } - } - }, - "@truffle/error": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.2.2.tgz", - "integrity": "sha512-TqbzJ0O8DHh34cu8gDujnYl4dUl6o2DE4PR6iokbybvnIm/L2xl6+Gv1VC+YJS45xfH83Yo3/Zyg/9Oq8/xZWg==", - "dev": true - }, - "@truffle/interface-adapter": { - "version": "0.5.37", - "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.37.tgz", - "integrity": "sha512-lPH9MDgU+7sNDlJSClwyOwPCfuOimqsCx0HfGkznL3mcFRymc1pukAR1k17zn7ErHqBwJjiKAZ6Ri72KkS+IWw==", - "dev": true, - "requires": { - "bn.js": "^5.1.3", - "ethers": "^4.0.32", - "web3": "1.10.0" - }, - "dependencies": { - "@ethereumjs/common": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.5.0.tgz", - "integrity": "sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg==", - "dev": true, - "requires": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.1" - } - }, - "@ethereumjs/tx": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.2.tgz", - "integrity": "sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==", - "dev": true, - "requires": { - "@ethereumjs/common": "^2.5.0", - "ethereumjs-util": "^7.1.2" - } - }, - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", - "dev": true - }, - "bignumber.js": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", - "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", - "dev": true - }, - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", - "dev": true - } - } - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", - "dev": true - } - } - }, - "ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "requires": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", - "dev": true - } - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "dev": true - }, - "scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true - }, - "setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", - "dev": true - }, - "uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", - "dev": true - }, - "web3": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.0.tgz", - "integrity": "sha512-YfKY9wSkGcM8seO+daR89oVTcbu18NsVfvOngzqMYGUU0pPSQmE57qQDvQzUeoIOHAnXEBNzrhjQJmm8ER0rng==", - "dev": true, - "requires": { - "web3-bzz": "1.10.0", - "web3-core": "1.10.0", - "web3-eth": "1.10.0", - "web3-eth-personal": "1.10.0", - "web3-net": "1.10.0", - "web3-shh": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-bzz": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.0.tgz", - "integrity": "sha512-o9IR59io3pDUsXTsps5pO5hW1D5zBmg46iNc2t4j2DkaYHNdDLwk2IP9ukoM2wg47QILfPEJYzhTfkS/CcX0KA==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "got": "12.1.0", - "swarm-js": "^0.1.40" - } - }, - "web3-core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.0.tgz", - "integrity": "sha512-fWySwqy2hn3TL89w5TM8wXF1Z2Q6frQTKHWmP0ppRQorEK8NcHJRfeMiv/mQlSKoTS1F6n/nv2uyZsixFycjYQ==", - "dev": true, - "requires": { - "@types/bn.js": "^5.1.1", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.10.0", - "web3-core-method": "1.10.0", - "web3-core-requestmanager": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-core-method": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.0.tgz", - "integrity": "sha512-4R700jTLAMKDMhQ+nsVfIXvH6IGJlJzGisIfMKWAIswH31h5AZz7uDUW2YctI+HrYd+5uOAlS4OJeeT9bIpvkA==", - "dev": true, - "requires": { - "@ethersproject/transactions": "^5.6.2", - "web3-core-helpers": "1.10.0", - "web3-core-promievent": "1.10.0", - "web3-core-subscriptions": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-core-requestmanager": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.0.tgz", - "integrity": "sha512-3z/JKE++Os62APml4dvBM+GAuId4h3L9ckUrj7ebEtS2AR0ixyQPbrBodgL91Sv7j7cQ3Y+hllaluqjguxvSaQ==", - "dev": true, - "requires": { - "util": "^0.12.5", - "web3-core-helpers": "1.10.0", - "web3-providers-http": "1.10.0", - "web3-providers-ipc": "1.10.0", - "web3-providers-ws": "1.10.0" - } - }, - "web3-core-subscriptions": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.0.tgz", - "integrity": "sha512-HGm1PbDqsxejI075gxBc5OSkwymilRWZufIy9zEpnWKNmfbuv5FfHgW1/chtJP6aP3Uq2vHkvTDl3smQBb8l+g==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.0" - } - }, - "web3-eth": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.0.tgz", - "integrity": "sha512-Z5vT6slNMLPKuwRyKGbqeGYC87OAy8bOblaqRTgg94CXcn/mmqU7iPIlG4506YdcdK3x6cfEDG7B6w+jRxypKA==", - "dev": true, - "requires": { - "web3-core": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-method": "1.10.0", - "web3-core-subscriptions": "1.10.0", - "web3-eth-abi": "1.10.0", - "web3-eth-accounts": "1.10.0", - "web3-eth-contract": "1.10.0", - "web3-eth-ens": "1.10.0", - "web3-eth-iban": "1.10.0", - "web3-eth-personal": "1.10.0", - "web3-net": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-eth-accounts": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.0.tgz", - "integrity": "sha512-wiq39Uc3mOI8rw24wE2n15hboLE0E9BsQLdlmsL4Zua9diDS6B5abXG0XhFcoNsXIGMWXVZz4TOq3u4EdpXF/Q==", - "dev": true, - "requires": { - "@ethereumjs/common": "2.5.0", - "@ethereumjs/tx": "3.3.2", - "eth-lib": "0.2.8", - "ethereumjs-util": "^7.1.5", - "scrypt-js": "^3.0.1", - "uuid": "^9.0.0", - "web3-core": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-method": "1.10.0", - "web3-utils": "1.10.0" - }, - "dependencies": { - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", - "dev": true - }, - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "dev": true - } - } - }, - "web3-eth-contract": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.0.tgz", - "integrity": "sha512-MIC5FOzP/+2evDksQQ/dpcXhSqa/2hFNytdl/x61IeWxhh6vlFeSjq0YVTAyIzdjwnL7nEmZpjfI6y6/Ufhy7w==", - "dev": true, - "requires": { - "@types/bn.js": "^5.1.1", - "web3-core": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-method": "1.10.0", - "web3-core-promievent": "1.10.0", - "web3-core-subscriptions": "1.10.0", - "web3-eth-abi": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-eth-ens": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.0.tgz", - "integrity": "sha512-3hpGgzX3qjgxNAmqdrC2YUQMTfnZbs4GeLEmy8aCWziVwogbuqQZ+Gzdfrym45eOZodk+lmXyLuAdqkNlvkc1g==", - "dev": true, - "requires": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "web3-core": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-promievent": "1.10.0", - "web3-eth-abi": "1.10.0", - "web3-eth-contract": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-eth-personal": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.0.tgz", - "integrity": "sha512-anseKn98w/d703eWq52uNuZi7GhQeVjTC5/svrBWEKob0WZ5kPdo+EZoFN0sp5a5ubbrk/E0xSl1/M5yORMtpg==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "web3-core": "1.10.0", - "web3-core-helpers": "1.10.0", - "web3-core-method": "1.10.0", - "web3-net": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-net": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.0.tgz", - "integrity": "sha512-NLH/N3IshYWASpxk4/18Ge6n60GEvWBVeM8inx2dmZJVmRI6SJIlUxbL8jySgiTn3MMZlhbdvrGo8fpUW7a1GA==", - "dev": true, - "requires": { - "web3-core": "1.10.0", - "web3-core-method": "1.10.0", - "web3-utils": "1.10.0" - } - }, - "web3-providers-http": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.0.tgz", - "integrity": "sha512-eNr965YB8a9mLiNrkjAWNAPXgmQWfpBfkkn7tpEFlghfww0u3I0tktMZiaToJVcL2+Xq+81cxbkpeWJ5XQDwOA==", - "dev": true, - "requires": { - "abortcontroller-polyfill": "^1.7.3", - "cross-fetch": "^3.1.4", - "es6-promise": "^4.2.8", - "web3-core-helpers": "1.10.0" - } - }, - "web3-providers-ipc": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.0.tgz", - "integrity": "sha512-OfXG1aWN8L1OUqppshzq8YISkWrYHaATW9H8eh0p89TlWMc1KZOL9vttBuaBEi96D/n0eYDn2trzt22bqHWfXA==", - "dev": true, - "requires": { - "oboe": "2.1.5", - "web3-core-helpers": "1.10.0" - } - }, - "web3-providers-ws": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.0.tgz", - "integrity": "sha512-sK0fNcglW36yD5xjnjtSGBnEtf59cbw4vZzJ+CmOWIKGIR96mP5l684g0WD0Eo+f4NQc2anWWXG74lRc9OVMCQ==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.0", - "websocket": "^1.0.32" - } - }, - "web3-shh": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.0.tgz", - "integrity": "sha512-uNUUuNsO2AjX41GJARV9zJibs11eq6HtOe6Wr0FtRUcj8SN6nHeYIzwstAvJ4fXA53gRqFMTxdntHEt9aXVjpg==", - "dev": true, - "requires": { - "web3-core": "1.10.0", - "web3-core-method": "1.10.0", - "web3-core-subscriptions": "1.10.0", - "web3-net": "1.10.0" - } - }, - "web3-utils": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz", - "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "@trufflesuite/chromafi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@trufflesuite/chromafi/-/chromafi-3.0.0.tgz", - "integrity": "sha512-oqWcOqn8nT1bwlPPfidfzS55vqcIDdpfzo3HbU9EnUmcSTX+I8z0UyUFI3tZQjByVJulbzxHxUGS3ZJPwK/GPQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "chalk": "^2.3.2", - "cheerio": "^1.0.0-rc.2", - "detect-indent": "^5.0.0", - "highlight.js": "^10.4.1", - "lodash.merge": "^4.6.2", - "strip-ansi": "^4.0.0", - "strip-indent": "^2.0.0" - } - }, - "@types/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "dev": true, - "requires": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" - } - }, - "@types/chai": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", - "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", - "dev": true, - "requires": { - "@types/deep-eql": "*" - } - }, - "@types/chai-as-promised": { - "version": "7.1.8", - "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz", - "integrity": "sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==", - "dev": true, - "requires": { - "@types/chai": "*" - } - }, - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "dev": true, - "requires": { - "@types/ms": "*" - } - }, - "@types/deep-eql": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", - "dev": true - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", - "dev": true - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", - "dev": true - }, - "@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true - }, - "@types/ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", - "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", - "dev": true - }, - "@types/node": { - "version": "24.0.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.3.tgz", - "integrity": "sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==", - "dev": true, - "requires": { - "undici-types": "~7.8.0" - } - }, - "@types/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", - "dev": true - }, - "@types/responselike": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", - "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/secp256k1": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.6.tgz", - "integrity": "sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/yauzl": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", - "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", - "dev": true, - "optional": true, - "requires": { - "@types/node": "*" - } - }, - "@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "dev": true - }, - "abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==", - "dev": true - }, - "abortcontroller-polyfill": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.8.tgz", - "integrity": "sha512-9f1iZ2uWh92VcrU9Y8x+LdM4DLj75VE0MJB8zuF1iUnroEptStw+DQ8EQPMUdfe5k+PkB1uUfDQfWbhstH8LrQ==", - "dev": true - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", - "dev": true - }, - "aes-js": { - "version": "4.0.0-beta.5", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", - "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", - "dev": true, - "peer": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", - "dev": true, - "optional": true - }, - "ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "requires": { - "string-width": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } - } - }, - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "antlr4ts": { - "version": "0.5.0-alpha.4", - "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", - "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==", - "dev": true - }, - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "dev": true, - "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true - }, - "array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - } - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true - }, - "array-includes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==", - "dev": true - }, - "array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - } - }, - "array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - } - }, - "array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - } - }, - "arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "dev": true - }, - "async": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "dev": true - }, - "async-each": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", - "dev": true - }, - "async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "requires": { - "possible-typed-array-names": "^1.0.0" - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true - }, - "aws4": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", - "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", - "dev": true - }, - "axios": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz", - "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==", - "dev": true, - "requires": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "axios-debug-log": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/axios-debug-log/-/axios-debug-log-1.0.0.tgz", - "integrity": "sha512-ZjMaEBEij9w+Vbk2Uc3XflchTT7j9rZdYD/snN+XQ5FRDq1QjZNhh0Izb3KSyarU5vTkiCvJyg1xDiQBHZZB9w==", - "dev": true, - "requires": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz", - "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.4", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", - "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.6.3", - "core-js-compat": "^3.40.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz", - "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.6.4" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - } - } - }, - "base-x": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.11.tgz", - "integrity": "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", - "dev": true - }, - "big-integer": { - "version": "1.6.36", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz", - "integrity": "sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg==", - "dev": true - }, - "big.js": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.2.tgz", - "integrity": "sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ==", - "dev": true - }, - "bignumber.js": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", - "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", - "dev": true - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", - "dev": true - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", - "dev": true - }, - "body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dev": true, - "requires": { - "side-channel": "^1.0.6" - } - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, - "boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "dev": true, - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserslist": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz", - "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001718", - "electron-to-chromium": "^1.5.160", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.3" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "dev": true, - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "dev": true, - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "buffer-to-arraybuffer": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true - }, - "bufferutil": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.9.tgz", - "integrity": "sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==", - "dev": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "builtins": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", - "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", - "dev": true, - "requires": { - "semver": "^7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true - } - } - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true - }, - "c3-linearization": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/c3-linearization/-/c3-linearization-0.3.0.tgz", - "integrity": "sha512-eQNsZQhFSJAhrNrITy2FpKh7EHS98q/pniDtQhndWqqsvayiPeqZ9T6I9V9PsHcm0nc+ZYJHKUvI/hh37I33HQ==", - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - } - } - }, - "cacheable-lookup": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz", - "integrity": "sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==", - "dev": true - }, - "cacheable-request": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", - "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", - "dev": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - }, - "dependencies": { - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - } - } - }, - "call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - } - }, - "call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - } - }, - "call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001723", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001723.tgz", - "integrity": "sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true - }, - "cbor": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz", - "integrity": "sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==", - "dev": true, - "requires": { - "bignumber.js": "^9.0.1", - "nofilter": "^1.0.4" - }, - "dependencies": { - "bignumber.js": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", - "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", - "dev": true - } - } - }, - "chai": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", - "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.1.0" - } - }, - "chai-as-promised": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz", - "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==", - "dev": true, - "requires": { - "check-error": "^1.0.2" - } - }, - "chai-bn": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/chai-bn/-/chai-bn-0.2.2.tgz", - "integrity": "sha512-MzjelH0p8vWn65QKmEq/DLBG1Hle4WeyqT79ANhXZhn/UxRWO0OogkAxi5oGGtfzwU9bZR8mvbvYdoqNVWQwFg==", - "dev": true, - "requires": {} - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "change-case": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.0.2.tgz", - "integrity": "sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA==", - "dev": true, - "requires": { - "camel-case": "^3.0.0", - "constant-case": "^2.0.0", - "dot-case": "^2.1.0", - "header-case": "^1.0.0", - "is-lower-case": "^1.1.0", - "is-upper-case": "^1.1.0", - "lower-case": "^1.1.1", - "lower-case-first": "^1.0.0", - "no-case": "^2.3.2", - "param-case": "^2.1.0", - "pascal-case": "^2.0.0", - "path-case": "^2.1.0", - "sentence-case": "^2.1.0", - "snake-case": "^2.1.0", - "swap-case": "^1.1.0", - "title-case": "^2.1.0", - "upper-case": "^1.1.1", - "upper-case-first": "^1.1.0" - } - }, - "charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", - "dev": true - }, - "check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "requires": { - "get-func-name": "^2.0.2" - } - }, - "cheerio": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.0.tgz", - "integrity": "sha512-+0hMx9eYhJvWbgpKV9hN7jg0JcwydpopZE4hgi+KvQtByZXPp04NiCWU0LzcAbP63abZckIHkTQaXVF52mX3xQ==", - "dev": true, - "requires": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.2.2", - "encoding-sniffer": "^0.2.0", - "htmlparser2": "^10.0.0", - "parse5": "^7.3.0", - "parse5-htmlparser2-tree-adapter": "^7.1.0", - "parse5-parser-stream": "^7.1.2", - "undici": "^7.10.0", - "whatwg-mimetype": "^4.0.0" - } - }, - "cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" - } - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==", - "dev": true, - "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "dev": true, - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "cipher-base": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz", - "integrity": "sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "safe-buffer": "^5.2.1" - } - }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "dev": true - }, - "cli-color": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.4.tgz", - "integrity": "sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==", - "dev": true, - "requires": { - "d": "^1.0.1", - "es5-ext": "^0.10.64", - "es6-iterator": "^2.0.3", - "memoizee": "^0.4.15", - "timers-ext": "^0.1.7" - } - }, - "cli-table": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", - "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", - "dev": true, - "requires": { - "colors": "1.0.3" - }, - "dependencies": { - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", - "dev": true - } - } - }, - "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", - "dev": true, - "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } - } - }, - "clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", - "dev": true - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "component-emitter": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", - "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "constant-case": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", - "integrity": "sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==", - "dev": true, - "requires": { - "snake-case": "^2.1.0", - "upper-case": "^1.1.1" - } - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-hash": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", - "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", - "dev": true, - "requires": { - "cids": "^0.7.1", - "multicodec": "^0.5.5", - "multihashes": "^0.4.15" - } - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "dev": true - }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "convert-svg-core": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/convert-svg-core/-/convert-svg-core-0.6.4.tgz", - "integrity": "sha512-8mS0n7otc1lljTte4z7nDhihEakKCRq4w5ivMnIGeOZuD/OV/eDZNNEgGLV1ET3p+rMbnrZnX4lAcsf14WzD5w==", - "dev": true, - "requires": { - "chalk": "^4.1.2", - "cheerio": "^1.0.0-rc.11", - "commander": "^9.2.0", - "file-url": "^3.0.0", - "get-stdin": "^8.0.0", - "glob": "^8.0.1", - "lodash.omit": "^4.5.0", - "lodash.pick": "^4.4.0", - "pollock": "^0.2.0", - "puppeteer": "^13.7.0", - "tmp": "^0.2.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "convert-svg-to-png": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/convert-svg-to-png/-/convert-svg-to-png-0.6.4.tgz", - "integrity": "sha512-zHNTuVedkyuhMl+f+HMm2L7+TKDYCKFAqAmDqUr0dN7/xtgYe76PPAydjlFzeLbzEpGtEfhaA15q+ejpLaVo3g==", - "dev": true, - "requires": { - "convert-svg-core": "^0.6.4" - } - }, - "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "dev": true - }, - "core-js-compat": { - "version": "3.43.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.43.0.tgz", - "integrity": "sha512-2GML2ZsCc5LR7hZYz4AXmjQw8zuy2T//2QntwdnpuYI7jteT6GVYJL7F6C2C57R7gSYrcqVW3lAALefdbhBLDA==", - "dev": true, - "requires": { - "browserslist": "^4.25.0" - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dev": true, - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "coveralls": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz", - "integrity": "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==", - "dev": true, - "requires": { - "js-yaml": "^3.13.1", - "lcov-parse": "^1.0.0", - "log-driver": "^1.2.7", - "minimist": "^1.2.5", - "request": "^2.88.2" - } - }, - "crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "dev": true - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dev": true, - "requires": { - "node-fetch": "2.6.7" - } - }, - "cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", - "dev": true - }, - "crypto-addr-codec": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/crypto-addr-codec/-/crypto-addr-codec-0.1.8.tgz", - "integrity": "sha512-GqAK90iLLgP3FvhNmHbpT3wR6dEdaM8hZyZtLX29SPardh3OA13RFLHDR6sntGCgRWOfiHqW6sIyohpNqOtV/g==", - "dev": true, - "requires": { - "base-x": "^3.0.8", - "big-integer": "1.6.36", - "blakejs": "^1.1.0", - "bs58": "^4.0.1", - "ripemd160-min": "0.0.6", - "safe-buffer": "^5.2.0", - "sha3": "^2.1.1" - } - }, - "css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true - }, - "d": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", - "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", - "dev": true, - "requires": { - "es5-ext": "^0.10.64", - "type": "^2.7.2" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - } - }, - "data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - } - }, - "data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - } - }, - "death": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", - "integrity": "sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==", - "dev": true - }, - "debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, - "requires": { - "ms": "^2.1.3" - } - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true - }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dev": true, - "requires": { - "mimic-response": "^3.1.0" - }, - "dependencies": { - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "dev": true - } - } - }, - "deep-eql": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", - "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "dev": true - }, - "define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "requires": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - } - }, - "define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "requires": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true - }, - "detect-indent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", - "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==", - "dev": true - }, - "devtools-protocol": { - "version": "0.0.981744", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.981744.tgz", - "integrity": "sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==", - "dev": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "diff-match-patch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz", - "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==", - "dev": true - }, - "difflib": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", - "integrity": "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==", - "dev": true, - "requires": { - "heap": ">= 0.2.0" - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - } - }, - "dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", - "dev": true - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true - }, - "domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0" - } - }, - "domutils": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", - "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", - "dev": true, - "requires": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - } - }, - "dot-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz", - "integrity": "sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.5.169", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.169.tgz", - "integrity": "sha512-q7SQx6mkLy0GTJK9K9OiWeaBMV4XQtBSdf6MJUzDB/H/5tFXfIiX38Lci1Kl6SsgiEhz1SQI1ejEOU5asWEhwQ==", - "dev": true - }, - "elliptic": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", - "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true - }, - "encoding-sniffer": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", - "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", - "dev": true, - "requires": { - "iconv-lite": "^0.6.3", - "whatwg-encoding": "^3.1.1" - } - }, - "end-of-stream": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enquirer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", - "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true - }, - "eol": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz", - "integrity": "sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.24.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", - "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - } - }, - "es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true - }, - "es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true - }, - "es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "requires": { - "es-errors": "^1.3.0" - } - }, - "es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - } - }, - "es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "dev": true, - "requires": { - "hasown": "^2.0.2" - } - }, - "es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "requires": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - } - }, - "es5-ext": { - "version": "0.10.64", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", - "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", - "dev": true, - "requires": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "esniff": "^2.0.1", - "next-tick": "^1.1.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, - "es6-symbol": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", - "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", - "dev": true, - "requires": { - "d": "^1.0.2", - "ext": "^1.7.0" - } - }, - "es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, - "escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==", - "dev": true, - "requires": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.2.0" - }, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", - "dev": true - }, - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "eslint-config-standard": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", - "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", - "dev": true, - "requires": {} - }, - "eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", - "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-es": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", - "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", - "dev": true, - "requires": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "dependencies": { - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "eslint-plugin-import": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", - "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", - "dev": true, - "requires": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.0", - "hasown": "^2.0.2", - "is-core-module": "^2.15.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.0", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.8", - "tsconfig-paths": "^3.15.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "eslint-plugin-mocha-no-only": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha-no-only/-/eslint-plugin-mocha-no-only-1.2.0.tgz", - "integrity": "sha512-sgOilWiikVmYysUvt9q7oUMBYuv/Tka8lQH3766DNxOVqJAKwmP7QqmGYVBiVmqGnn5CDYAo3WWT0F8qw5BDMQ==", - "dev": true, - "requires": { - "requireindex": "~1.1.0" - } - }, - "eslint-plugin-n": { - "version": "15.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", - "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", - "dev": true, - "requires": { - "builtins": "^5.0.1", - "eslint-plugin-es": "^4.1.0", - "eslint-utils": "^3.0.0", - "ignore": "^5.1.1", - "is-core-module": "^2.11.0", - "minimatch": "^3.1.2", - "resolve": "^1.22.1", - "semver": "^7.3.8" - }, - "dependencies": { - "semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true - } - } - }, - "eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dev": true, - "requires": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "dependencies": { - "eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "requires": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "eslint-plugin-promise": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz", - "integrity": "sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==", - "dev": true, - "requires": {} - }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true - }, - "esniff": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", - "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", - "dev": true, - "requires": { - "d": "^1.0.1", - "es5-ext": "^0.10.62", - "event-emitter": "^0.3.5", - "type": "^2.7.2" - } - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true - }, - "eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", - "dev": true, - "requires": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - }, - "dependencies": { - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "dev": true - } - } - }, - "eth-gas-reporter": { - "version": "0.2.27", - "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.27.tgz", - "integrity": "sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==", - "dev": true, - "requires": { - "@solidity-parser/parser": "^0.14.0", - "axios": "^1.5.1", - "cli-table3": "^0.5.0", - "colors": "1.4.0", - "ethereum-cryptography": "^1.0.3", - "ethers": "^5.7.2", - "fs-readdir-recursive": "^1.1.0", - "lodash": "^4.17.14", - "markdown-table": "^1.1.3", - "mocha": "^10.2.0", - "req-cwd": "^2.0.0", - "sha1": "^1.1.1", - "sync-request": "^6.0.0" - }, - "dependencies": { - "ethers": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.8.0.tgz", - "integrity": "sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==", - "dev": true, - "requires": { - "@ethersproject/abi": "5.8.0", - "@ethersproject/abstract-provider": "5.8.0", - "@ethersproject/abstract-signer": "5.8.0", - "@ethersproject/address": "5.8.0", - "@ethersproject/base64": "5.8.0", - "@ethersproject/basex": "5.8.0", - "@ethersproject/bignumber": "5.8.0", - "@ethersproject/bytes": "5.8.0", - "@ethersproject/constants": "5.8.0", - "@ethersproject/contracts": "5.8.0", - "@ethersproject/hash": "5.8.0", - "@ethersproject/hdnode": "5.8.0", - "@ethersproject/json-wallets": "5.8.0", - "@ethersproject/keccak256": "5.8.0", - "@ethersproject/logger": "5.8.0", - "@ethersproject/networks": "5.8.0", - "@ethersproject/pbkdf2": "5.8.0", - "@ethersproject/properties": "5.8.0", - "@ethersproject/providers": "5.8.0", - "@ethersproject/random": "5.8.0", - "@ethersproject/rlp": "5.8.0", - "@ethersproject/sha2": "5.8.0", - "@ethersproject/signing-key": "5.8.0", - "@ethersproject/solidity": "5.8.0", - "@ethersproject/strings": "5.8.0", - "@ethersproject/transactions": "5.8.0", - "@ethersproject/units": "5.8.0", - "@ethersproject/wallet": "5.8.0", - "@ethersproject/web": "5.8.0", - "@ethersproject/wordlists": "5.8.0" - } - } - } - }, - "eth-lib": { - "version": "0.1.29", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", - "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - } - } - }, - "ethereum-bloom-filters": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.2.0.tgz", - "integrity": "sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==", - "dev": true, - "requires": { - "@noble/hashes": "^1.4.0" - }, - "dependencies": { - "@noble/hashes": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", - "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", - "dev": true - } - } - }, - "ethereum-cryptography": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", - "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", - "dev": true, - "requires": { - "@noble/hashes": "1.2.0", - "@noble/secp256k1": "1.7.1", - "@scure/bip32": "1.1.5", - "@scure/bip39": "1.1.1" - } - }, - "ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "dev": true, - "requires": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dev": true, - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - } - } - }, - "ethers": { - "version": "6.14.4", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.14.4.tgz", - "integrity": "sha512-Jm/dzRs2Z9iBrT6e9TvGxyb5YVKAPLlpna7hjxH7KH/++DSh2T/JVmQUv7iHI5E55hDbp/gEVvstWYXVxXFzsA==", - "dev": true, - "peer": true, - "requires": { - "@adraffy/ens-normalize": "1.10.1", - "@noble/curves": "1.2.0", - "@noble/hashes": "1.3.2", - "@types/node": "22.7.5", - "aes-js": "4.0.0-beta.5", - "tslib": "2.7.0", - "ws": "8.17.1" - }, - "dependencies": { - "@noble/hashes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", - "dev": true, - "peer": true - }, - "@types/node": { - "version": "22.7.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", - "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", - "dev": true, - "peer": true, - "requires": { - "undici-types": "~6.19.2" - } - }, - "undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true, - "peer": true - } - } - }, - "ethjs-abi": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ethjs-abi/-/ethjs-abi-0.2.1.tgz", - "integrity": "sha512-g2AULSDYI6nEJyJaEVEXtTimRY2aPC2fi7ddSy0W+LXvEVL8Fe1y76o43ecbgdUKwZD+xsmEgX1yJr1Ia3r1IA==", - "dev": true, - "requires": { - "bn.js": "4.11.6", - "js-sha3": "0.5.5", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", - "dev": true - }, - "js-sha3": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.5.tgz", - "integrity": "sha512-yLLwn44IVeunwjpDVTDZmQeVbB0h+dZpY2eO68B/Zik8hu6dH+rKeLxwua79GGIvW6xr8NBAcrtiUbYrTjEFTA==", - "dev": true - } - } - }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", - "dev": true, - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", - "dev": true - } - } - }, - "ethlint": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/ethlint/-/ethlint-1.2.5.tgz", - "integrity": "sha512-x2nKK98zmd72SFWL3Ul1S6scWYf5QqG221N6/mFNMO661g7ASvTRINGIWVvHzsvflW6y4tvgMSjnTN5RCTuZug==", - "dev": true, - "requires": { - "ajv": "^5.2.2", - "chokidar": "^1.6.0", - "colors": "^1.1.2", - "commander": "^2.9.0", - "diff": "^3.5.0", - "eol": "^0.9.1", - "js-string-escape": "^1.0.1", - "lodash": "^4.14.2", - "sol-digger": "0.0.2", - "sol-explore": "1.6.1", - "solium-plugin-security": "0.1.1", - "solparse": "2.2.8", - "text-table": "^0.2.0" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==", - "dev": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==", - "dev": true - } - } - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", - "dev": true - } - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - } - }, - "express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", - "dev": true, - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dev": true, - "requires": { - "side-channel": "^1.0.6" - } - } - } - }, - "ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dev": true, - "requires": { - "type": "^2.7.2" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", - "dev": true - } - } - }, - "extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dev": true, - "requires": { - "@types/yauzl": "^2.9.1", - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true - }, - "fast-check": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-3.1.1.tgz", - "integrity": "sha512-3vtXinVyuUKCKFKYcwXhGE6NtGWkqF8Yh3rvMZNzmwz8EPrgoc/v4pDdLHyLnCyCI5MZpZZkDEwFyXyEONOxpA==", - "dev": true, - "requires": { - "pure-rand": "^5.0.1" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "dependencies": { - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "requires": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - } - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "fdir": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", - "dev": true, - "requires": {} - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "file-url": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/file-url/-/file-url-3.0.0.tgz", - "integrity": "sha512-g872QGsHexznxkIAdK8UiZRe7SkE6kvylShU4Nsj8NvfvZag7S0QuQ4IgvPDkk75HxgjIVDwycFTDAgIiO4nDA==", - "dev": true - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==", - "dev": true - }, - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true - }, - "follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "dev": true - }, - "for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "requires": { - "is-callable": "^1.2.7" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true - }, - "form-data": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz", - "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" - } - }, - "form-data-encoder": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz", - "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==", - "dev": true - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true - }, - "fp-ts": { - "version": "1.19.3", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dev": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true - }, - "function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true - }, - "get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", - "dev": true - }, - "get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "requires": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - } - }, - "get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true - }, - "get-stdin-promise": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/get-stdin-promise/-/get-stdin-promise-0.1.1.tgz", - "integrity": "sha512-0RgDBFza6edY8WeH/LCXbTJ7g+XuA1S1Ua9Qkd46h6wkzL79W4RVYPTuc4hdzM5EcVl+7U8Xyw3Kr1PI+yJxjg==", - "dev": true, - "requires": { - "get-stdin": "^3.0.2", - "rsvp": "^3.0.14" - }, - "dependencies": { - "get-stdin": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-3.0.2.tgz", - "integrity": "sha512-jpAk+A3NUGL/O4N3pwG1Ld3PDqOxTkuAA/HoVHwutXsqW/qYcc4YSgccFpPlg/qbNhZ33ybFhJjbJqRZhryolQ==", - "dev": true - } - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "ghost-testrpc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz", - "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "node-emoji": "^1.10.0" - } - }, - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==", - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dev": true, - "requires": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "requires": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - } - }, - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - } - } - }, - "gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true - }, - "got": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-12.1.0.tgz", - "integrity": "sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==", - "dev": true, - "requires": { - "@sindresorhus/is": "^4.6.0", - "@szmarczak/http-timer": "^5.0.1", - "@types/cacheable-request": "^6.0.2", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^6.0.4", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "form-data-encoder": "1.7.1", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^2.0.0" - }, - "dependencies": { - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "graphlib": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", - "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "graphlib-dot": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/graphlib-dot/-/graphlib-dot-0.6.4.tgz", - "integrity": "sha512-rdhDTu0mBlloTpFMfkQq+e3y4yL22OqP5MhQbkw6QUURqa+4YLgv3XZy2fA64wdEcJNZ+waI76URemVgdFtzng==", - "dev": true, - "requires": { - "graphlib": "^2.1.8", - "lodash": "^4.17.15" - } - }, - "graphviz": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/graphviz/-/graphviz-0.0.9.tgz", - "integrity": "sha512-SmoY2pOtcikmMCqCSy2NO1YsRfu9OO0wpTlOYW++giGjfX1a6gax/m1Fo8IdUd0/3H15cTOfR1SMKwohj4LKsg==", - "dev": true, - "requires": { - "temp": "~0.4.0" - } - }, - "growl": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", - "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", - "dev": true - }, - "handlebars": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.2", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "hardhat": { - "version": "2.24.3", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.24.3.tgz", - "integrity": "sha512-2dhniQ1wW8/Wh3mP91kKcEnVva93mWYRaYLkV+a0ATkUEKrByGF2P5hCrlNHbqYP//D7L0CGYLtDjPQY6ILaVA==", - "dev": true, - "requires": { - "@ethereumjs/util": "^9.1.0", - "@ethersproject/abi": "^5.1.2", - "@nomicfoundation/edr": "^0.11.1", - "@nomicfoundation/solidity-analyzer": "^0.1.0", - "@sentry/node": "^5.18.1", - "@types/bn.js": "^5.1.0", - "@types/lru-cache": "^5.1.0", - "adm-zip": "^0.4.16", - "aggregate-error": "^3.0.0", - "ansi-escapes": "^4.3.0", - "boxen": "^5.1.2", - "chokidar": "^4.0.0", - "ci-info": "^2.0.0", - "debug": "^4.1.1", - "enquirer": "^2.3.0", - "env-paths": "^2.2.0", - "ethereum-cryptography": "^1.0.3", - "find-up": "^5.0.0", - "fp-ts": "1.19.3", - "fs-extra": "^7.0.1", - "immutable": "^4.0.0-rc.12", - "io-ts": "1.10.4", - "json-stream-stringify": "^3.1.4", - "keccak": "^3.0.2", - "lodash": "^4.17.11", - "micro-eth-signer": "^0.14.0", - "mnemonist": "^0.38.0", - "mocha": "^10.0.0", - "p-map": "^4.0.0", - "picocolors": "^1.1.0", - "raw-body": "^2.4.1", - "resolve": "1.17.0", - "semver": "^6.3.0", - "solc": "0.8.26", - "source-map-support": "^0.5.13", - "stacktrace-parser": "^0.1.10", - "tinyglobby": "^0.2.6", - "tsort": "0.0.1", - "undici": "^5.14.0", - "uuid": "^8.3.2", - "ws": "^7.4.6" - }, - "dependencies": { - "chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "requires": { - "readdirp": "^4.0.1" - } - }, - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "dev": true - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - }, - "solc": { - "version": "0.8.26", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.26.tgz", - "integrity": "sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g==", - "dev": true, - "requires": { - "command-exists": "^1.2.8", - "commander": "^8.1.0", - "follow-redirects": "^1.12.1", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - } - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "undici": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", - "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", - "dev": true, - "requires": { - "@fastify/busboy": "^2.0.0" - } - }, - "ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", - "dev": true, - "requires": {} - } - } - }, - "hardhat-contract-sizer": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/hardhat-contract-sizer/-/hardhat-contract-sizer-2.10.0.tgz", - "integrity": "sha512-QiinUgBD5MqJZJh1hl1jc9dNnpJg7eE/w4/4GEnrcmZJJTDbVFNe3+/3Ep24XqISSkYxRz36czcPHKHd/a0dwA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "cli-table3": "^0.6.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cli-table3": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", - "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", - "dev": true, - "requires": { - "@colors/colors": "1.5.0", - "string-width": "^4.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "hardhat-gas-reporter": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.10.tgz", - "integrity": "sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==", - "dev": true, - "requires": { - "array-uniq": "1.0.3", - "eth-gas-reporter": "^0.2.25", - "sha1": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "requires": { - "es-define-property": "^1.0.0" - } - }, - "has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "requires": { - "dunder-proto": "^1.0.0" - } - }, - "has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.3" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - } - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dev": true, - "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "dependencies": { - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } - }, - "hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "requires": { - "function-bind": "^1.1.2" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "header-case": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz", - "integrity": "sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.3" - } - }, - "heap": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", - "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", - "dev": true - }, - "highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", - "dev": true - }, - "highlightjs-solidity": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/highlightjs-solidity/-/highlightjs-solidity-2.0.6.tgz", - "integrity": "sha512-DySXWfQghjm2l6a/flF+cteroJqD4gI8GSdL4PtvxZSsAHie8m3yVe2JFoRg03ROKT6hp2Lc/BxXkqerNmtQYg==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "htmlparser2": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", - "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.2.1", - "entities": "^6.0.0" - }, - "dependencies": { - "entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "dev": true - } - } - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "dev": true, - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "dev": true - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-https": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", - "integrity": "sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==", - "dev": true - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "dev": true, - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", - "dev": true - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "http2-wrapper": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", - "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", - "dev": true, - "requires": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "dev": true, - "requires": { - "punycode": "2.1.0" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true - }, - "immutable": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", - "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", - "dev": true - }, - "import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", - "dev": true - }, - "io-ts": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", - "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", - "dev": true, - "requires": { - "fp-ts": "^1.0.0" - } - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - }, - "is-accessor-descriptor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", - "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", - "dev": true, - "requires": { - "hasown": "^2.0.0" - } - }, - "is-arguments": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", - "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - } - }, - "is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, - "requires": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - } - }, - "is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "requires": { - "has-bigints": "^1.0.2" - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true - }, - "is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "requires": { - "hasown": "^2.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", - "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", - "dev": true, - "requires": { - "hasown": "^2.0.0" - } - }, - "is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - } - }, - "is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - } - }, - "is-descriptor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", - "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - } - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==", - "dev": true, - "requires": { - "is-primitive": "^2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "requires": { - "call-bound": "^1.0.3" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", - "dev": true - }, - "is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", - "dev": true - }, - "is-lower-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", - "integrity": "sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==", - "dev": true, - "requires": { - "lower-case": "^1.1.0" - } - }, - "is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - } - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - } - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==", - "dev": true - }, - "is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", - "dev": true - }, - "is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - } - }, - "is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "requires": { - "call-bound": "^1.0.3" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - } - }, - "is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - } - }, - "is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "requires": { - "which-typed-array": "^1.1.16" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "is-upper-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", - "integrity": "sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==", - "dev": true, - "requires": { - "upper-case": "^1.1.0" - } - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", - "dev": true - }, - "is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true - }, - "is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "requires": { - "call-bound": "^1.0.3" - } - }, - "is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - } - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true - }, - "js-graph-algorithms": { - "version": "1.0.18", - "resolved": "https://registry.npmjs.org/js-graph-algorithms/-/js-graph-algorithms-1.0.18.tgz", - "integrity": "sha512-Gu1wtWzXBzGeye/j9BuyplGHscwqKRZodp/0M1vyBc19RJpblSwKGu099KwwaTx9cRIV+Qupk8xUMfEiGfFqSA==", - "dev": true - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", - "dev": true - }, - "js-string-escape": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", - "integrity": "sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true - }, - "jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true - }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json-stream-stringify": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/json-stream-stringify/-/json-stream-stringify-3.1.6.tgz", - "integrity": "sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonschema": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.5.0.tgz", - "integrity": "sha512-K+A9hhqbn0f3pJX17Q/7H6yQfD/5OXgdrR5UE12gMXCiN9D5Xq2o5mddV2QEcX/bjla99ASsAAQUyMCCRWAEhw==", - "dev": true - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "keccak": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", - "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", - "dev": true, - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - } - }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "requires": { - "json-buffer": "3.0.1" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "klaw": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-4.1.0.tgz", - "integrity": "sha512-1zGZ9MF9H22UnkpVeuaGKOjfA2t6WrfdrJmGjy16ykcjnKQDmHVX+KI477rpbGevz/5FD4MC3xf1oxylBgcaQw==", - "dev": true - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "lcov-parse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", - "integrity": "sha512-aprLII/vPzuQvYZnDRU78Fns9I2Ag3gi4Ipga/hxnVMCZC8DnR2nI7XBqrPoywGfxqIx/DgarGvDJZAD3YBTgQ==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", - "dev": true - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "dev": true, - "peer": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lodash.omit": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", - "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==", - "dev": true - }, - "lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==", - "dev": true - }, - "log-driver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", - "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dev": true, - "requires": { - "get-func-name": "^2.0.1" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", - "dev": true - }, - "lower-case-first": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", - "integrity": "sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==", - "dev": true, - "requires": { - "lower-case": "^1.1.2" - } - }, - "lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", - "dev": true - }, - "lru_map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "lru-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", - "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", - "dev": true, - "requires": { - "es5-ext": "~0.10.2" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "markdown-table": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", - "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", - "dev": true - }, - "math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true - }, - "math-random": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", - "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", - "dev": true - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha512-nOBDrc/wgpkd3X/JOhMqYR+/eLqlfLP4oQfoBA6QExIxEl+GU01oyEkwWyueyO8110pUKijtiHGhEmYoOn88oQ==", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "memoizee": { - "version": "0.4.17", - "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.17.tgz", - "integrity": "sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==", - "dev": true, - "requires": { - "d": "^1.0.2", - "es5-ext": "^0.10.64", - "es6-weak-map": "^2.0.3", - "event-emitter": "^0.3.5", - "is-promise": "^2.2.2", - "lru-queue": "^0.1.0", - "next-tick": "^1.1.0", - "timers-ext": "^0.1.7" - } - }, - "memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", - "dev": true - }, - "merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "dev": true - }, - "micro-eth-signer": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/micro-eth-signer/-/micro-eth-signer-0.14.0.tgz", - "integrity": "sha512-5PLLzHiVYPWClEvZIXXFu5yutzpadb73rnQCpUqIHu3No3coFuWQNfE5tkBQJ7djuLYl6aRLaS0MgWJYGoqiBw==", - "dev": true, - "requires": { - "@noble/curves": "~1.8.1", - "@noble/hashes": "~1.7.1", - "micro-packed": "~0.7.2" - }, - "dependencies": { - "@noble/curves": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.2.tgz", - "integrity": "sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g==", - "dev": true, - "requires": { - "@noble/hashes": "1.7.2" - } - }, - "@noble/hashes": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.2.tgz", - "integrity": "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ==", - "dev": true - } - } - }, - "micro-ftch": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", - "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==", - "dev": true - }, - "micro-packed": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/micro-packed/-/micro-packed-0.7.3.tgz", - "integrity": "sha512-2Milxs+WNC00TRlem41oRswvw31146GiSaoCT7s3Xi2gMUglW5QBeqlQaZeHr5tJx9nm3i57LNXPqxOOaWtTYg==", - "dev": true, - "requires": { - "@scure/base": "~1.2.5" - }, - "dependencies": { - "@scure/base": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.6.tgz", - "integrity": "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==", - "dev": true - } - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", - "dev": true, - "requires": { - "dom-walk": "^0.1.0" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dev": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "mkdirp-promise": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", - "integrity": "sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==", - "dev": true, - "requires": { - "mkdirp": "*" - } - }, - "mnemonist": { - "version": "0.38.5", - "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", - "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", - "dev": true, - "requires": { - "obliterator": "^2.0.0" - } - }, - "mocha": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", - "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.3", - "browser-stdout": "^1.3.1", - "chokidar": "^3.5.3", - "debug": "^4.3.5", - "diff": "^5.2.0", - "escape-string-regexp": "^4.0.0", - "find-up": "^5.0.0", - "glob": "^8.1.0", - "he": "^1.2.0", - "js-yaml": "^4.1.0", - "log-symbols": "^4.1.0", - "minimatch": "^5.1.6", - "ms": "^2.1.3", - "serialize-javascript": "^6.0.2", - "strip-json-comments": "^3.1.1", - "supports-color": "^8.1.1", - "workerpool": "^6.5.1", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9", - "yargs-unparser": "^2.0.0" - }, - "dependencies": { - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true - }, - "brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "optional": true - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "mock-fs": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", - "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==", - "dev": true - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "dev": true, - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "dev": true, - "requires": { - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "dev": true, - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "nan": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", - "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", - "dev": true, - "optional": true - }, - "nano-base32": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nano-base32/-/nano-base32-1.0.1.tgz", - "integrity": "sha512-sxEtoTqAPdjWVGv71Q17koMFGsOMSiHsIFEvzOM7cNp8BXB4AnEwmDabm5dorusJf/v1z7QxaZYxUorU9RKaAw==", - "dev": true - }, - "nano-json-stream-parser": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", - "integrity": "sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==", - "dev": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", - "dev": true - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", - "dev": true - }, - "node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", - "dev": true, - "requires": { - "lodash": "^4.17.21" - } - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-gyp-build": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", - "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", - "dev": true - }, - "node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true - }, - "nofilter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz", - "integrity": "sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==", - "dev": true - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true - }, - "npm": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.2.tgz", - "integrity": "sha512-iriPEPIkoMYUy3F6f3wwSZAU93E0Eg6cHwIR6jzzOXWSy+SD/rOODEs74cVONHKSx2obXtuUoyidVEhISrisgQ==", - "dev": true, - "requires": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^8.0.0", - "@npmcli/config": "^9.0.0", - "@npmcli/fs": "^4.0.0", - "@npmcli/map-workspaces": "^4.0.2", - "@npmcli/package-json": "^6.1.0", - "@npmcli/promise-spawn": "^8.0.2", - "@npmcli/redact": "^3.0.0", - "@npmcli/run-script": "^9.0.1", - "@sigstore/tuf": "^3.0.0", - "abbrev": "^3.0.0", - "archy": "~1.0.0", - "cacache": "^19.0.1", - "chalk": "^5.3.0", - "ci-info": "^4.1.0", - "cli-columns": "^4.0.0", - "fastest-levenshtein": "^1.0.16", - "fs-minipass": "^3.0.3", - "glob": "^10.4.5", - "graceful-fs": "^4.2.11", - "hosted-git-info": "^8.0.2", - "ini": "^5.0.0", - "init-package-json": "^7.0.2", - "is-cidr": "^5.1.0", - "json-parse-even-better-errors": "^4.0.0", - "libnpmaccess": "^9.0.0", - "libnpmdiff": "^7.0.0", - "libnpmexec": "^9.0.0", - "libnpmfund": "^6.0.0", - "libnpmhook": "^11.0.0", - "libnpmorg": "^7.0.0", - "libnpmpack": "^8.0.0", - "libnpmpublish": "^10.0.1", - "libnpmsearch": "^8.0.0", - "libnpmteam": "^7.0.0", - "libnpmversion": "^7.0.0", - "make-fetch-happen": "^14.0.3", - "minimatch": "^9.0.5", - "minipass": "^7.1.1", - "minipass-pipeline": "^1.2.4", - "ms": "^2.1.2", - "node-gyp": "^11.0.0", - "nopt": "^8.0.0", - "normalize-package-data": "^7.0.0", - "npm-audit-report": "^6.0.0", - "npm-install-checks": "^7.1.1", - "npm-package-arg": "^12.0.0", - "npm-pick-manifest": "^10.0.0", - "npm-profile": "^11.0.1", - "npm-registry-fetch": "^18.0.2", - "npm-user-validate": "^3.0.0", - "p-map": "^4.0.0", - "pacote": "^19.0.1", - "parse-conflict-json": "^4.0.0", - "proc-log": "^5.0.0", - "qrcode-terminal": "^0.12.0", - "read": "^4.0.0", - "semver": "^7.6.3", - "spdx-expression-parse": "^4.0.0", - "ssri": "^12.0.0", - "supports-color": "^9.4.0", - "tar": "^6.2.1", - "text-table": "~0.2.0", - "tiny-relative-date": "^1.3.0", - "treeverse": "^3.0.0", - "validate-npm-package-name": "^6.0.0", - "which": "^5.0.0", - "write-file-atomic": "^6.0.0" - }, - "dependencies": { - "@isaacs/cliui": { - "version": "8.0.2", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.1.0", - "bundled": true, - "dev": true - }, - "emoji-regex": { - "version": "9.2.2", - "bundled": true, - "dev": true - }, - "string-width": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.1.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "@isaacs/fs-minipass": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^7.0.4" - } - }, - "@isaacs/string-locale-compare": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "@npmcli/agent": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - } - }, - "@npmcli/arborist": { - "version": "8.0.0", - "bundled": true, - "dev": true, - "requires": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/fs": "^4.0.0", - "@npmcli/installed-package-contents": "^3.0.0", - "@npmcli/map-workspaces": "^4.0.1", - "@npmcli/metavuln-calculator": "^8.0.0", - "@npmcli/name-from-folder": "^3.0.0", - "@npmcli/node-gyp": "^4.0.0", - "@npmcli/package-json": "^6.0.1", - "@npmcli/query": "^4.0.0", - "@npmcli/redact": "^3.0.0", - "@npmcli/run-script": "^9.0.1", - "bin-links": "^5.0.0", - "cacache": "^19.0.1", - "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^8.0.0", - "json-parse-even-better-errors": "^4.0.0", - "json-stringify-nice": "^1.1.4", - "lru-cache": "^10.2.2", - "minimatch": "^9.0.4", - "nopt": "^8.0.0", - "npm-install-checks": "^7.1.0", - "npm-package-arg": "^12.0.0", - "npm-pick-manifest": "^10.0.0", - "npm-registry-fetch": "^18.0.1", - "pacote": "^19.0.0", - "parse-conflict-json": "^4.0.0", - "proc-log": "^5.0.0", - "proggy": "^3.0.0", - "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^3.0.1", - "read-package-json-fast": "^4.0.0", - "semver": "^7.3.7", - "ssri": "^12.0.0", - "treeverse": "^3.0.0", - "walk-up-path": "^3.0.1" - } - }, - "@npmcli/config": { - "version": "9.0.0", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/map-workspaces": "^4.0.1", - "@npmcli/package-json": "^6.0.1", - "ci-info": "^4.0.0", - "ini": "^5.0.0", - "nopt": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "walk-up-path": "^3.0.1" - } - }, - "@npmcli/fs": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "semver": "^7.3.5" - } - }, - "@npmcli/git": { - "version": "6.0.1", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/promise-spawn": "^8.0.0", - "ini": "^5.0.0", - "lru-cache": "^10.0.1", - "npm-pick-manifest": "^10.0.0", - "proc-log": "^5.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^5.0.0" - } - }, - "@npmcli/installed-package-contents": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "npm-bundled": "^4.0.0", - "npm-normalize-package-bin": "^4.0.0" - } - }, - "@npmcli/map-workspaces": { - "version": "4.0.2", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/name-from-folder": "^3.0.0", - "@npmcli/package-json": "^6.0.0", - "glob": "^10.2.2", - "minimatch": "^9.0.0" - } - }, - "@npmcli/metavuln-calculator": { - "version": "8.0.1", - "bundled": true, - "dev": true, - "requires": { - "cacache": "^19.0.0", - "json-parse-even-better-errors": "^4.0.0", - "pacote": "^20.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5" - }, - "dependencies": { - "pacote": { - "version": "20.0.0", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/git": "^6.0.0", - "@npmcli/installed-package-contents": "^3.0.0", - "@npmcli/package-json": "^6.0.0", - "@npmcli/promise-spawn": "^8.0.0", - "@npmcli/run-script": "^9.0.0", - "cacache": "^19.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^12.0.0", - "npm-packlist": "^9.0.0", - "npm-pick-manifest": "^10.0.0", - "npm-registry-fetch": "^18.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "sigstore": "^3.0.0", - "ssri": "^12.0.0", - "tar": "^6.1.11" - } - } - } - }, - "@npmcli/name-from-folder": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "@npmcli/node-gyp": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "@npmcli/package-json": { - "version": "6.1.0", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/git": "^6.0.0", - "glob": "^10.2.2", - "hosted-git-info": "^8.0.0", - "json-parse-even-better-errors": "^4.0.0", - "normalize-package-data": "^7.0.0", - "proc-log": "^5.0.0", - "semver": "^7.5.3" - } - }, - "@npmcli/promise-spawn": { - "version": "8.0.2", - "bundled": true, - "dev": true, - "requires": { - "which": "^5.0.0" - } - }, - "@npmcli/query": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "postcss-selector-parser": "^6.1.2" - } - }, - "@npmcli/redact": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "@npmcli/run-script": { - "version": "9.0.2", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/node-gyp": "^4.0.0", - "@npmcli/package-json": "^6.0.0", - "@npmcli/promise-spawn": "^8.0.0", - "node-gyp": "^11.0.0", - "proc-log": "^5.0.0", - "which": "^5.0.0" - } - }, - "@pkgjs/parseargs": { - "version": "0.11.0", - "bundled": true, - "dev": true, - "optional": true - }, - "@sigstore/protobuf-specs": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "@sigstore/tuf": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "@sigstore/protobuf-specs": "^0.3.2", - "tuf-js": "^3.0.1" - } - }, - "@tufjs/canonical-json": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "abbrev": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "agent-base": { - "version": "7.1.1", - "bundled": true, - "dev": true, - "requires": { - "debug": "^4.3.4" - } - }, - "aggregate-error": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ansi-regex": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "ansi-styles": { - "version": "6.2.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "archy": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "bin-links": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "cmd-shim": "^7.0.0", - "npm-normalize-package-bin": "^4.0.0", - "proc-log": "^5.0.0", - "read-cmd-shim": "^5.0.0", - "write-file-atomic": "^6.0.0" - } - }, - "binary-extensions": { - "version": "2.3.0", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "cacache": { - "version": "19.0.1", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/fs": "^4.0.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^7.0.2", - "ssri": "^12.0.0", - "tar": "^7.4.3", - "unique-filename": "^4.0.0" - }, - "dependencies": { - "chownr": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "minizlib": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" - } - }, - "mkdirp": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "p-map": { - "version": "7.0.2", - "bundled": true, - "dev": true - }, - "tar": { - "version": "7.4.3", - "bundled": true, - "dev": true, - "requires": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" - } - }, - "yallist": { - "version": "5.0.0", - "bundled": true, - "dev": true - } - } - }, - "chalk": { - "version": "5.3.0", - "bundled": true, - "dev": true - }, - "chownr": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "ci-info": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, - "cidr-regex": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "requires": { - "ip-regex": "^5.0.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "bundled": true, - "dev": true - }, - "cli-columns": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - } - }, - "cmd-shim": { - "version": "7.0.0", - "bundled": true, - "dev": true - }, - "color-convert": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "bundled": true, - "dev": true - }, - "common-ancestor-path": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "cross-spawn": { - "version": "7.0.6", - "bundled": true, - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "dependencies": { - "which": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "cssesc": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "debug": { - "version": "4.3.7", - "bundled": true, - "dev": true, - "requires": { - "ms": "^2.1.3" - } - }, - "diff": { - "version": "5.2.0", - "bundled": true, - "dev": true - }, - "eastasianwidth": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "bundled": true, - "dev": true - }, - "encoding": { - "version": "0.1.13", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "iconv-lite": "^0.6.2" - } - }, - "env-paths": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "err-code": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "exponential-backoff": { - "version": "3.1.1", - "bundled": true, - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.16", - "bundled": true, - "dev": true - }, - "foreground-child": { - "version": "3.3.0", - "bundled": true, - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - } - }, - "fs-minipass": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^7.0.3" - } - }, - "glob": { - "version": "10.4.5", - "bundled": true, - "dev": true, - "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - } - }, - "graceful-fs": { - "version": "4.2.11", - "bundled": true, - "dev": true - }, - "hosted-git-info": { - "version": "8.0.2", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "^10.0.1" - } - }, - "http-cache-semantics": { - "version": "4.1.1", - "bundled": true, - "dev": true - }, - "http-proxy-agent": { - "version": "7.0.2", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - } - }, - "https-proxy-agent": { - "version": "7.0.5", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "^7.0.2", - "debug": "4" - } - }, - "iconv-lite": { - "version": "0.6.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "ignore-walk": { - "version": "7.0.0", - "bundled": true, - "dev": true, - "requires": { - "minimatch": "^9.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "ini": { - "version": "5.0.0", - "bundled": true, - "dev": true - }, - "init-package-json": { - "version": "7.0.2", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/package-json": "^6.0.0", - "npm-package-arg": "^12.0.0", - "promzard": "^2.0.0", - "read": "^4.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^6.0.0" - } - }, - "ip-address": { - "version": "9.0.5", - "bundled": true, - "dev": true, - "requires": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - } - }, - "ip-regex": { - "version": "5.0.0", - "bundled": true, - "dev": true - }, - "is-cidr": { - "version": "5.1.0", - "bundled": true, - "dev": true, - "requires": { - "cidr-regex": "^4.1.1" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "isexe": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "jackspeak": { - "version": "3.4.3", - "bundled": true, - "dev": true, - "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" - } - }, - "jsbn": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "json-parse-even-better-errors": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "json-stringify-nice": { - "version": "1.1.4", - "bundled": true, - "dev": true - }, - "jsonparse": { - "version": "1.3.1", - "bundled": true, - "dev": true - }, - "just-diff": { - "version": "6.0.2", - "bundled": true, - "dev": true - }, - "just-diff-apply": { - "version": "5.5.0", - "bundled": true, - "dev": true - }, - "libnpmaccess": { - "version": "9.0.0", - "bundled": true, - "dev": true, - "requires": { - "npm-package-arg": "^12.0.0", - "npm-registry-fetch": "^18.0.1" - } - }, - "libnpmdiff": { - "version": "7.0.0", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/arborist": "^8.0.0", - "@npmcli/installed-package-contents": "^3.0.0", - "binary-extensions": "^2.3.0", - "diff": "^5.1.0", - "minimatch": "^9.0.4", - "npm-package-arg": "^12.0.0", - "pacote": "^19.0.0", - "tar": "^6.2.1" - } - }, - "libnpmexec": { - "version": "9.0.0", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/arborist": "^8.0.0", - "@npmcli/run-script": "^9.0.1", - "ci-info": "^4.0.0", - "npm-package-arg": "^12.0.0", - "pacote": "^19.0.0", - "proc-log": "^5.0.0", - "read": "^4.0.0", - "read-package-json-fast": "^4.0.0", - "semver": "^7.3.7", - "walk-up-path": "^3.0.1" - } - }, - "libnpmfund": { - "version": "6.0.0", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/arborist": "^8.0.0" - } - }, - "libnpmhook": { - "version": "11.0.0", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^2.0.0", - "npm-registry-fetch": "^18.0.1" - } - }, - "libnpmorg": { - "version": "7.0.0", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^2.0.0", - "npm-registry-fetch": "^18.0.1" - } - }, - "libnpmpack": { - "version": "8.0.0", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/arborist": "^8.0.0", - "@npmcli/run-script": "^9.0.1", - "npm-package-arg": "^12.0.0", - "pacote": "^19.0.0" - } - }, - "libnpmpublish": { - "version": "10.0.1", - "bundled": true, - "dev": true, - "requires": { - "ci-info": "^4.0.0", - "normalize-package-data": "^7.0.0", - "npm-package-arg": "^12.0.0", - "npm-registry-fetch": "^18.0.1", - "proc-log": "^5.0.0", - "semver": "^7.3.7", - "sigstore": "^3.0.0", - "ssri": "^12.0.0" - } - }, - "libnpmsearch": { - "version": "8.0.0", - "bundled": true, - "dev": true, - "requires": { - "npm-registry-fetch": "^18.0.1" - } - }, - "libnpmteam": { - "version": "7.0.0", - "bundled": true, - "dev": true, - "requires": { - "aproba": "^2.0.0", - "npm-registry-fetch": "^18.0.1" - } - }, - "libnpmversion": { - "version": "7.0.0", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/git": "^6.0.1", - "@npmcli/run-script": "^9.0.1", - "json-parse-even-better-errors": "^4.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.7" - } - }, - "lru-cache": { - "version": "10.4.3", - "bundled": true, - "dev": true - }, - "make-fetch-happen": { - "version": "14.0.3", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/agent": "^3.0.0", - "cacache": "^19.0.1", - "http-cache-semantics": "^4.1.1", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^1.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "ssri": "^12.0.0" - }, - "dependencies": { - "negotiator": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "minimatch": { - "version": "9.0.5", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minipass": { - "version": "7.1.2", - "bundled": true, - "dev": true - }, - "minipass-collect": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^7.0.3" - } - }, - "minipass-fetch": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "encoding": "^0.1.13", - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^3.0.1" - }, - "dependencies": { - "minizlib": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" - } - } - } - }, - "minipass-flush": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "bundled": true, - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "bundled": true, - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minipass-sized": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "bundled": true, - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minizlib": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "bundled": true, - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "mkdirp": { - "version": "1.0.4", - "bundled": true, - "dev": true - }, - "ms": { - "version": "2.1.3", - "bundled": true, - "dev": true - }, - "mute-stream": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "node-gyp": { - "version": "11.0.0", - "bundled": true, - "dev": true, - "requires": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^10.3.10", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^14.0.3", - "nopt": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "tar": "^7.4.3", - "which": "^5.0.0" - }, - "dependencies": { - "chownr": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "minizlib": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" - } - }, - "mkdirp": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "tar": { - "version": "7.4.3", - "bundled": true, - "dev": true, - "requires": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" - } - }, - "yallist": { - "version": "5.0.0", - "bundled": true, - "dev": true - } - } - }, - "nopt": { - "version": "8.0.0", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "^2.0.0" - }, - "dependencies": { - "abbrev": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "normalize-package-data": { - "version": "7.0.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "^8.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - } - }, - "npm-audit-report": { - "version": "6.0.0", - "bundled": true, - "dev": true - }, - "npm-bundled": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "npm-normalize-package-bin": "^4.0.0" - } - }, - "npm-install-checks": { - "version": "7.1.1", - "bundled": true, - "dev": true, - "requires": { - "semver": "^7.1.1" - } - }, - "npm-normalize-package-bin": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "npm-package-arg": { - "version": "12.0.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^6.0.0" - } - }, - "npm-packlist": { - "version": "9.0.0", - "bundled": true, - "dev": true, - "requires": { - "ignore-walk": "^7.0.0" - } - }, - "npm-pick-manifest": { - "version": "10.0.0", - "bundled": true, - "dev": true, - "requires": { - "npm-install-checks": "^7.1.0", - "npm-normalize-package-bin": "^4.0.0", - "npm-package-arg": "^12.0.0", - "semver": "^7.3.5" - } - }, - "npm-profile": { - "version": "11.0.1", - "bundled": true, - "dev": true, - "requires": { - "npm-registry-fetch": "^18.0.0", - "proc-log": "^5.0.0" - } - }, - "npm-registry-fetch": { - "version": "18.0.2", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/redact": "^3.0.0", - "jsonparse": "^1.3.1", - "make-fetch-happen": "^14.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minizlib": "^3.0.1", - "npm-package-arg": "^12.0.0", - "proc-log": "^5.0.0" - }, - "dependencies": { - "minizlib": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" - } - } - } - }, - "npm-user-validate": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "p-map": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "package-json-from-dist": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "pacote": { - "version": "19.0.1", - "bundled": true, - "dev": true, - "requires": { - "@npmcli/git": "^6.0.0", - "@npmcli/installed-package-contents": "^3.0.0", - "@npmcli/package-json": "^6.0.0", - "@npmcli/promise-spawn": "^8.0.0", - "@npmcli/run-script": "^9.0.0", - "cacache": "^19.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^12.0.0", - "npm-packlist": "^9.0.0", - "npm-pick-manifest": "^10.0.0", - "npm-registry-fetch": "^18.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "sigstore": "^3.0.0", - "ssri": "^12.0.0", - "tar": "^6.1.11" - } - }, - "parse-conflict-json": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "json-parse-even-better-errors": "^4.0.0", - "just-diff": "^6.0.0", - "just-diff-apply": "^5.2.0" - } - }, - "path-key": { - "version": "3.1.1", - "bundled": true, - "dev": true - }, - "path-scurry": { - "version": "1.11.1", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - } - }, - "postcss-selector-parser": { - "version": "6.1.2", - "bundled": true, - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "proc-log": { - "version": "5.0.0", - "bundled": true, - "dev": true - }, - "proggy": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "promise-all-reject-late": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "promise-call-limit": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "promise-retry": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - } - }, - "promzard": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "read": "^4.0.0" - } - }, - "qrcode-terminal": { - "version": "0.12.0", - "bundled": true, - "dev": true - }, - "read": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "mute-stream": "^2.0.0" - } - }, - "read-cmd-shim": { - "version": "5.0.0", - "bundled": true, - "dev": true - }, - "read-package-json-fast": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "json-parse-even-better-errors": "^4.0.0", - "npm-normalize-package-bin": "^4.0.0" - } - }, - "retry": { - "version": "0.12.0", - "bundled": true, - "dev": true - }, - "rimraf": { - "version": "5.0.10", - "bundled": true, - "dev": true, - "requires": { - "glob": "^10.3.7" - } - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "7.6.3", - "bundled": true, - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "signal-exit": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, - "sigstore": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "@sigstore/bundle": "^3.0.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "@sigstore/sign": "^3.0.0", - "@sigstore/tuf": "^3.0.0", - "@sigstore/verify": "^2.0.0" - }, - "dependencies": { - "@sigstore/bundle": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "@sigstore/protobuf-specs": "^0.3.2" - } - }, - "@sigstore/core": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "@sigstore/sign": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "@sigstore/bundle": "^3.0.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "make-fetch-happen": "^14.0.1", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1" - } - }, - "@sigstore/verify": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "@sigstore/bundle": "^3.0.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.3.2" - } - } - } - }, - "smart-buffer": { - "version": "4.2.0", - "bundled": true, - "dev": true - }, - "socks": { - "version": "2.8.3", - "bundled": true, - "dev": true, - "requires": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - } - }, - "socks-proxy-agent": { - "version": "8.0.4", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "^7.1.1", - "debug": "^4.3.4", - "socks": "^2.8.3" - } - }, - "spdx-correct": { - "version": "3.2.0", - "bundled": true, - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - }, - "dependencies": { - "spdx-expression-parse": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - } - } - }, - "spdx-exceptions": { - "version": "2.5.0", - "bundled": true, - "dev": true - }, - "spdx-expression-parse": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.20", - "bundled": true, - "dev": true - }, - "sprintf-js": { - "version": "1.1.3", - "bundled": true, - "dev": true - }, - "ssri": { - "version": "12.0.0", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^7.0.3" - } - }, - "string-width": { - "version": "4.2.3", - "bundled": true, - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string-width-cjs": { - "version": "npm:string-width@4.2.3", - "bundled": true, - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-ansi-cjs": { - "version": "npm:strip-ansi@6.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "9.4.0", - "bundled": true, - "dev": true - }, - "tar": { - "version": "6.2.1", - "bundled": true, - "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "fs-minipass": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "bundled": true, - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minipass": { - "version": "5.0.0", - "bundled": true, - "dev": true - } - } - }, - "text-table": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "tiny-relative-date": { - "version": "1.3.0", - "bundled": true, - "dev": true - }, - "treeverse": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "tuf-js": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "@tufjs/models": "3.0.1", - "debug": "^4.3.6", - "make-fetch-happen": "^14.0.1" - }, - "dependencies": { - "@tufjs/models": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.5" - } - } - } - }, - "unique-filename": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "unique-slug": "^5.0.0" - } - }, - "unique-slug": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - }, - "dependencies": { - "spdx-expression-parse": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - } - } - }, - "validate-npm-package-name": { - "version": "6.0.0", - "bundled": true, - "dev": true - }, - "walk-up-path": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "which": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "isexe": "^3.1.1" - }, - "dependencies": { - "isexe": { - "version": "3.1.1", - "bundled": true, - "dev": true - } - } - }, - "wrap-ansi": { - "version": "8.1.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.1.0", - "bundled": true, - "dev": true - }, - "emoji-regex": { - "version": "9.2.2", - "bundled": true, - "dev": true - }, - "string-width": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.1.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "wrap-ansi-cjs": { - "version": "npm:wrap-ansi@7.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "bundled": true, - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - } - } - }, - "write-file-atomic": { - "version": "6.0.0", - "bundled": true, - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - } - }, - "yallist": { - "version": "4.0.0", - "bundled": true, - "dev": true - } - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dev": true, - "requires": { - "path-key": "^2.0.0" - }, - "dependencies": { - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true - } - } - }, - "nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "requires": { - "boolbase": "^1.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "dev": true - }, - "number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", - "dev": true, - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", - "dev": true - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - } - } - } - }, - "object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dev": true, - "requires": { - "isobject": "^3.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - } - } - }, - "object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - } - }, - "object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - } - }, - "object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - } - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==", - "dev": true, - "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - } - } - }, - "object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - } - }, - "obliterator": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.5.tgz", - "integrity": "sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw==", - "dev": true - }, - "oboe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", - "integrity": "sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==", - "dev": true, - "requires": { - "http-https": "^1.0.0" - } - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - } - }, - "ordinal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ordinal/-/ordinal-1.0.3.tgz", - "integrity": "sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ==", - "dev": true - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true - }, - "own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - } - }, - "p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==", - "dev": true - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==", - "dev": true, - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "parse-headers": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.6.tgz", - "integrity": "sha512-Tz11t3uKztEW5FEVZnj1ox8GKblWn+PvHY9TmJV5Mll2uHEwRdR/5Li1OlXoECjLYkApdhWy44ocONwXLiKO5A==", - "dev": true - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", - "dev": true, - "requires": { - "entities": "^6.0.0" - }, - "dependencies": { - "entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "dev": true - } - } - }, - "parse5-htmlparser2-tree-adapter": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", - "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", - "dev": true, - "requires": { - "domhandler": "^5.0.3", - "parse5": "^7.0.0" - } - }, - "parse5-parser-stream": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", - "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", - "dev": true, - "requires": { - "parse5": "^7.0.0" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascal-case": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz", - "integrity": "sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==", - "dev": true, - "requires": { - "camel-case": "^3.0.0", - "upper-case-first": "^1.1.0" - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "dev": true - }, - "path-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz", - "integrity": "sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "pegjs": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz", - "integrity": "sha512-qI5+oFNEGi3L5HAxDwN2LA4Gg7irF70Zs25edhjld9QemOgp0CbvMtbFcMvFtEo1OityPrcCzkQFB8JP/hxgow==", - "dev": true - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true - }, - "picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true - }, - "picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "pollock": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/pollock/-/pollock-0.2.1.tgz", - "integrity": "sha512-2Xy6LImSXm0ANKv9BKSVuCa6Z4ACbK7oUrl9gtUgqLkekL7n9C0mlWsOGYYuGbCG8xT0x3Q4F31C3ZMyVQjwsg==", - "dev": true - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "dev": true - }, - "possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==", - "dev": true - }, - "prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "dev": true - }, - "prettier-plugin-solidity": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.4.1.tgz", - "integrity": "sha512-Mq8EtfacVZ/0+uDKTtHZGW3Aa7vEbX/BNx63hmVg6YTiTXSiuKP0amj0G6pGwjmLaOfymWh3QgXEZkjQbU8QRg==", - "dev": true, - "requires": { - "@solidity-parser/parser": "^0.18.0", - "semver": "^7.5.4" - }, - "dependencies": { - "@solidity-parser/parser": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.18.0.tgz", - "integrity": "sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==", - "dev": true - }, - "semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true - } - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "dev": true, - "requires": { - "asap": "~2.0.6" - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", - "dev": true - }, - "psl": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", - "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", - "dev": true, - "requires": { - "punycode": "^2.3.1" - }, - "dependencies": { - "punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true - } - } - }, - "pump": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", - "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==", - "dev": true - }, - "puppeteer": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-13.7.0.tgz", - "integrity": "sha512-U1uufzBjz3+PkpCxFrWzh4OrMIdIb2ztzCu0YEPfRHjHswcSwHZswnK+WdsOQJsRV8WeTg3jLhJR4D867+fjsA==", - "dev": true, - "requires": { - "cross-fetch": "3.1.5", - "debug": "4.3.4", - "devtools-protocol": "0.0.981744", - "extract-zip": "2.0.1", - "https-proxy-agent": "5.0.1", - "pkg-dir": "4.2.0", - "progress": "2.0.3", - "proxy-from-env": "1.1.0", - "rimraf": "3.0.2", - "tar-fs": "2.1.1", - "unbzip2-stream": "1.4.3", - "ws": "8.5.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "dev": true, - "requires": {} - } - } - }, - "pure-rand": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-5.0.5.tgz", - "integrity": "sha512-BwQpbqxSCBJVpamI6ydzcKqyFmnd5msMWUGvzXLm1aXvusbbgkbOto/EUPM00hjveJEaJtdbhUjKSzWRhQVkaw==", - "dev": true - }, - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true - }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dev": true, - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true - }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", - "dev": true, - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "dependencies": { - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - } - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "dev": true, - "requires": { - "minimatch": "^3.0.5" - } - }, - "reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", - "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "^0.1.3" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "regexpu-core": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", - "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.0", - "regjsgen": "^0.8.0", - "regjsparser": "^0.12.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - } - }, - "regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", - "dev": true - }, - "regjsparser": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", - "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", - "dev": true, - "requires": { - "jsesc": "~3.0.2" - }, - "dependencies": { - "jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "dev": true - } - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true - }, - "req-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", - "integrity": "sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==", - "dev": true, - "requires": { - "req-from": "^2.0.0" - } - }, - "req-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", - "integrity": "sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "dev": true - } - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q==", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", - "dev": true - }, - "requireindex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.1.0.tgz", - "integrity": "sha512-LBnkqsDE7BZKvqylbmn7lTIVdpx4K/QCduRATpO5R+wtPmky/a8pN1bO2D6wXppn1497AJF9mNjqAXr6bdl9jg==", - "dev": true - }, - "resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "dev": true, - "requires": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "dev": true - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "dev": true - }, - "responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "dev": true, - "requires": { - "lowercase-keys": "^2.0.0" - }, - "dependencies": { - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - } - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "ripemd160-min": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/ripemd160-min/-/ripemd160-min-0.0.6.tgz", - "integrity": "sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A==", - "dev": true - }, - "rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "dev": true, - "requires": { - "bn.js": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - } - } - }, - "rsvp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", - "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", - "dev": true - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } - } - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sc-istanbul": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", - "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", - "dev": true, - "requires": { - "abbrev": "1.0.x", - "async": "1.x", - "escodegen": "1.8.x", - "esprima": "2.7.x", - "glob": "^5.0.15", - "handlebars": "^4.0.1", - "js-yaml": "3.x", - "mkdirp": "0.5.x", - "nopt": "3.x", - "once": "1.x", - "resolve": "1.1.x", - "supports-color": "^3.1.0", - "which": "^1.1.1", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==", - "dev": true - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", - "dev": true - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", - "dev": true - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", - "dev": true - }, - "secp256k1": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.4.tgz", - "integrity": "sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw==", - "dev": true, - "requires": { - "elliptic": "^6.5.7", - "node-addon-api": "^5.0.0", - "node-gyp-build": "^4.2.0" - }, - "dependencies": { - "node-addon-api": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", - "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", - "dev": true - } - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - }, - "send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true - } - } - }, - "sentence-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz", - "integrity": "sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case-first": "^1.1.2" - } - }, - "serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", - "dev": true, - "requires": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" - } - }, - "servify": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", - "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", - "dev": true, - "requires": { - "body-parser": "^1.16.0", - "cors": "^2.8.1", - "express": "^4.14.0", - "request": "^2.79.0", - "xhr": "^2.3.3" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "requires": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - } - }, - "set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "requires": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - } - }, - "set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "requires": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - } - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "sha1": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", - "integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==", - "dev": true, - "requires": { - "charenc": ">= 0.0.1", - "crypt": ">= 0.0.1" - } - }, - "sha1-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/sha1-file/-/sha1-file-2.0.1.tgz", - "integrity": "sha512-L4Kum9Lp8cWqcGKycZcXxR6spUoG4idDIUzAKjPiELnIZWxiFlZ5HFVzFxVxuWuGPsrraeL0JoGk0nFZ7AGFEQ==", - "dev": true, - "requires": { - "hasha": "^5.2.0" - } - }, - "sha3": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/sha3/-/sha3-2.1.4.tgz", - "integrity": "sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg==", - "dev": true, - "requires": { - "buffer": "6.0.3" - }, - "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - } - } - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - } - }, - "side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - } - }, - "side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - } - }, - "side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true - }, - "simple-get": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", - "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", - "dev": true, - "requires": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - }, - "dependencies": { - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - } - } - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "sloc": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/sloc/-/sloc-0.3.2.tgz", - "integrity": "sha512-tnB+gi6TiFpt3qmCGfaV+78dfKwLiH5HRohkW+PnJYHNAcEdk408uxWG+F/3pu4w1eyCO2NC5CpZKuiyMac5GQ==", - "dev": true, - "requires": { - "async": "^3.2.4", - "cli-table": "^0.3.11", - "commander": "^11.0.0", - "readdirp": "^3.3.0" - }, - "dependencies": { - "commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - } - } - }, - "snake-case": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", - "integrity": "sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - } - }, - "sol-digger": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/sol-digger/-/sol-digger-0.0.2.tgz", - "integrity": "sha512-oqrw1E/X2WWYUYCzKDM5INDDH2nWOWos4p2Cw2OF52qoZcTDzlKMJQ5pJFXKOCADCg6KggBO5WYE/vNb+kJ0Hg==", - "dev": true - }, - "sol-explore": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/sol-explore/-/sol-explore-1.6.1.tgz", - "integrity": "sha512-cmwg7l+QLj2LE3Qvwrdo4aPYcNYY425+bN5VPkgCjkO0CiSz33G5vM5BmMZNrfd/6yNGwcm0KtwDJmh5lUElEQ==", - "dev": true - }, - "sol2uml": { - "version": "2.5.22", - "resolved": "https://registry.npmjs.org/sol2uml/-/sol2uml-2.5.22.tgz", - "integrity": "sha512-0Hy2dNwVUKUCRnqkl82oGlW2ygngvFwonSRiqUTA8K6Li0E8ly6tU1jzwfx4863cinwpskOwXCnghP+g3A96Ug==", - "dev": true, - "requires": { - "@aduh95/viz.js": "^3.7.0", - "@solidity-parser/parser": "^0.20.1", - "axios": "^1.10.0", - "axios-debug-log": "^1.0.0", - "cli-color": "^2.0.4", - "commander": "^12.1.0", - "convert-svg-to-png": "^0.6.4", - "debug": "^4.4.1", - "diff-match-patch": "^1.0.5", - "ethers": "^5.8.0", - "js-graph-algorithms": "^1.0.18", - "klaw": "^4.1.0" - }, - "dependencies": { - "@solidity-parser/parser": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.20.1.tgz", - "integrity": "sha512-58I2sRpzaQUN+jJmWbHfbWf9AKfzqCI8JAdFB0vbyY+u8tBRcuTt9LxzasvR0LGQpcRv97eyV7l61FQ3Ib7zVw==", - "dev": true - }, - "commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", - "dev": true - }, - "ethers": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.8.0.tgz", - "integrity": "sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==", - "dev": true, - "requires": { - "@ethersproject/abi": "5.8.0", - "@ethersproject/abstract-provider": "5.8.0", - "@ethersproject/abstract-signer": "5.8.0", - "@ethersproject/address": "5.8.0", - "@ethersproject/base64": "5.8.0", - "@ethersproject/basex": "5.8.0", - "@ethersproject/bignumber": "5.8.0", - "@ethersproject/bytes": "5.8.0", - "@ethersproject/constants": "5.8.0", - "@ethersproject/contracts": "5.8.0", - "@ethersproject/hash": "5.8.0", - "@ethersproject/hdnode": "5.8.0", - "@ethersproject/json-wallets": "5.8.0", - "@ethersproject/keccak256": "5.8.0", - "@ethersproject/logger": "5.8.0", - "@ethersproject/networks": "5.8.0", - "@ethersproject/pbkdf2": "5.8.0", - "@ethersproject/properties": "5.8.0", - "@ethersproject/providers": "5.8.0", - "@ethersproject/random": "5.8.0", - "@ethersproject/rlp": "5.8.0", - "@ethersproject/sha2": "5.8.0", - "@ethersproject/signing-key": "5.8.0", - "@ethersproject/solidity": "5.8.0", - "@ethersproject/strings": "5.8.0", - "@ethersproject/transactions": "5.8.0", - "@ethersproject/units": "5.8.0", - "@ethersproject/wallet": "5.8.0", - "@ethersproject/web": "5.8.0", - "@ethersproject/wordlists": "5.8.0" - } - } - } - }, - "solc": { - "version": "0.8.30", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.30.tgz", - "integrity": "sha512-9Srk/gndtBmoUbg4CE6ypAzPQlElv8ntbnl6SigUBAzgXKn35v87sj04uZeoZWjtDkdzT0qKFcIo/wl63UMxdw==", - "dev": true, - "requires": { - "command-exists": "^1.2.8", - "commander": "^8.1.0", - "follow-redirects": "^1.12.1", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "dependencies": { - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - } - } - }, - "solgraph": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/solgraph/-/solgraph-1.0.2.tgz", - "integrity": "sha512-jSml2xRdGcD4NGVX2okXPVtqFOlduCg1Zs+JCZYEiVXeYWvCfn65PjCvt+BG3dfW7gWaRzqDa5mqf3lhaFflxw==", - "dev": true, - "requires": { - "@babel/cli": "^7.19.3", - "@babel/core": "^7.20.5", - "@babel/preset-env": "^7.20.2", - "@babel/register": "^7.18.9", - "@solidity-parser/parser": "^0.14.5", - "commander": "*", - "get-stdin-promise": "*", - "graphlib": "^2.1.8", - "graphlib-dot": "^0.6.4" - } - }, - "solidity-ast": { - "version": "0.4.60", - "resolved": "https://registry.npmjs.org/solidity-ast/-/solidity-ast-0.4.60.tgz", - "integrity": "sha512-UwhasmQ37ji1ul8cIp0XlrQ/+SVQhy09gGqJH4jnwdo2TgI6YIByzi0PI5QvIGcIdFOs1pbSmJW1pnWB7AVh2w==", - "dev": true - }, - "solidity-code-metrics": { - "version": "0.0.25", - "resolved": "https://registry.npmjs.org/solidity-code-metrics/-/solidity-code-metrics-0.0.25.tgz", - "integrity": "sha512-of1wT4B5GL0/IahPttkEQUU3Bgq2PpLfQ1GcGdE8aMOhryWrEa4V5LYYd7cqKwyzWaRYIZ/pLUnaoJtCV2HfHA==", - "dev": true, - "requires": { - "@solidity-parser/parser": "^0.16.1", - "glob": "^8.0.3", - "sloc": "^0.3.0", - "solidity-doppelganger": "^0.0.11", - "surya": "^0.4.6" - }, - "dependencies": { - "@solidity-parser/parser": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.16.2.tgz", - "integrity": "sha512-PI9NfoA3P8XK2VBkK5oIfRgKDsicwDZfkVq9ZTBCQYGOP1N2owgY2dyLGyU5/J/hQs8KRk55kdmvTLjy3Mu3vg==", - "dev": true, - "requires": { - "antlr4ts": "^0.5.0-alpha.4" - } - } - } - }, - "solidity-coverage": { - "version": "0.8.16", - "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.16.tgz", - "integrity": "sha512-qKqgm8TPpcnCK0HCDLJrjbOA2tQNEJY4dHX/LSSQ9iwYFS973MwjtgYn2Iv3vfCEQJTj5xtm4cuUMzlJsJSMbg==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.0.9", - "@solidity-parser/parser": "^0.20.1", - "chalk": "^2.4.2", - "death": "^1.1.0", - "difflib": "^0.2.4", - "fs-extra": "^8.1.0", - "ghost-testrpc": "^0.0.2", - "global-modules": "^2.0.0", - "globby": "^10.0.1", - "jsonschema": "^1.2.4", - "lodash": "^4.17.21", - "mocha": "^10.2.0", - "node-emoji": "^1.10.0", - "pify": "^4.0.1", - "recursive-readdir": "^2.2.2", - "sc-istanbul": "^0.4.5", - "semver": "^7.3.4", - "shelljs": "^0.8.3", - "web3-utils": "^1.3.6" - }, - "dependencies": { - "@solidity-parser/parser": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.20.1.tgz", - "integrity": "sha512-58I2sRpzaQUN+jJmWbHfbWf9AKfzqCI8JAdFB0vbyY+u8tBRcuTt9LxzasvR0LGQpcRv97eyV7l61FQ3Ib7zVw==", - "dev": true - }, - "semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true - } - } - }, - "solidity-docgen": { - "version": "0.6.0-beta.36", - "resolved": "https://registry.npmjs.org/solidity-docgen/-/solidity-docgen-0.6.0-beta.36.tgz", - "integrity": "sha512-f/I5G2iJgU1h0XrrjRD0hHMr7C10u276vYvm//rw1TzFcYQ4xTOyAoi9oNAHRU0JU4mY9eTuxdVc2zahdMuhaQ==", - "dev": true, - "requires": { - "handlebars": "^4.7.7", - "solidity-ast": "^0.4.38" - } - }, - "solidity-doppelganger": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/solidity-doppelganger/-/solidity-doppelganger-0.0.11.tgz", - "integrity": "sha512-mLIuW1Gfcr49zAZuE3XiQoqvkIAOKJBsgg//3DUvX8G6PvQErfnEKSajXwrYmW27oawwB/qbdRYuFR0inpsJQQ==", - "dev": true, - "requires": { - "@solidity-parser/parser": "^0.16.1", - "glob": "^8.0.3", - "yargs": "^17.0.1" - }, - "dependencies": { - "@solidity-parser/parser": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.16.2.tgz", - "integrity": "sha512-PI9NfoA3P8XK2VBkK5oIfRgKDsicwDZfkVq9ZTBCQYGOP1N2owgY2dyLGyU5/J/hQs8KRk55kdmvTLjy3Mu3vg==", - "dev": true, - "requires": { - "antlr4ts": "^0.5.0-alpha.4" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "solium": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/solium/-/solium-1.2.5.tgz", - "integrity": "sha512-NuNrm7fp8JcDN/P+SAdM5TVa4wYDtwVtLY/rG4eBOZrC5qItsUhmQKR/YhjszaEW4c8tNUYhkhQcwOsS25znpw==", - "dev": true, - "peer": true, - "requires": { - "ajv": "^5.2.2", - "chokidar": "^1.6.0", - "colors": "^1.1.2", - "commander": "^2.9.0", - "diff": "^3.5.0", - "eol": "^0.9.1", - "js-string-escape": "^1.0.1", - "lodash": "^4.14.2", - "sol-digger": "0.0.2", - "sol-explore": "1.6.1", - "solium-plugin-security": "0.1.1", - "solparse": "2.2.8", - "text-table": "^0.2.0" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==", - "dev": true, - "peer": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==", - "dev": true, - "peer": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==", - "dev": true, - "peer": true - } - } - }, - "solium-plugin-security": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/solium-plugin-security/-/solium-plugin-security-0.1.1.tgz", - "integrity": "sha512-kpLirBwIq4mhxk0Y/nn5cQ6qdJTI+U1LO3gpoNIcqNaW+sI058moXBe2UiHs+9wvF9IzYD49jcKhFTxcR9u9SQ==", - "dev": true, - "requires": {} - }, - "solparse": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/solparse/-/solparse-2.2.8.tgz", - "integrity": "sha512-Tm6hdfG72DOxD40SD+T5ddbekWglNWjzDRSNq7ZDIOHVsyaJSeeunUuWNj4DE7uDrJK3tGQuX0ZTDZWNYsGPMA==", - "dev": true, - "requires": { - "mocha": "^4.0.1", - "pegjs": "^0.10.0", - "yargs": "^10.0.3" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true - }, - "browser-stdout": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", - "integrity": "sha512-7Rfk377tpSM9TWBEeHs0FlDZGoAIei2V/4MdZJoFMBFAK6BqLpxAIUepGRHGdPFgGsLb02PXovC4qddyHvQqTg==", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true - }, - "diff": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", - "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", - "dev": true - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==", - "dev": true - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha512-z/GDPjlRMNOa2XJiB4em8wJpuuBfrFOlYKTZxtpkdr1uPdibHI8rYA3MY0KDObpVyaes0e/aunid/t88ZI2EKA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "mocha": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.1.0.tgz", - "integrity": "sha512-0RVnjg1HJsXY2YFDoTNzcc1NKhYuXKRrBAG2gDygmJJA136Cs2QlRliZG1mA0ap7cuaT30mw16luAeln+4RiNA==", - "dev": true, - "requires": { - "browser-stdout": "1.3.0", - "commander": "2.11.0", - "debug": "3.1.0", - "diff": "3.3.1", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.3", - "he": "1.1.1", - "mkdirp": "0.5.1", - "supports-color": "4.4.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true - }, - "yargs": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz", - "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^8.1.0" - } - }, - "yargs-parser": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", - "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } - } - } - }, - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==", - "dev": true, - "optional": true, - "requires": { - "amdefine": ">=0.0.4" - } - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "dev": true - }, - "spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.21", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", - "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "sshpk": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", - "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "stacktrace-parser": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz", - "integrity": "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==", - "dev": true, - "requires": { - "type-fest": "^0.7.1" - }, - "dependencies": { - "type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", - "dev": true - } - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - } - } - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - }, - "stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", - "dev": true - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - } - }, - "string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - } - }, - "string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", - "dev": true - }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", - "dev": true, - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "surya": { - "version": "0.4.12", - "resolved": "https://registry.npmjs.org/surya/-/surya-0.4.12.tgz", - "integrity": "sha512-DChWScPkYSeJ7nBOKnfFsQoYrFWgSdA3rgCGSjoWxe4QgCOZ5TPz27d9QpsX3fY94SfDeTmAs7x6iv2AXl+7Hg==", - "dev": true, - "requires": { - "@solidity-parser/parser": "^0.16.1", - "c3-linearization": "^0.3.0", - "colors": "^1.4.0", - "graphviz": "0.0.9", - "sha1-file": "^2.0.0", - "treeify": "^1.1.0", - "yargs": "^17.0.0" - }, - "dependencies": { - "@solidity-parser/parser": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.16.2.tgz", - "integrity": "sha512-PI9NfoA3P8XK2VBkK5oIfRgKDsicwDZfkVq9ZTBCQYGOP1N2owgY2dyLGyU5/J/hQs8KRk55kdmvTLjy3Mu3vg==", - "dev": true, - "requires": { - "antlr4ts": "^0.5.0-alpha.4" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "swap-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", - "integrity": "sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1", - "upper-case": "^1.1.1" - } - }, - "swarm-js": { - "version": "0.1.42", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.42.tgz", - "integrity": "sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^11.8.5", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar": "^4.0.2", - "xhr-request": "^1.0.1" - }, - "dependencies": { - "@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "dev": true, - "requires": { - "defer-to-connect": "^2.0.0" - } - }, - "cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "dev": true - }, - "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "dev": true, - "requires": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - } - }, - "http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "dev": true, - "requires": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - }, - "p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "dev": true - } - } - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "dev": true, - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "dev": true, - "requires": { - "get-port": "^3.1.0" - } - }, - "tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "dev": true, - "requires": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - } - }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, - "temp": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.4.0.tgz", - "integrity": "sha512-IsFisGgDKk7qzK9erMIkQe/XwiSUdac7z3wYOsjcLkhPBy3k1SlvLoIh2dAHIlEpgA971CgguMrx9z8fFg7tSA==", - "dev": true - }, - "testrpc": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", - "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", - "dev": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "dev": true, - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", - "dev": true - }, - "form-data": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.3.tgz", - "integrity": "sha512-XHIrMD0NpDrNM/Ckf7XJiBbLl57KEhT3+i3yY+eWm+cqYZJQTZrKo8Y8AWKnuV5GT4scfuUGt9LzNoIx3dU1nQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "mime-types": "^2.1.35", - "safe-buffer": "^5.2.1" - } - } - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", - "dev": true - }, - "timers-ext": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.8.tgz", - "integrity": "sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==", - "dev": true, - "requires": { - "es5-ext": "^0.10.64", - "next-tick": "^1.1.0" - } - }, - "tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", - "dev": true, - "requires": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - } - }, - "title-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz", - "integrity": "sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.0.3" - } - }, - "tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - }, - "dependencies": { - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - } - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "dependencies": { - "punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true - } - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "treeify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz", - "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==", - "dev": true - }, - "tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "dev": true, - "peer": true - }, - "tsort": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - }, - "type": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", - "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", - "dev": true - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", - "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", - "dev": true - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - } - }, - "typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - } - }, - "typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - } - }, - "typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "uglify-js": { - "version": "3.19.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", - "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", - "dev": true, - "optional": true - }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "dev": true - }, - "unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - } - }, - "unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dev": true, - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "undici": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.10.0.tgz", - "integrity": "sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==", - "dev": true - }, - "undici-types": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", - "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", - "dev": true - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", - "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - } - } - }, - "update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", - "dev": true, - "requires": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - } - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", - "dev": true - }, - "upper-case-first": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", - "integrity": "sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==", - "dev": true, - "requires": { - "upper-case": "^1.1.1" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "dev": true - }, - "url-set-query": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", - "integrity": "sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==", - "dev": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "dev": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", - "dev": true - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==", - "dev": true - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "web3": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.4.tgz", - "integrity": "sha512-kgJvQZjkmjOEKimx/tJQsqWfRDPTTcBfYPa9XletxuHLpHcXdx67w8EFn5AW3eVxCutE9dTVHgGa9VYe8vgsEA==", - "dev": true, - "requires": { - "web3-bzz": "1.10.4", - "web3-core": "1.10.4", - "web3-eth": "1.10.4", - "web3-eth-personal": "1.10.4", - "web3-net": "1.10.4", - "web3-shh": "1.10.4", - "web3-utils": "1.10.4" - } - }, - "web3-bzz": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.4.tgz", - "integrity": "sha512-ZZ/X4sJ0Uh2teU9lAGNS8EjveEppoHNQiKlOXAjedsrdWuaMErBPdLQjXfcrYvN6WM6Su9PMsAxf3FXXZ+HwQw==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "got": "12.1.0", - "swarm-js": "^0.1.40" - }, - "dependencies": { - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - } - } - }, - "web3-core": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.4.tgz", - "integrity": "sha512-B6elffYm81MYZDTrat7aEhnhdtVE3lDBUZft16Z8awYMZYJDbnykEbJVS+l3mnA7AQTnSDr/1MjWofGDLBJPww==", - "dev": true, - "requires": { - "@types/bn.js": "^5.1.1", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-core-requestmanager": "1.10.4", - "web3-utils": "1.10.4" - }, - "dependencies": { - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "bignumber.js": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.0.tgz", - "integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==", - "dev": true - }, - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", - "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.4", - "web3-utils": "1.10.4" - } - }, - "web3-eth-iban": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.4" - } - } - } - }, - "web3-core-helpers": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz", - "integrity": "sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.0", - "web3-utils": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "web3-utils": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz", - "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-core-method": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.4.tgz", - "integrity": "sha512-uZTb7flr+Xl6LaDsyTeE2L1TylokCJwTDrIVfIfnrGmnwLc6bmTWCCrm71sSrQ0hqs6vp/MKbQYIYqUN0J8WyA==", - "dev": true, - "requires": { - "@ethersproject/transactions": "^5.6.2", - "web3-core-helpers": "1.10.4", - "web3-core-promievent": "1.10.4", - "web3-core-subscriptions": "1.10.4", - "web3-utils": "1.10.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", - "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.4", - "web3-utils": "1.10.4" - } - }, - "web3-core-promievent": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.4.tgz", - "integrity": "sha512-2de5WnJQ72YcIhYwV/jHLc4/cWJnznuoGTJGD29ncFQHAfwW/MItHFSVKPPA5v8AhJe+r6y4Y12EKvZKjQVBvQ==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4" - } - }, - "web3-eth-iban": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.4" - } - } - } - }, - "web3-core-promievent": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.0.tgz", - "integrity": "sha512-68N7k5LWL5R38xRaKFrTFT2pm2jBNFaM4GioS00YjAKXRQ3KjmhijOMG3TICz6Aa5+6GDWYelDNx21YAeZ4YTg==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4" - } - }, - "web3-core-requestmanager": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.4.tgz", - "integrity": "sha512-vqP6pKH8RrhT/2MoaU+DY/OsYK9h7HmEBNCdoMj+4ZwujQtw/Mq2JifjwsJ7gits7Q+HWJwx8q6WmQoVZAWugg==", - "dev": true, - "requires": { - "util": "^0.12.5", - "web3-core-helpers": "1.10.4", - "web3-providers-http": "1.10.4", - "web3-providers-ipc": "1.10.4", - "web3-providers-ws": "1.10.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", - "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.4", - "web3-utils": "1.10.4" - } - }, - "web3-eth-iban": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.4" - } - } - } - }, - "web3-core-subscriptions": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.4.tgz", - "integrity": "sha512-o0lSQo/N/f7/L76C0HV63+S54loXiE9fUPfHFcTtpJRQNDBVsSDdWRdePbWwR206XlsBqD5VHApck1//jEafTw==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", - "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.4", - "web3-utils": "1.10.4" - } - }, - "web3-eth-iban": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.4" - } - } - } - }, - "web3-eth": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.4.tgz", - "integrity": "sha512-Sql2kYKmgt+T/cgvg7b9ce24uLS7xbFrxE4kuuor1zSCGrjhTJ5rRNG8gTJUkAJGKJc7KgnWmgW+cOfMBPUDSA==", - "dev": true, - "requires": { - "web3-core": "1.10.4", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-core-subscriptions": "1.10.4", - "web3-eth-abi": "1.10.4", - "web3-eth-accounts": "1.10.4", - "web3-eth-contract": "1.10.4", - "web3-eth-ens": "1.10.4", - "web3-eth-iban": "1.10.4", - "web3-eth-personal": "1.10.4", - "web3-net": "1.10.4", - "web3-utils": "1.10.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", - "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.4", - "web3-utils": "1.10.4" - } - }, - "web3-eth-abi": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.4.tgz", - "integrity": "sha512-cZ0q65eJIkd/jyOlQPDjr8X4fU6CRL1eWgdLwbWEpo++MPU/2P4PFk5ZLAdye9T5Sdp+MomePPJ/gHjLMj2VfQ==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.6.3", - "web3-utils": "1.10.4" - } - }, - "web3-eth-iban": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.4" - } - } - } - }, - "web3-eth-abi": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.0.tgz", - "integrity": "sha512-cwS+qRBWpJ43aI9L3JS88QYPfFcSJJ3XapxOQ4j40v6mk7ATpA8CVK1vGTzpihNlOfMVRBkR95oAj7oL6aiDOg==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.6.3", - "web3-utils": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "web3-utils": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz", - "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-accounts": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.4.tgz", - "integrity": "sha512-ysy5sVTg9snYS7tJjxVoQAH6DTOTkRGR8emEVCWNGLGiB9txj+qDvSeT0izjurS/g7D5xlMAgrEHLK1Vi6I3yg==", - "dev": true, - "requires": { - "@ethereumjs/common": "2.6.5", - "@ethereumjs/tx": "3.5.2", - "@ethereumjs/util": "^8.1.0", - "eth-lib": "0.2.8", - "scrypt-js": "^3.0.1", - "uuid": "^9.0.0", - "web3-core": "1.10.4", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-utils": "1.10.4" - }, - "dependencies": { - "@ethereumjs/rlp": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", - "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", - "dev": true - }, - "@ethereumjs/util": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", - "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", - "dev": true, - "requires": { - "@ethereumjs/rlp": "^4.0.1", - "ethereum-cryptography": "^2.0.0", - "micro-ftch": "^0.3.1" - } - }, - "@noble/curves": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", - "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", - "dev": true, - "requires": { - "@noble/hashes": "1.4.0" - } - }, - "@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", - "dev": true - }, - "@scure/bip32": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", - "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", - "dev": true, - "requires": { - "@noble/curves": "~1.4.0", - "@noble/hashes": "~1.4.0", - "@scure/base": "~1.1.6" - } - }, - "@scure/bip39": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", - "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", - "dev": true, - "requires": { - "@noble/hashes": "~1.4.0", - "@scure/base": "~1.1.6" - } - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "ethereum-cryptography": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", - "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", - "dev": true, - "requires": { - "@noble/curves": "1.4.2", - "@noble/hashes": "1.4.0", - "@scure/bip32": "1.4.0", - "@scure/bip39": "1.3.0" - } - }, - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", - "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.4", - "web3-utils": "1.10.4" - } - }, - "web3-eth-iban": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - } - } - } - } - }, - "web3-eth-contract": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.4.tgz", - "integrity": "sha512-Q8PfolOJ4eV9TvnTj1TGdZ4RarpSLmHnUnzVxZ/6/NiTfe4maJz99R0ISgwZkntLhLRtw0C7LRJuklzGYCNN3A==", - "dev": true, - "requires": { - "@types/bn.js": "^5.1.1", - "web3-core": "1.10.4", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-core-promievent": "1.10.4", - "web3-core-subscriptions": "1.10.4", - "web3-eth-abi": "1.10.4", - "web3-utils": "1.10.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", - "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.4", - "web3-utils": "1.10.4" - } - }, - "web3-core-promievent": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.4.tgz", - "integrity": "sha512-2de5WnJQ72YcIhYwV/jHLc4/cWJnznuoGTJGD29ncFQHAfwW/MItHFSVKPPA5v8AhJe+r6y4Y12EKvZKjQVBvQ==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4" - } - }, - "web3-eth-abi": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.4.tgz", - "integrity": "sha512-cZ0q65eJIkd/jyOlQPDjr8X4fU6CRL1eWgdLwbWEpo++MPU/2P4PFk5ZLAdye9T5Sdp+MomePPJ/gHjLMj2VfQ==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.6.3", - "web3-utils": "1.10.4" - } - }, - "web3-eth-iban": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.4" - } - } - } - }, - "web3-eth-ens": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.4.tgz", - "integrity": "sha512-LLrvxuFeVooRVZ9e5T6OWKVflHPFgrVjJ/jtisRWcmI7KN/b64+D/wJzXqgmp6CNsMQcE7rpmf4CQmJCrTdsgg==", - "dev": true, - "requires": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "web3-core": "1.10.4", - "web3-core-helpers": "1.10.4", - "web3-core-promievent": "1.10.4", - "web3-eth-abi": "1.10.4", - "web3-eth-contract": "1.10.4", - "web3-utils": "1.10.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", - "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.4", - "web3-utils": "1.10.4" - } - }, - "web3-core-promievent": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.4.tgz", - "integrity": "sha512-2de5WnJQ72YcIhYwV/jHLc4/cWJnznuoGTJGD29ncFQHAfwW/MItHFSVKPPA5v8AhJe+r6y4Y12EKvZKjQVBvQ==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4" - } - }, - "web3-eth-abi": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.4.tgz", - "integrity": "sha512-cZ0q65eJIkd/jyOlQPDjr8X4fU6CRL1eWgdLwbWEpo++MPU/2P4PFk5ZLAdye9T5Sdp+MomePPJ/gHjLMj2VfQ==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.6.3", - "web3-utils": "1.10.4" - } - }, - "web3-eth-iban": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.4" - } - } - } - }, - "web3-eth-iban": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz", - "integrity": "sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "web3-utils": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz", - "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-personal": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.4.tgz", - "integrity": "sha512-BRa/hs6jU1hKHz+AC/YkM71RP3f0Yci1dPk4paOic53R4ZZG4MgwKRkJhgt3/GPuPliwS46f/i5A7fEGBT4F9w==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "web3-core": "1.10.4", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-net": "1.10.4", - "web3-utils": "1.10.4" - }, - "dependencies": { - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", - "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.4", - "web3-utils": "1.10.4" - } - }, - "web3-eth-iban": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.4" - } - } - } - }, - "web3-net": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.4.tgz", - "integrity": "sha512-mKINnhOOnZ4koA+yV2OT5s5ztVjIx7IY9a03w6s+yao/BUn+Luuty0/keNemZxTr1E8Ehvtn28vbOtW7Ids+Ow==", - "dev": true, - "requires": { - "web3-core": "1.10.4", - "web3-core-method": "1.10.4", - "web3-utils": "1.10.4" - } - }, - "web3-providers-http": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.4.tgz", - "integrity": "sha512-m2P5Idc8hdiO0l60O6DSCPw0kw64Zgi0pMjbEFRmxKIck2Py57RQMu4bxvkxJwkF06SlGaEQF8rFZBmuX7aagQ==", - "dev": true, - "requires": { - "abortcontroller-polyfill": "^1.7.5", - "cross-fetch": "^4.0.0", - "es6-promise": "^4.2.8", - "web3-core-helpers": "1.10.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "cross-fetch": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.1.0.tgz", - "integrity": "sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==", - "dev": true, - "requires": { - "node-fetch": "^2.7.0" - } - }, - "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "web3-core-helpers": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", - "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.4", - "web3-utils": "1.10.4" - } - }, - "web3-eth-iban": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.4" - } - } - } - }, - "web3-providers-ipc": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.4.tgz", - "integrity": "sha512-YRF/bpQk9z3WwjT+A6FI/GmWRCASgd+gC0si7f9zbBWLXjwzYAKG73bQBaFRAHex1hl4CVcM5WUMaQXf3Opeuw==", - "dev": true, - "requires": { - "oboe": "2.1.5", - "web3-core-helpers": "1.10.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", - "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.4", - "web3-utils": "1.10.4" - } - }, - "web3-eth-iban": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.4" - } - } - } - }, - "web3-providers-ws": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.4.tgz", - "integrity": "sha512-j3FBMifyuFFmUIPVQR4pj+t5ILhAexAui0opgcpu9R5LxQrLRUZxHSnU+YO25UycSOa/NAX8A+qkqZNpcFAlxA==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.4", - "websocket": "^1.0.32" - }, - "dependencies": { - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "web3-core-helpers": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", - "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", - "dev": true, - "requires": { - "web3-eth-iban": "1.10.4", - "web3-utils": "1.10.4" - } - }, - "web3-eth-iban": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.4" - } - } - } - }, - "web3-shh": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.4.tgz", - "integrity": "sha512-cOH6iFFM71lCNwSQrC3niqDXagMqrdfFW85hC9PFUrAr3PUrIem8TNstTc3xna2bwZeWG6OBy99xSIhBvyIACw==", - "dev": true, - "requires": { - "web3-core": "1.10.4", - "web3-core-method": "1.10.4", - "web3-core-subscriptions": "1.10.4", - "web3-net": "1.10.4" - } - }, - "web3-utils": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", - "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", - "dev": true, - "requires": { - "@ethereumjs/util": "^8.1.0", - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereum-cryptography": "^2.1.2", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "dependencies": { - "@ethereumjs/rlp": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", - "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", - "dev": true - }, - "@ethereumjs/util": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", - "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", - "dev": true, - "requires": { - "@ethereumjs/rlp": "^4.0.1", - "ethereum-cryptography": "^2.0.0", - "micro-ftch": "^0.3.1" - } - }, - "@noble/curves": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", - "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", - "dev": true, - "requires": { - "@noble/hashes": "1.4.0" - } - }, - "@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", - "dev": true - }, - "@scure/bip32": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", - "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", - "dev": true, - "requires": { - "@noble/curves": "~1.4.0", - "@noble/hashes": "~1.4.0", - "@scure/base": "~1.1.6" - } - }, - "@scure/bip39": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", - "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", - "dev": true, - "requires": { - "@noble/hashes": "~1.4.0", - "@scure/base": "~1.1.6" - } - }, - "bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", - "dev": true - }, - "ethereum-cryptography": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", - "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", - "dev": true, - "requires": { - "@noble/curves": "1.4.2", - "@noble/hashes": "1.4.0", - "@scure/bip32": "1.4.0", - "@scure/bip39": "1.3.0" - } - } - } - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "websocket": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.35.tgz", - "integrity": "sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==", - "dev": true, - "requires": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.63", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "whatwg-encoding": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", - "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", - "dev": true, - "requires": { - "iconv-lite": "0.6.3" - } - }, - "whatwg-mimetype": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", - "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", - "dev": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "requires": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - } - }, - "which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } - } - }, - "which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "requires": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", - "dev": true - }, - "which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - } - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dev": true, - "requires": { - "string-width": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw==", - "dev": true - }, - "word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true - }, - "workerpool": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "dev": true, - "peer": true, - "requires": {} - }, - "xhr": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", - "dev": true, - "requires": { - "global": "~4.4.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "xhr-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", - "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", - "dev": true, - "requires": { - "buffer-to-arraybuffer": "^0.0.5", - "object-assign": "^4.1.1", - "query-string": "^5.0.1", - "simple-get": "^2.7.0", - "timed-out": "^4.0.1", - "url-set-query": "^1.0.0", - "xhr": "^2.0.4" - } - }, - "xhr-request-promise": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", - "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", - "dev": true, - "requires": { - "xhr-request": "^1.1.0" - } - }, - "xmlhttprequest": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", - "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - } - } - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dev": true, - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } } } diff --git a/package.json b/package.json index 4413ea4..f07d4a6 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "surya": "^0.4.11" }, "dependencies": { - "@openzeppelin/contracts": "5.3.0", - "@openzeppelin/contracts-upgradeable": "5.3.0" + "@openzeppelin/contracts": "5.4.0", + "@openzeppelin/contracts-upgradeable": "^5.4.0" } } diff --git a/test/SnapshotEngineDeploy.test.js b/test/SnapshotEngineDeploy.test.js index 4dae992..9d8bd70 100644 --- a/test/SnapshotEngineDeploy.test.js +++ b/test/SnapshotEngineDeploy.test.js @@ -13,12 +13,33 @@ describe('Deploy Snapshot Engine', function () { this.admin.address, this.deployerAddress.address ) - this.transferEngineCustomError = await ethers.deployContract('SnapshotEngine', [ + this.transferEngineCustomError = await ethers.deployContract('SnapshotEngine', [ this.cmtat.target, this.admin]) this.cmtat.connect(this.admin).setSnapshotEngine(this.transferEngineMock) }) + + + context('Access Control', function () { + it('testCannotTransferIfNotTokenBound', async function () { + // Act + this.transferEngineMock = await ethers.deployContract('SnapshotEngine', [ + this.cmtat.target, this.admin]) + await expect( + this.transferEngineMock.operateOnTransfer(this.admin, this.admin, 1,1,1) + ).to.be.revertedWithCustomError( + this.transferEngineCustomError, + 'SnapshotEngine_UnauthorizedCaller' + ) + }) + }) context('SnapshotEngineDeployment', function () { + it('testHasTheRightVersion', async function () { + this.transferEngineMock = await ethers.deployContract('SnapshotEngine', [ + this.cmtat.target, this.admin]) + expect(await this.transferEngineMock.version()).to.equal("0.2.0") + }) + it('testCannotDeployIfERC20IsZero', async function () { await expect( ethers.deployContract('SnapshotEngine', [ZERO_ADDRESS, this.admin])