From 10b4033a56cefe120517c29a652e5ea98e9a911d Mon Sep 17 00:00:00 2001 From: chengda300 Date: Mon, 29 Jul 2024 22:35:14 +0800 Subject: [PATCH] Add virtual machine to run programs written in Go --- README.md | 3 + go-virtual-machine-main/.DS_Store | Bin 0 -> 6148 bytes go-virtual-machine-main/.dockerignore | 17 + go-virtual-machine-main/.eslintignore | 7 + go-virtual-machine-main/.eslintrc | 76 + go-virtual-machine-main/.gitignore | 135 + go-virtual-machine-main/.nvmrc | 1 + go-virtual-machine-main/.prettierignore | 28 + go-virtual-machine-main/.prettierrc | 6 + .../.vscode/extensions.json | 3 + go-virtual-machine-main/.vscode/settings.json | 3 + go-virtual-machine-main/CS4215_Project.pdf | Bin 0 -> 799716 bytes go-virtual-machine-main/README.md | 64 + go-virtual-machine-main/package-lock.json | 37504 ++++++++++++++++ go-virtual-machine-main/package.json | 103 + go-virtual-machine-main/public/cs.png | Bin 0 -> 2210 bytes go-virtual-machine-main/public/gopher.png | Bin 0 -> 137116 bytes go-virtual-machine-main/public/gophers.png | Bin 0 -> 153455 bytes go-virtual-machine-main/public/index.html | 43 + go-virtual-machine-main/public/manifest.json | 16 + go-virtual-machine-main/public/robots.txt | 3 + .../src/frontend/app/App.tsx | 15 + .../src/frontend/app/Router.tsx | 29 + .../src/frontend/app/index.ts | 1 + .../frontend/components/CodeIDE/CodeIDE.tsx | 123 + .../components/CodeIDE/CodeIDEButtons.tsx | 66 + .../src/frontend/components/CodeIDE/index.tsx | 2 + .../src/frontend/components/ControlBar.tsx | 175 + .../src/frontend/components/IO/TextIDE.tsx | 37 + .../src/frontend/components/IO/index.tsx | 22 + .../src/frontend/components/NavBar.tsx | 50 + .../frontend/components/Visual/EnvNode.tsx | 76 + .../frontend/components/Visual/VisualArea.tsx | 167 + .../src/frontend/components/Visual/index.tsx | 1 + .../src/frontend/components/Visual/nodes.css | 3 + .../src/frontend/components/index.ts | 5 + .../src/frontend/pages/Main.tsx | 263 + .../src/frontend/stores/executionStore.ts | 74 + .../src/frontend/stores/index.ts | 1 + .../src/frontend/theme/index.ts | 1 + .../src/frontend/theme/theme.ts | 17 + .../frontend/types/cytoscape-cola/index.d.ts | 1 + .../src/frontend/types/global.d.ts | 1 + .../src/frontend/utils/error.ts | 10 + go-virtual-machine-main/src/index.tsx | 14 + .../virtual-machine/compiler/environment.ts | 96 + .../src/virtual-machine/compiler/index.ts | 38 + .../compiler/instructions/base.ts | 43 + .../compiler/instructions/block.ts | 85 + .../compiler/instructions/builtin.ts | 39 + .../compiler/instructions/concurrent.ts | 163 + .../compiler/instructions/control.ts | 53 + .../compiler/instructions/funcs.ts | 164 + .../compiler/instructions/index.ts | 9 + .../compiler/instructions/load.ts | 188 + .../compiler/instructions/operator.ts | 135 + .../compiler/instructions/store.ts | 19 + .../virtual-machine/compiler/typing/index.ts | 343 + .../compiler/typing/packages.ts | 82 + .../compiler/typing/type_environment.ts | 45 + .../src/virtual-machine/executor/debugger.ts | 236 + .../src/virtual-machine/executor/index.ts | 16 + .../src/virtual-machine/executor/ops.ts | 79 + .../src/virtual-machine/executor/process.ts | 124 + .../src/virtual-machine/heap/index.ts | 439 + .../src/virtual-machine/heap/memory.ts | 151 + .../src/virtual-machine/heap/types/array.ts | 141 + .../src/virtual-machine/heap/types/base.ts | 29 + .../src/virtual-machine/heap/types/channel.ts | 198 + .../src/virtual-machine/heap/types/context.ts | 176 + .../virtual-machine/heap/types/environment.ts | 92 + .../src/virtual-machine/heap/types/fmt.ts | 77 + .../src/virtual-machine/heap/types/func.ts | 195 + .../virtual-machine/heap/types/linkedlist.ts | 146 + .../virtual-machine/heap/types/primitives.ts | 213 + .../src/virtual-machine/heap/types/queue.ts | 146 + .../src/virtual-machine/heap/types/stack.ts | 114 + .../virtual-machine/heap/types/waitGroup.ts | 115 + .../src/virtual-machine/index.ts | 98 + .../virtual-machine/parser/golang_parser.d.ts | 6 + .../src/virtual-machine/parser/parser.peggy | 500 + .../src/virtual-machine/parser/parser.ts | 7 + .../src/virtual-machine/parser/tokens.ts | 10 + .../src/virtual-machine/parser/tokens/base.ts | 30 + .../virtual-machine/parser/tokens/block.ts | 46 + .../parser/tokens/declaration.ts | 180 + .../parser/tokens/expressions.ts | 332 + .../parser/tokens/identifier.ts | 78 + .../virtual-machine/parser/tokens/literals.ts | 260 + .../virtual-machine/parser/tokens/operator.ts | 99 + .../parser/tokens/source_file.ts | 102 + .../parser/tokens/statement.ts | 615 + .../src/virtual-machine/parser/tokens/type.ts | 154 + go-virtual-machine-main/tests/array.test.ts | 60 + go-virtual-machine-main/tests/builtin.test.ts | 11 + go-virtual-machine-main/tests/channel.test.ts | 154 + go-virtual-machine-main/tests/comment.test.ts | 27 + .../tests/concurrency.test.ts | 39 + go-virtual-machine-main/tests/control.test.ts | 65 + .../tests/declaration.test.ts | 52 + go-virtual-machine-main/tests/defer.test.ts | 49 + .../tests/environment.test.ts | 29 + .../tests/expression.test.ts | 19 + go-virtual-machine-main/tests/fmt.test.ts | 24 + .../tests/function.test.ts | 210 + go-virtual-machine-main/tests/heap.test.ts | 49 + go-virtual-machine-main/tests/slice.test.ts | 112 + go-virtual-machine-main/tests/type.test.ts | 45 + go-virtual-machine-main/tests/utility.ts | 13 + .../tests/waitGroup.test.ts | 99 + go-virtual-machine-main/tsconfig.json | 114 + 111 files changed, 47043 insertions(+) create mode 100644 go-virtual-machine-main/.DS_Store create mode 100644 go-virtual-machine-main/.dockerignore create mode 100644 go-virtual-machine-main/.eslintignore create mode 100644 go-virtual-machine-main/.eslintrc create mode 100644 go-virtual-machine-main/.gitignore create mode 100644 go-virtual-machine-main/.nvmrc create mode 100644 go-virtual-machine-main/.prettierignore create mode 100644 go-virtual-machine-main/.prettierrc create mode 100644 go-virtual-machine-main/.vscode/extensions.json create mode 100644 go-virtual-machine-main/.vscode/settings.json create mode 100644 go-virtual-machine-main/CS4215_Project.pdf create mode 100644 go-virtual-machine-main/README.md create mode 100644 go-virtual-machine-main/package-lock.json create mode 100644 go-virtual-machine-main/package.json create mode 100644 go-virtual-machine-main/public/cs.png create mode 100644 go-virtual-machine-main/public/gopher.png create mode 100644 go-virtual-machine-main/public/gophers.png create mode 100644 go-virtual-machine-main/public/index.html create mode 100644 go-virtual-machine-main/public/manifest.json create mode 100644 go-virtual-machine-main/public/robots.txt create mode 100644 go-virtual-machine-main/src/frontend/app/App.tsx create mode 100644 go-virtual-machine-main/src/frontend/app/Router.tsx create mode 100644 go-virtual-machine-main/src/frontend/app/index.ts create mode 100644 go-virtual-machine-main/src/frontend/components/CodeIDE/CodeIDE.tsx create mode 100644 go-virtual-machine-main/src/frontend/components/CodeIDE/CodeIDEButtons.tsx create mode 100644 go-virtual-machine-main/src/frontend/components/CodeIDE/index.tsx create mode 100644 go-virtual-machine-main/src/frontend/components/ControlBar.tsx create mode 100644 go-virtual-machine-main/src/frontend/components/IO/TextIDE.tsx create mode 100644 go-virtual-machine-main/src/frontend/components/IO/index.tsx create mode 100644 go-virtual-machine-main/src/frontend/components/NavBar.tsx create mode 100644 go-virtual-machine-main/src/frontend/components/Visual/EnvNode.tsx create mode 100644 go-virtual-machine-main/src/frontend/components/Visual/VisualArea.tsx create mode 100644 go-virtual-machine-main/src/frontend/components/Visual/index.tsx create mode 100644 go-virtual-machine-main/src/frontend/components/Visual/nodes.css create mode 100644 go-virtual-machine-main/src/frontend/components/index.ts create mode 100644 go-virtual-machine-main/src/frontend/pages/Main.tsx create mode 100644 go-virtual-machine-main/src/frontend/stores/executionStore.ts create mode 100644 go-virtual-machine-main/src/frontend/stores/index.ts create mode 100644 go-virtual-machine-main/src/frontend/theme/index.ts create mode 100644 go-virtual-machine-main/src/frontend/theme/theme.ts create mode 100644 go-virtual-machine-main/src/frontend/types/cytoscape-cola/index.d.ts create mode 100644 go-virtual-machine-main/src/frontend/types/global.d.ts create mode 100644 go-virtual-machine-main/src/frontend/utils/error.ts create mode 100644 go-virtual-machine-main/src/index.tsx create mode 100644 go-virtual-machine-main/src/virtual-machine/compiler/environment.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/compiler/index.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/compiler/instructions/base.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/compiler/instructions/block.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/compiler/instructions/builtin.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/compiler/instructions/concurrent.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/compiler/instructions/control.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/compiler/instructions/funcs.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/compiler/instructions/index.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/compiler/instructions/load.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/compiler/instructions/operator.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/compiler/instructions/store.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/compiler/typing/index.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/compiler/typing/packages.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/compiler/typing/type_environment.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/executor/debugger.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/executor/index.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/executor/ops.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/executor/process.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/heap/index.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/heap/memory.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/heap/types/array.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/heap/types/base.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/heap/types/channel.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/heap/types/context.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/heap/types/environment.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/heap/types/fmt.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/heap/types/func.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/heap/types/linkedlist.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/heap/types/primitives.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/heap/types/queue.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/heap/types/stack.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/heap/types/waitGroup.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/index.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/parser/golang_parser.d.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/parser/parser.peggy create mode 100644 go-virtual-machine-main/src/virtual-machine/parser/parser.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/parser/tokens.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/parser/tokens/base.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/parser/tokens/block.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/parser/tokens/declaration.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/parser/tokens/expressions.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/parser/tokens/identifier.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/parser/tokens/literals.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/parser/tokens/operator.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/parser/tokens/source_file.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/parser/tokens/statement.ts create mode 100644 go-virtual-machine-main/src/virtual-machine/parser/tokens/type.ts create mode 100644 go-virtual-machine-main/tests/array.test.ts create mode 100644 go-virtual-machine-main/tests/builtin.test.ts create mode 100644 go-virtual-machine-main/tests/channel.test.ts create mode 100644 go-virtual-machine-main/tests/comment.test.ts create mode 100644 go-virtual-machine-main/tests/concurrency.test.ts create mode 100644 go-virtual-machine-main/tests/control.test.ts create mode 100644 go-virtual-machine-main/tests/declaration.test.ts create mode 100644 go-virtual-machine-main/tests/defer.test.ts create mode 100644 go-virtual-machine-main/tests/environment.test.ts create mode 100644 go-virtual-machine-main/tests/expression.test.ts create mode 100644 go-virtual-machine-main/tests/fmt.test.ts create mode 100644 go-virtual-machine-main/tests/function.test.ts create mode 100644 go-virtual-machine-main/tests/heap.test.ts create mode 100644 go-virtual-machine-main/tests/slice.test.ts create mode 100644 go-virtual-machine-main/tests/type.test.ts create mode 100644 go-virtual-machine-main/tests/utility.ts create mode 100644 go-virtual-machine-main/tests/waitGroup.test.ts create mode 100644 go-virtual-machine-main/tsconfig.json diff --git a/README.md b/README.md index 0d798b3..e3ac294 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # go-slang Implementation of Go + +# Virtual Machine +The virtual machine is used to run programs written in Go. It is written by Teow Hua Jun and Lim An Jun and the source code can be found (here)[https://github.com/huajun07/go-virtual-machine]. \ No newline at end of file diff --git a/go-virtual-machine-main/.DS_Store b/go-virtual-machine-main/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 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 k=vi~Fv1m>XXq5p?(xo9_p&Q(WOUW;w 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

VF9iQ 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 z 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 z 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 z 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

  • v=bfR)*kZwZVW_9#b1L1Phjelsq+WVu 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

    2O1SgjqykKZ@Yvgd?3uouz{Go5;-r4+OB(z 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

    be>!aAZ6{CQSd#!l0q2+4@ZjLU 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 ~Vq`m(hjHX?|i}K$@9*C;#ZsvOU;& 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

    C{`oZDmY&W^FwZk zktiWb9$_Y~K2K=r6SvRxCapeO>1D|ug?TE{p}#D!%v^bXMOLR~2wDYipfsMqrwsOA z-2G#aC_%R^ineXrwr#A{wr$(CZQHi(UTxd9?c4jFw@_yIKuCW+)xIUktN1Huq>k6#g>I1rs$!@gW&7mL`<^lTx*eTYniwB1Bj z&c!pDsbu49_bIAsa+!m~npoU9&`3abBeS15z)4B%ZvLKI)JQF16W>5>OYk@L;HBuIm;ULYu)*x4|1%xLP1tHY|J~J~$}9 zc~YABFLx-wTFeHhNwj)W7O)IxS;J_D0SO~Dlf%W;<*U=pbclcmv`YQu2_bcf`-hmV z{E2U?fy|FXU$@5K^jp+L-Mom4#{Y^Wy5jMHSRDAg`RwcE(F5nGeSQ+tU-;NMZGE}5 zDHIM52Cw4$HYWcb7I|AA^y$$s?r=Zj;K(h6vwlrMn*}_m)ZZq5>RNx`Dp_&_iqu9i z{~Q_=-bOx>+#AQXW3(SW-t*qsUGky(@UmQZ%{+h1zQ5XUIR1$u*PkTy4f}NUL_GXn z*YF|}vg!E2)W#H}035tf=XEf0DR#s6c8Kr2a&DwIwe?((@Dmd8eF?2D z=HKx@hqm$ zz@fxVG#jS(YFVKFdV+UD9~M<7mq(jsvf*E1M`_BY`2G}NH4^WNsGah&0{J0r+jyHuo&&L zhnJ`SPB5hpxa0}-s^Htu@S?tDr0vtV^KjTQuDG~JS3=>3D}d2%L?HWYLU%AB*b-{+ zYPAEG3;5L|{UedDy?k+RvY2{m8^xYG8hfp6@W!*Yq}(u}SFq3a3`~F(F!GKeF3wOc zAA5OrDv6)!Sbd?s;XG5#;(cj>I9bInQl(}5aO)K={Y0HVj8|7Ok|L|A;ndoVFslYd z_RlrXMM)C-u%c4FM>y_LE$J%|;MD|I`*|s)&@MPCU`&{)@JQ5MqIRyN^!qZ07vzsA z*@dv*LnMpF%EQP+lq+2+ueIBbT>h8?mwlY_L);(fD@Ezl{fozfb<>=zs%U7D>?qH; zg7V>+jKY+`$>km}^mqazZ#5)a?{V?d#JeGTGsO}V?PSrF*xKA-I+>vg2Yjl9G%0~v z<<BAfXs+=AkoqGuutWLjk;8ca4h8rnt;k`xVO3 z#))(-wgDskl3u^tbR!0AIym0)7TPy15{x5kbjcjDDe;LbMDaR8obVO1Dv5? z1!0I3y41gfUB>P7JbSa{3@UI)l~~QFQ19Rm70-BF+w<3h8GQ>mrrSw!(&@3A^Xx-?!``10g1rj&TL_IsY>R3eYTxgT&>i{7(uC2Lx zzgYcau}wJwn4Br*?^raQjt?b0Oo-XkoO91wyS|7l!ltLhR=^v|<<*BNd=)#59Xv+4F(zM&L-9iJ17oo;97K-dJ&2H}I2FlrUo>dME6a)18!h8#D$UGv> zYg$}~&X_M2c1m+9w?5rJ8k?8Wqb=7Hp^Tv6*GW}~cz?;CJYPhjr)58Gh_Ou%{T|5m zid{m5br^h4>{uN4EG)Ml4#4+JKbF-T?Kc<}TpJQskb+K`k^=SMiMXj0S9%U9n86j! z5y-bl8UMhX*AATK1PQ$+&#Mkfyd48u@LGQ{)glAmcdlzX<}B`n#<nt9X=y*y%7 z!oTPabdhen+CP(WTaHK%ZBq$_Z)E>QYSRYF_y(hZH(O@15b3A@+ zmmF>;-m548FU8K1;gpG^Ob)s$O0OP=)J}?iDZ+sy#5}a#NWCh1Wc8#HMo&Y2&=vLw ziAs&A?)g*8NS&W0x%)PAV@2(f(-4N-R3vr$kL#0!TS_S`f4fcFJ?CxEnJ<>rH;>=E zkfwlMOzgfG1=*|SJg8F#JYx&;Z2lxcE!+tw$|@U!K?8j@1yp`=6^CT#esD?hxKP;B zGI6LZxKSDR`6~?>CEGr+7!1f?1_leFTYuItHZq1Vc-53Vlcz3Y>sZQHQ%Uai=Q zK>Au{5;Jjpz{hwZ)AJY~?=XDBp=L_kw_m3@N4aFa$Y6*KtWZzNG$5Ex*0Sy81kdd_ zlu@Sz6Ta%qt7?p&09eer`HWCG`Yhugvc!jz%ll*-owZ^w2#$2i<^npg_GTuC<$WbD(T7IU2ONp`*@R$(^FDr# z{=pS4EJY-=&Hk(v*Ig9+)*WnEEkQo!MD3zig2A)T3y)j+ZWzdl^KYI$f-vbmW2z0a zq8DU@AT+jkI2p}orY;UaidUi4D*PQ;-8dIEd0Hu`Z++}noW(Vz#Ll0CJP6>5AW{38 zq9GcyBZsFPzH|x~F2(Dx36?Dh^TSC~MI;yo1NeNJ7t8G87i6dFnAs}?>#D8AZT1Cb zbkh8`qVBRRy&GS}7P-pAKfykJKkq2vf51~nQpK&ERN}&xxDc9fiI~futAOUkCz7B% zhu@yT!U2Bf;9fu&W-a}4FY&}y2G6aBi{+~s`#0sA@j{T^FY%@4_U;}1>c*-%ToSSX z56eXLuWuEUL_6!I=Dd1;iU?i0bLb(mapLOJD(P>>CPFH5;$7Y={)(P8?rZGv_;o2j ze>%(#YVwic0s3l$yIg8*A2(6!U%?=yh5c}^GUH?#O`&htB*J;ppJJT@3Btm?$6 zT~;4DPtrSdH%vqY(q=H*bxC2~}<{YAeSIwDJv&Qh7w40?6o+#VET9!#z<0B$t=bifz3AB{XSi&~V-)d|>LNXvaJO>kU$;^Q`K*I6gIGJ1od(BT@>EC>JwCnz%ISDqBBoB-$_< z0zbT!^I|fWKC4sx>w3SAe#9ETCn$T=oH&RXh5uWFrjuGiTmwI!@^iN0nVG)W`*H{TQ*}b^cJ)5r8U4ZwT1lwu$!3uD$|>5XAmR$V zc!OV#Kw&Q-lXer^4d?shd`5m8leNUIPV9XCyK&ksKGhviqZXEEtn1730Vl?;X6dRD zR-5-vNv_n+a`zL+SpupG&TQ<7gjzXIkBw|wtMuF^I&1K^&fosAd}iq00-;khbX_&Y z7YdNS8%&5Mq=Zw8=v z7t2mzwduAtEst5DH{fcpq4wX5Zqs-UDL$veO6Y|9#{8O@n2SdzszsRGIWNL!^Q#nf z`P|f-Zp=v4)4^bKTVF=A{@Rzs!3lcguEy=%I-uc+J&YAts`?H}k;*6km_h?TQSf&X zHRZSdR+T8qQJ?T$$_#a%*f`v1C6(6dg>74lEj0D!7x*3y=K zI#+JJYSWIzhtN15Y3wh^-YCvsUPG7p`JPTS zLypAHl&dAmI$kG-Z%%)!{EfoZrg-5pd!z?pGZx7jjCw2}o2)tv0cT3r!%`ApY4Y-7 z-)!&Ev1qR^T9!6AEs|Rq%E+H!T==gBUJ5JF7gGc^PK495KB< zDnU}}g8RigWSY&bS2<%Dv;c;Vc+$e0Aen z`sozK12?F27)u_Uh8h9$3Evu~;QSv5HIDx|p~lGm-xL}X0V^lVe-!?*as0OP@j*E{ zIT-6(L%C%|JN;K(mlZa`EkZ&F;Cap@7BN@2u%P`u7=|I3Nf=ll379PcLP|n{t!e@> z*GM8-LZE=8d;KiO?T7Cljh)t<=41Ek?pn(g@2fo{W)Mg!K?F8AXAm4(3L=msz*GOE zM-e{&0y!xN2o%!eLl*!1U)khZIOmN}JOu_2-2*-ZDhWzdPeXaY9KSyVhrq@bCIJx` zLOU%n5hXAPkchv)S+5^N5sU!pC14=HV-UbP1P6-fWO;zy)1QG$+*u~SUVcEHmM#E9 zb8~TjT_?W;XcWjs&_O^Cy(ZwrBdS8$RZIY()qy;-8{gpFct?RkZR4O|US8hdJ~|3Q zka-<{Re)VcVQzq^dy)#$Dmcd z-6HBRE}TCRpz0bR0j;*5KQ+oXcGU+q0l+IWj$c^Zzn#7BI^SOc(Ko)or3C_Am0=Sb ztQCBOq8tU*QC<~w3-l@h z2r_J|JEklp1w!CZZ22qs9mELG_Z@$QuRz;`1C0CBzFJEAu2?;Y1#$bn1gGEKseeRN z9S8<;`<`n@l>;*Kd?LR0Rr#PF|B*f9FZ`_K`nic%+{(`OeRKB#{>JBD1wFp}!p=Xw zh7tW{?}K^w)P2fBNb8*N^=zKqtwfaz*x>%*<-?G`Jq8WN7?^E=>s7v=fa^y3>20^L z(*!v@NePqK1oMj*t7B)pm4GThLITi@uXGL&==Lc`AfN&Hn^#K#pz7Mh-v{SU^6gGa zG!LL37X5&VxcBC{tZK9GTU_V-m#7x)XoXhi=;z|ok~&|GzKr&6lVw1KZMB}O?Wss1 zd`!{KTFocGaq5z?Htz#=(8hYkA@QV=US zR&&;ew%RCmY;`ljOw9aK6wi)Ig}Y;7nELGDbjOY>dvB+pOq=v7?s^ud&9%Z|h&u~; z&K8yqtE~hYm~iPz)H1crMVwYr6!f3WKkA^U(hkS#JedZ1qko~dNe&CY_eB}qop=PZ zc^$?oaA#yMdy#2Xb}j2kupGIL8r4jQBF>Et^_ukB!aYTJIYy2uyV47!`42R;Zfi`J zD-n-YCAd^U|K&K+AU_86-rrX@qG@hSn+Ck|KE~A%x( zX}JW?RTvTVA62j2A;?!_VQ`n>dQRA7CQ_G+1}`m{6Km24Zw7iPZkAFjo(kQ39Hffc z#`2(avK61KbJ7eMxf~_TwOOTXff<~AlqUWGoA<`>6^J~_qjK#+L}$Ol?h0DTgBI%D zjcIWR>>tDiorqD(t)%(*XyKO#=YkWUVM$QAyhfOSI+$gm17q0SJ?#L|pm(9FS77t9 zPQC=6X`CNtjt3{((eX@1j7FjQI+ZA9Izbt`qf($V6BKBN!I)@^qO3dFcK;|}nMEMG zGE-MW3Cot8Be7!9Bf;Uq9>qTlENn;9_lZ1T2hlx_bw?OUixQG8$xc9zU0d_dOvpO; zZnD*01yfa#J50g9D*HpuF22SL23GJw5THTh6|~yp^f3Ad?jJ7el4!BeyR7KsmpLyF z0adr8;0W^h*W=SlWfZe@2=LwU4$2}-+xDFSBOE`$a3+!wZ;c3!_`R6TPC;FB*3B>p zdX`GFgZ4VUj7ISzX#Enx*b4SgU6wkBPs+GZ%KKs~U7|`*LF7YjStQFDH6QDSao&BN zU9@Vh=}5AXs27DPb#yWDJKPL`4h}Yso9hILvk@|tkM#LR^MIQJj`rOV*j-XTs)#Qd zHXk+W4;XY%4M%%r`mqX62j2qrx3>&Wo0vAE^Y0c%J8*Bmo6=f7z3{I({gTY>Y<0%i` z$FUX26>K;WXZU-3u1VOh*GbiWq3`EHJ_~)2PIC3i5YR$5*DdcC#^X8IoNa>Q%NlE? zMeJNo$>1wB|0mnLr_9)~KD5yGNHDP0W|KIYm`D;EWf4)RLDiNFR%QyAw`Sufh3xDn~8J$&Q#SKq90DP!{$}YmXI@`5D9jpt}W! zy3>$M9vyMU>9-qol^il>xoJFkwdM@O9upmvVLkPtw|6xGxIfVub;ntil5zSzfL(!t zvcn6dmU=6hjMcR)BnpEpWQPg^H=ISMYAO~R6)K48d*Mc2*rtl;?;)m`WYLz4lcf?x zV1$kYk5x1flI+oEEFvgNb+4Y9MZka|Dcod?V&!7{c#Ij-YSz5iq6qZ)4;S63e3sz_ zgcX!MN)}X3wc??f9qZeB8>_K|)Ph4QH)o2Bhj;rcndcxX;E-nAd^{uY&ra~orLMN^ z%GBKf6NSK}n$ZM(sr?TQfp;=8G@yqvS*tdQ7WG?Fm9(MM~%{ zNj4%FPXof5BafUY`FXfYjHdCOOO^(68!?bFzHhmu#S}hCD|UxPIf7j<+(y&|xON(Y z#Ux6I0$bQV=2znO=@K0d9`-w8&W0|4{tYqLWUd092*F!bC8BoVY5enHg<_rllu>a& zl#V@EbrX=A@(Qd_s4(Oh&@xHY8ix>#=Bec(Pm4b*be&=9Rj^Ya5+8Q5OAyEs=HuAkg`h#Yq7#N8HI20Lci|8uky zRZ44itvz*4_pmD{Rm{PCUu{FCRol{(ujVzm#bm<(?w zAHI#A3|_n8t~zH!mybH%J#PLcaXsDSmadye(hjcF4ucencR`rfDPCPR99^1qAOJLeF_;l<>Td~d>Bpi?!7VO1ygFZdtuP{ zdtW$ZEUdFzq9pkx`UWnrb~p;+wZ~F;{<^ueBC4}iR;Md9woB%TCV%SjiuPYn@;>r( zpiAAFzn07+Fur%;lv=y0oq}#i{>N(_tab`3UJ2Xev}tWZUJM+GozW9GUmlC;=sFlT z$kC;3nfo{I*4u~ae3IAl@Gh6<3Obp@{FAbR5-umLXM7L-cBAzdy50b2!=%*UAqT&H z)7%zqyv2{L=&CV!LSC+%K-XA}>jWNDe|iJTrWAZ4WueCn?3Klx0Q3lz${Qu(J`W;`v;f=i^JQ{4;xb|m5L8GRdp-$ZV z{myJGnIaq9nX6WJ)Qs^G$8hY_c<(L9P|Oq{QsePD7l@ojhod*swhLR-Q`1&+y3)z< z+dwg8N7bn0QwQm2M6G#f^wD;s)U@ke*e1nd943ID%f`1yMo)38z|e8kn|qrj)-eWQ z$tCQ?)r- zkJVuw1`+)*dv-8)@7Rg1HD0eSxExE^HTpj9BQF?4JIEH23)Be)Vb{Kh!x+8gDyDs` zm^j|;J-v4cfj@VI*cX!I%i37;r?c-F(HvVr`tCQ#9)N;><+H>?*?53f$~zb*trgR~ z#GhuXYd0m#H~Zj%gwh@xjlXplJ3_I@*|3<9dwqR$b>}*68R~TFAw5wJax*7S3OXtrIq%V@S)MdS zXPg6f1QRPZV?wGDpy>WXr4F1-k>Et8-X6K9%#@I-@bH}Tp`dofv*F9&xhvpuI4Sg8 znE-~B7LAt|yQ&bAQ!d+>h)1R1Ft#{7^)~BbnPwKc$1Mgkj$}MvS)>mDQ^PAt}YYk^| zo8ezs0|1A<`FQEdfb!8osvAkfSfZ;(G%1TCE38rM10q{7c_yM9)#EIlws|d{+f{^v zd7cA5MvpZxd8Psjz(cQsSzs|MixH_-K&juYl*lovQkhl zFH+EYt!(anaIv-9HVo-}!J2tC%UWEwbd{armZph`o#YQ+0EH*74V-}bZ8cPqimbRL z->$kn*_WD=J=XwJlQ^uC+aK2-61(5bl4Ju3j*9z|a59T22(8x(1N{>C{6nx^vZJP^ zeF(610&uD6d+QfMvv>=tHzb>K0}$`Ttyd6igwQqfG+jhUNzw7C7o7;jvLzHaI#7n> zQ8e0*tRlRD~_8P7ea1~_A8W(-qLvD3swRbi-+&<-GE zSj|`NmU1Is?~8xuN@E zI5MmA(N3b#u?>!So|3saE<>W&K2E#zi#67@vR=*3+dBB^VccVfVofG*O!MmwJQ1=E zH9M(B3-DOZBAYxonTYo$-3J{mPF@UMG)I8srVRmBZr)x47pXMMM+ItsH0St`<*)Gw zhwVg<*m=FWR_R5Yp>=m-y<1O_EJN!ThT0I-Gy*wGB}96bk9a&?eCb@N(_zD?Q3rE# zlZ{E=Hp6;ep?9Q(%nRD+E|ZNRb4$1gks67yyy*|y(^Hy;ltf2C@!lWjwc#Sk(#^XT zc0v}Ezds6B0Y5S4N_JmdaR|JbG*j)rN{y?++sv;JH8K*saBCwv?Uba;fKLYV1v zd622b(pe?6h@B7)x07HT&SQKKGK8I6O?dTKsFNIyweAqz%?GMKG(n6!@5{&?=;gtw zR)=3fCHn?2!o*?s2{W%mVJ+yBzp#a~h33x>7`E0h_$wExYNY0vwNUAdXBtOjjovHm zveKU@^wR;gYW!LsLcq2XV`U*z;P`#StS=bS(9~ejU2%5U&2y3R-Gs6sqgUCn2Btb{ z{rkETZN9wRn3CdLtkU%U)wj-+S2Q=tiIyJV;-hIZ&U4m(ESJ^*PGta=)?b(|ulN+n zTim3sbrGATn8akTk}dHrUY*1x}7xhMELV%L*shQ0=0 zO0pXrVc%6CZtt3L=y@d^cvzfldlbIgAWSSWhYhN|T9{54`Qq@!MP4O|F?Butp~{mp zQct&7R9)~~uwIz}+G2A|Sx0%F4H7|ReqnEQO)J7t%4N?)m^2rdAa!XMa{gjLhun|q z4hZCh<y9Gq-3Z?2_j z2+mUKcrVC#UG1Qa&@yQn!*tmF;yQStYQ_&=il9(wozKgHl#n#8Tn@&Pm5^XV$X9$) z54FVQ5v5kOct^{FKrUI4GFypPy$`j-$p|}V>yB?~m!6LBR&NfStEm6aI}`c~vGH85 z_!#lqr$J3g{U7VWL>;@L!;6k8(xJ5*{WZsH&CAfFaOf%=JaXkeZfrgsP1h0u!)R|XHmNT^$l($M}D2kewFMt{X4@EEmssHJc4GUa~etn6iw zZbersOivi3&oukg#A!7>Ml^Fro}}?D822=5US?rsRNUgKs6$Tz1idJRJlkkh?~14*{0@$O(yV;Pzqnf8X01 z5=QauE>;)$?z&$IL?mQ* z143NXWqPb*AMoy-__Xpqm8uGHp1&uo&0ZQFiXgpvH*yFx5Q2UpiukCC#Pd@uz6o3$ z1m*b$=p<}b10GufOLf|LvQ6rMZ5zI?qr3VsPP32rBK}C=lFL#|IzFfMb)2pfV@I0E zu-j(g#SRf`mx_-vOcU};!Enp}ZNiufkyfeg2>g~-!@K7w%gv?(t#+Q-F1|F;UQUx! zLS87DLUtsB`cRJ7Ue9*Xw!9)aPw5PFM zeHw@V#{_&BQ>bWLJnIz02x`(3blNd@otRD04G}69%)?OPCMlEgLHbcif23@I{Iy6) z!1TkVQGIiJ418og5b8xIV86*aQkG-W;S||Q3xo(tifa=~xu5-Kn3y!BK3c<-^R#s+ z%HsiM;kc2*{*T080h%c&Z8DWpITEV|=lZuPfz}83jkOshv(S{Nx!XM%Ih*F{)to$0 z$el)!gh`9$t~~aNi=M@bpjM$4K;Rd<^vaAWAh-i!WOK;uMXulgFsQ6tnFx$GxbDrE zR`yu^h*pLDAY&hhx`YPFzO6!w0!p0}z3TPT?)MdLd#al)R0UyhycDP~?>VZl>h_}{ z<^kzeHQ)?drrcO=Gl`VT&^-spIM}V_nwroHfMMoAwN64lOQEBI1R6XX59X+r%J9D^ z4biN$jy_)4sjn4Hql8M_hU?mw&iYFvcx=z#KE;=96%L1o zGe?6HCa$d!#7!m_Og-iAztwR@k=BGVj#=lN$lAlv3n}!v@fApL#@MRQc-)EWz=;>f znue88P#Sk%r|J|jc8~M;UnW#Pjbj}jo4Z(97P`|sUsC6!>35rxpRQN!K)c?!D4PmayC;qP}(Qx-Yj zYi_{Ni!#X?Kg8ZX-#&zMq#eK1xF>z3)Q7jariRe8GYdQ(tA5Afi&)K*PPhgc&tavRY|*SLCdG~OjZMSl9XmdWdy+S8PH`Erf2wRNQJZf?cRqp7)O!Nbd6ztTh9 z>Z13uMz+)Rbi4a6vxP^8io3yw4D&<2)jxpm@_Xw$J4sp*nr}__{6MZ18SdVb7YFxj z)bUv08PzE1arF75!!kF`?J$d5Z%ajeMK8*crCUOOL4Gsert-TY^eUeYDM8tpQ)}l` zo$Z=0uIq~jzGbZ`lumC-gg!g->K5wWq;*%ct(6c7Aj2*?|j})`$VGTBWK1 zTy<{hr^}Ki^PA%!`r+HXL2AD9wqv}e;bftv>8s|eZZ6>gRTFKPs=@l{O3ER(fj??< z(f$nwzW5*+7-pXp@DGPTUPc&i9DqQ?EhQOv9Y7xBKMsIJgm!Qgzky)|Hv(rrkq#{c z3nl=u)DVD*{8<(M{&pY+VGk+oSC|2VIzy*;aUfhsjB-;FJu|1dNQSHttv^9~Q9umv zgP29w$RUpBIB}tSFcwBUFsb4I=WJP>Pj|nX^t+A;-_GxI7**&Z`+so>h198dxx~-O zXkd4fqn1P4K(MfM;RY3s*|831Xu(AppnIUlXhSC<1~=9*YVSQkk~{39&0;(3e{s(~ z(1JdCYz)v#`N-fb##iH-51q68Yr8O!-jnYbH&xPKlJ_?cK=+$R!)2XGmU8WVRZp=M z=}8$qwO%pYgm4J`N*5(5%*4u5m1a|pa{@ah%Hd}GXKG!5RyHsCc`Xq?=b2uMm2V|y z0(80He9lN-ix+lNm;33n!F!`%e9}d4sgc=xPbUiKA%Cnc^Ec)x=)G^AA!(^Kkkt^J zEp0z87qjC;`89$Lj)ylS5x>CguL6hue*wV8@IM9s>;Dr0Fhl+!>5X&lGSKf`8(Mhq z=`@Km(xVrp@V)x2<$8sT9Gm3`UbR7Wfi-CtQ=*D%#YM%vXuYI6T*q4^D%4Ox7kYus zJ29dSme87e($ALpJS#dun%UDn_%Q36Fc50?KCjwRy8-X=Bbv^=rXy2Y7z{O1xD=uM zybIN_mg^dAypRjlCBMxtn82`+ux&GvIYo?y`FdQF15M?(E~Z4ej?-M(n*4 zV7Id(eYw9lIwUBKiQSOW6~la+%q}d{%fuJ5LG{q1kmcDW(Dlr5R~}RJ&U}3X?eR>_K{+us-LxUW*@gQ{(&T8zFp*_m9!N)gMXsa-(UTHZYHhZ??Gdl|?OqpbKoS ztTVGakQ+|_TH0xKxOq|*{48z(MKK4|17_dSZ`OZ zE7rkx`ZD{H4VNQ(HSnvB=2wv8Y_?i(XiU2;0pKPKnJEyae zyPXD}iGpXwjKe8wyPz{#!JGTXRaHgoF*)oEkKuu#+48^lXR$ryL#9Zwc{eA1&3bbL z!}mY7Q%kEZ-CTbENzY!(*?2a~3%Jv3HYny?4O#xE-5RSqa|NqSYK>iHI2#F2LX|du zcTr8VQSHst8+(hOeegm}>-e;#%SZhf6qBY&p1DJv#*n4NG~!Q0`;JHl#9HeQ&}k^NRN$(=4rF+ z8Mdn%SG##Prg+X_xi6-7zxSLRV1xZ$Tx2=vhdgkLs~`(1BgQLiC&Wbz%R5I3#E}@r zfygnJ@hK#nlt}*=#d()cI93MdBlHR5jWmCDtzbVN{-88)@<%)u8})s&EPWgw>+GYw9=A1M7;F3>%o2AGM7C2gQs}&gc6lcw*1ju!gPh(vDfQGa&#le z_3`~2^`xc|zQEIJOE{Fgref-e*CrFKa&wgT@L&h*&y4#m{M|#D+XM6#*y7IyfpOH=Ji44FZF)G zklpWbH^U#{1K<6<;{T)ZH2%R zLaR(ZJ&>$OJO1g}5@r0c8_}Fz_#lLm-idH`{@}xd-=LG(xMM|=q*OI%U#p7Xc=oL} zAJxp!t!Z~2PnLe4^N_EOD4wTO3GrJ8q5xC^Sw->#-34>6M$*)9Og%dv2e1g`_D zBkTj5T?9yO*1!N*>|@#mkmDsP(J;bTWY8K6{9CS|mEW2~Ntc4kL^VBIrcW58+yy#B z6VkZ2A$D7rr$-HD0WdpA2hhd}04_6KFL1hFcRH&gNsGJ-=$1?Rn6}9bpFx@@Sf{?= z=aE010k#OiXNe_8T-8_t_=J_tYR#ZpXq!+OL3fN+ozzh4UI`6SzyPK5TnsTYp}0X%~-NoCvgaQEJyVBE?#X>zAC^R zft~}r!*Wc=Z$QI7ic7;Wsyl--$tW+QTIdZrhH}SI>W%gWl)d}d%|C5M!ap;=XI`&X zKWD6)(xiBdB&0b3kTJat%4jaautHb^Q}~Ui5QKe@Sz_Gu!DG_q^;-<%U)>ez-lV#} z?^p)Lp;A_@esIK1?FbF3ZYNe2ZEh;C>;(rH`-C^{`GzF!V$)`-lvTT}On3@0I0Ol8uXD_^MnL&=kf8JO!wv;D@#_xA57dpR`j@59n0GK1!Se<99ScX1KAqY~z?t|vv88RE z7`o5H4wT2e^ZR!!-N=J8!=Iyzqvja8!(aH5^Wz6^c5ab+ghurm;e0(s0p`y)8`>xj zv0z=rJl*&Ovyatj%B?pCcXe0$O}M&-^+^t-DVb9hVTL~|87^H%Z$}xLrCMu6_|@o3 z6>3!32F4I&w0=keqJFf1Y5;J4FW3Nh0=u+W0O#c?t!@C80N6k{0Mf8>>XpHO0AsT>H7xigoXPs(O76gYQvfWlLj1;-O(WM&`>P~d0+s% zmq31+z;?TbIM6|KaFKA<&5KNccz!SHLa}4K4|(c9SRk3Kux04yRptWGyT34I9pL&! zbZxx)0+=J~dx<&ML=iUFU4sJ-}WhymXl7)|j} zcbs4Y3DjTWvohliBC_cvEW>fwN|78rI8p}`{BTj+VX8E+y8y?$&Xh|~iYnC6vO?C; z)yi~Xaj=Rts-)iCw0qvsq@8;my9LV_^su)ols3$BYS?G2K(088i1?P2rAHVi`^z{B&YN~Hd{4GHcM0dWu*z#c zI;KCKiC;Gpm%h5jKc1OiH`>p=wT(Z4li%=EAN;46KY9&6!s%c5LeIWt4L{h4rsm@t zQBD(QDhIjTcm*4cbJ?Yo-4u@+bCUk-1{eodg4~zztD?S-NIE;(USF#yKfsRRXY&66 z%q;&yFf%eRG5w$Ku`0iznFFEw_lGz<;C!HE!hWa{2AJ3wn8Rv|S-`LkZn!w?Py^vc z=;z1%)atQGd|-6xoL3iSOpepb%FJjw{_~8ziZ|*}t=nd9Dc|&ZFZ+MR=8c#C6`OJP z?YccbRlc*HzYKYjU#^5-7;I#96CMUvd$U8`p58YphgPoAwB<^>d?S9QT}G#5BGw+< zKU~&hm;p~pug+*Wy*+xRM(zvii}HN;oi?vWZHqstg2Y0WIGR3i*Z(UzCp-9%zBJ&5 zo(+_GfprR1IIKRGPN06hbh5yM@b}=$+P^ULTt*HTWc^66$CjRDbNEmm^Oq3*#@gnt zA2Hf34<39tTSOKKd79KC1YL!Z#h;fcx|9c5&#t#$NE?)&YB1IM@DCm6FN~Tq_ly`2 z4mD_1txOQb4E|hG_7l#~tM1UfMJT^3jB$l%%Y;BZ zQHd{)^!dd_2r0EnfWg8`<5kEEp@FSZJl`_(ZJ3SA7e)x84k`m-YG9<512IP0d6o-> zV1XHwY6PhTZ3u{KA~Zs@E@m}QTnJ1e)=RW75QJK;0-VDEJ7~2CiV29txf{^hRoWm+ zD)z>xMr?F_>|~xfuu#gBaP)IxDIxMe#j=4k8?F9jChG)kDZdKBHH3y4AFrm~4Pktn zy)}w#5z&h(4@mIn5Xtz zUZ!>}rlUchn?v&W43b$^_M7%2@9!ET82B(xCtRAl$3Vu1P;bO*ksyHP$iG?~TMUPa zj8y1P)FovwW>p@1VRx<=QTm9~KL1P&N4#~Hnu}dsdu^`Nh;t8cn`A@$21RXoc^djQ zz}E8tz&GmSzWT|2u3gjHeCtC@F%;kA(vCsZAgY^J6py;VI_)HH%}De%+O< zP`kl2FP@Vjo70%9-73|ne)U?+z{WjZ_Au5m>L76N!Opok;Hl33SpJ(j5t%{wD#6$g z&!m6ml%~bIhHvr8WtQ!uF_)XfSEb#LVYqdhhLKq*rj=vUjZ2S3)W_m!CS~TWTcrHQ z#~i&RlW){^j;WtP<|;8P<9F#$S-}S#{!XDE77V%X{2!N~_IYabjVf-*%>%0H)LqjW zd(z8LHw`MUT$aJM4JvNA%>%CL)Su@is3gWkS`FV6Mn2i1BxN*2`Qt=LPH6FZ4PhXe zq9kp<4bwzO88k%wroYv-BE`%a!-D7{#ng-uAuni%s{awqtGJ(5_u&4q!MKs>Iek2;9cH`cE$ws zvIZ84PS*b|6CmK=;2@y?V{YYS?C^WF(swczF*dX{`W+}k@atNByBr*y2pHKo{tqt` z{p)2=8DY8}sJ)8Bcnr966_$|M5x_YL@HE_nk|_w@-+#i9Z!8Zcgaqs;1qdLfh4jS8cGLw99;$&!ED78MBw+{vJf0DV^qL@l^#vev0E}E= z5QkntVgiIK5im&%qqKGX0CRxE?qPUo6bFE5j37oh7HTLet}32V|;aCjV_c~2ZMh?_;l<7()k=ULIH zqsG5$@a_^odPPH;3v^*E9B&VQ7iyNUad^Z#3Qqd_FK*bjoa>BGgnK-uGUw zoL)XwurX)*ro^LD!qD@skc`-9>nQ-(1&{=enx`n}bVnRDJc!y}YNqn7tu$@$*vYr` z@3A-+0!hMqM%C&T4GqZXrZyWQa${Rhgg$aL5<`Q$!R=FoV#C`vHB~>4a1HBMZK7Pi z5T_DcG9`Fjso9)1UB|*W%qeUM=Sk#X4hi+BMcE;f@O+Rccn6?G)X&y|d@%meVKT~K zjknn~tt_Xf6UxcZ6wQS=7!gLZy}l3KU#)2r@SZn77!&xmB#$%}>kJ&uz-n4E}x?i|%fxcf^z1*$DlMMgls>{b%w<36;KMGn~M_=q!N{Zu8!si7SS(SAi! zA+`q7COY1p?m>lr-6Kg3hk9c67~w(M-JsLzScQ1^{nFa1E5q(9yG0af%!!G0)-ce) zS6@R_RmwmuC}U!^h#ITSUSs)ClWxP?!E|w*?^#QScT(-L9-8~C&b_>%EXuC3rRape zWc}IYA+u7t_qVH37xF^NiNs#W?VH_7r@W^IPSLa+dCq_6_S0{);3gKHQ~D&e-q(A1 zq5nVN`+qMADCq2DX6ryeK}kR_{44EoGPku6`NcBzk-uro6GwM;{xV(j4fI~4+EIz|>oR!$~1R%TizIyPEHIu-^xCRPG1 zivOB`l(~yB!S6JgwI~TJ?ev|@9F6q}T>d||ve7ZqvHs3V&cW8m+3>#}^1qD#w~gN} zMP~yGV?(F^Yhd?=WR~Ory$uu%DM~CTNKFA2V~IJ%sh}b(H7^BpiJ}?uDTR=NF(N26 z4PGo78G_3`EX5+EcnnA^$}Lu~u>l5keokp_Ua6`kpQd(KZ%lMv2L0si|g(CP@ZHiHXSu#;L}M=BbJ1X+WNl zft`)HiAkD;L29B!a-xxuxtU3diK#_OQd(M?nMJB`5>Q1fN|BtL#K5Qqybn8>O-*67 zh|8y|N*g~rELqCik@AUkVoyS$UigMtMgk}QvFXI|rOkKVV0pdaYQxPnw*_;yG6`Ev;@T%UAapK?lgWu$sChG7d ze3Ck(*C*2QlQmCak}rGC@6Ziomyw|vm#V6(zZ(|-fctyO literal 0 HcmV?d00001 diff --git a/go-virtual-machine-main/README.md b/go-virtual-machine-main/README.md new file mode 100644 index 0000000..1c97608 --- /dev/null +++ b/go-virtual-machine-main/README.md @@ -0,0 +1,64 @@ +# Go-Virtual-Machine + +Concurrent Virtual Machine for Go + +## Introduction + +This repository contains the following systems and services: + +- [frontend](https://github.com/huajun07/go-virtual-machine/tree/main/src/frontend) - web interface for user to enter their code and observe the output and return values +- [virtual-machine](https://github.com/huajun07/go-virtual-machine/tree/main/src/virtual-machine) - Implementation of concurrrent virtual machine for Go + +## Setting Up + +### Dependencies (macOS) + +You will need `npm` and `node` to install the dependencies. + +```sh +brew install nvm +``` + +At the point of writing, `go-virtual-machine` uses `node v16.18.0`. We can run `nvm install` and `.nvmrc` will inform `nvm` with the appropriate version to install. + +```sh +$ nvm install +$ node --version +# v16.18.0 +``` + +We can now install the necessary dependencies. + +```sh +# Install dependencies +$ npm install +``` + +# Local Development + +## Run + +```sh +$ npm run dev +``` + +## Testing + +```sh +$ npm run test +``` + +# Deployment + +Deploy by running + +```sh +$ npm run deploy +``` + +## Code Tools + +```sh +# Linting +$ npm run lint +``` diff --git a/go-virtual-machine-main/package-lock.json b/go-virtual-machine-main/package-lock.json new file mode 100644 index 0000000..243a17b --- /dev/null +++ b/go-virtual-machine-main/package-lock.json @@ -0,0 +1,37504 @@ +{ + "name": "go-virtual-machine", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "go-virtual-machine", + "license": "ISC", + "dependencies": { + "@chakra-ui/icons": "^2.0.19", + "@chakra-ui/react": "^2.6.1", + "@chakra-ui/theme": "^3.1.1", + "@chakra-ui/theme-tools": "^2.0.17", + "@choc-ui/chakra-autocomplete": "^5.1.7", + "@codemirror/lang-go": "^6.0.0", + "@emotion/react": "^11.11.0", + "@emotion/styled": "^11.11.0", + "@uiw/codemirror-extensions-zebra-stripes": "^4.20.2", + "@uiw/codemirror-theme-github": "^4.20.2", + "@uiw/react-codemirror": "^4.21.25", + "axios": "^1.4.0", + "cytoscape-cola": "^2.5.1", + "d3-selection": "^3.0.0", + "d3-zoom": "^3.0.0", + "framer-motion": "^10.12.14", + "js-cookie": "^3.0.5", + "peggy": "^4.0.2", + "react": "^18.2.0", + "react-cytoscapejs": "^2.0.0", + "react-data-grid": "^7.0.0-beta.34", + "react-dom": "^18.2.0", + "react-icons": "^4.10.1", + "react-moveable": "^0.54.1", + "react-router-dom": "^6.11.2", + "react-scripts": "^5.0.1", + "react-selecto": "^1.26.0", + "react-use-error-boundary": "^3.0.0", + "reactflow": "^11.11.0", + "seedrandom": "^3.0.5", + "util": "^0.12.5", + "uuid": "^9.0.0", + "zustand": "^4.5.2" + }, + "devDependencies": { + "@types/js-cookie": "^3.0.6", + "@types/react-cytoscapejs": "^1.2.2", + "@types/react-dom": "^18.2.4", + "@types/seedrandom": "^3.0.8", + "@types/uuid": "^9.0.2", + "babel-plugin-named-exports-order": "^0.0.2", + "chromatic": "^6.19.9", + "concurrently": "^8.2.2", + "eslint": "^8.41.0", + "eslint-config-prettier": "^8.8.0", + "eslint-import-resolver-alias": "^1.1.2", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-simple-import-sort": "^10.0.0", + "eslint-plugin-storybook": "^0.6.12", + "gh-pages": "^6.1.1", + "prettier": "^2.8.8", + "prop-types": "^15.8.1", + "start-server-and-test": "^2.0.0", + "tsconfig-paths-webpack-plugin": "^4.1.0", + "typescript": "^5.0.4", + "vitest": "^1.3.1", + "webpack": "^5.88.2" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/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==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/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==" + }, + "node_modules/@babel/code-frame/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==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/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==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", + "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.0", + "@babel/parser": "^7.24.0", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/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==" + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.23.10", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.10.tgz", + "integrity": "sha512-3wSYDPZVnhseRnxRJH6ZVTNknBz76AEnyC+AYYhasjP3Yy23qz0ERR7Fcd2SHmYuSFJ2kY9gaaDd3vyqU09eSw==", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/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==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "dependencies": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz", + "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dependencies": { + "@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" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", + "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", + "dependencies": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/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==" + }, + "node_modules/@babel/highlight/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==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "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.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.0.tgz", + "integrity": "sha512-LiT1RqZWeij7X+wGxCoYh3/3b8nVOX6/7BZ9wiQgAIyjoeQWdROaodJCgT+dwtbjHaz0r7bEbHJzjSbVfcOyjQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-decorators": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.0.tgz", + "integrity": "sha512-MXW3pQCu9gUiVGzqkGqsgiINDVYXoAnrY8FYF/rmb+OfufNF0zHMpHPN4ulRrinxYT8Vk/aZJxYqOKsDECjKAw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz", + "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", + "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", + "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", + "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz", + "integrity": "sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz", + "integrity": "sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", + "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", + "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.0.tgz", + "integrity": "sha512-zc0GA5IitLKJrSfXlXmp8KDqLrnGECK7YRfQBmEKg1NmBOQ7e+KuclBEKJgzifQeUYLdNiAw4B4bjyvzWVLiSA==", + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.0.tgz", + "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.9", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.9", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.24.0", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", + "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.23.3", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", + "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "node_modules/@babel/runtime": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", + "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", + "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "node_modules/@cfcs/core": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@cfcs/core/-/core-0.0.6.tgz", + "integrity": "sha512-FxfJMwoLB8MEMConeXUCqtMGqxdtePQxRBOiGip9ULcYYam3WfCgoY6xdnMaSkYvRvmosp5iuG+TiPofm65+Pw==", + "dependencies": { + "@egjs/component": "^3.0.2" + } + }, + "node_modules/@chakra-ui/accordion": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.3.1.tgz", + "integrity": "sha512-FSXRm8iClFyU+gVaXisOSEw0/4Q+qZbFRiuhIAkVU6Boj0FxAMrlo9a8AV5TuF77rgaHytCdHk0Ng+cyUijrag==", + "dependencies": { + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/transition": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/alert": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.2.2.tgz", + "integrity": "sha512-jHg4LYMRNOJH830ViLuicjb3F+v6iriE/2G5T+Sd0Hna04nukNJ1MxUmBPE+vI22me2dIflfelu2v9wdB6Pojw==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/spinner": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/anatomy": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.2.2.tgz", + "integrity": "sha512-MV6D4VLRIHr4PkW4zMyqfrNS1mPlCTiCXwvYGtDFQYr+xHFfonhAuf9WjsSc0nyp2m0OdkSLnzmVKkZFLo25Tg==" + }, + "node_modules/@chakra-ui/avatar": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-2.3.0.tgz", + "integrity": "sha512-8gKSyLfygnaotbJbDMHDiJoF38OHXUYVme4gGxZ1fLnQEdPVEaIWfH+NndIjOM0z8S+YEFnT9KyGMUtvPrBk3g==", + "dependencies": { + "@chakra-ui/image": "2.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/breadcrumb": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-2.2.0.tgz", + "integrity": "sha512-4cWCG24flYBxjruRi4RJREWTGF74L/KzI2CognAW/d/zWR0CjiScuJhf37Am3LFbCySP6WSoyBOtTIoTA4yLEA==", + "dependencies": { + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/breakpoint-utils": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/breakpoint-utils/-/breakpoint-utils-2.0.8.tgz", + "integrity": "sha512-Pq32MlEX9fwb5j5xx8s18zJMARNHlQZH2VH1RZgfgRDpp7DcEgtRW5AInfN5CfqdHLO1dGxA7I3MqEuL5JnIsA==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "node_modules/@chakra-ui/button": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-2.1.0.tgz", + "integrity": "sha512-95CplwlRKmmUXkdEp/21VkEWgnwcx2TOBG6NfYlsuLBDHSLlo5FKIiE2oSi4zXc4TLcopGcWPNcm/NDaSC5pvA==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/spinner": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/card": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/card/-/card-2.2.0.tgz", + "integrity": "sha512-xUB/k5MURj4CtPAhdSoXZidUbm8j3hci9vnc+eZJVDqhDOShNlD6QeniQNRPRys4lWAQLCbFcrwL29C8naDi6g==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/checkbox": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-2.3.2.tgz", + "integrity": "sha512-85g38JIXMEv6M+AcyIGLh7igNtfpAN6KGQFYxY9tBj0eWvWk4NKQxvqqyVta0bSAyIl1rixNIIezNpNWk2iO4g==", + "dependencies": { + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/visually-hidden": "2.2.0", + "@zag-js/focus-visible": "0.16.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/clickable": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-2.1.0.tgz", + "integrity": "sha512-flRA/ClPUGPYabu+/GLREZVZr9j2uyyazCAUHAdrTUEdDYCr31SVGhgh7dgKdtq23bOvAQJpIJjw/0Bs0WvbXw==", + "dependencies": { + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/close-button": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.1.1.tgz", + "integrity": "sha512-gnpENKOanKexswSVpVz7ojZEALl2x5qjLYNqSQGbxz+aP9sOXPfUS56ebyBrre7T7exuWGiFeRwnM0oVeGPaiw==", + "dependencies": { + "@chakra-ui/icon": "3.2.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/color-mode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.2.0.tgz", + "integrity": "sha512-niTEA8PALtMWRI9wJ4LL0CSBDo8NBfLNp4GD6/0hstcm3IlbBHTVKxN6HwSaoNYfphDQLxCjT4yG+0BJA5tFpg==", + "dependencies": { + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/control-box": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-2.1.0.tgz", + "integrity": "sha512-gVrRDyXFdMd8E7rulL0SKeoljkLQiPITFnsyMO8EFHNZ+AHt5wK4LIguYVEq88APqAGZGfHFWXr79RYrNiE3Mg==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/counter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-2.1.0.tgz", + "integrity": "sha512-s6hZAEcWT5zzjNz2JIWUBzRubo9la/oof1W7EKZVVfPYHERnl5e16FmBC79Yfq8p09LQ+aqFKm/etYoJMMgghw==", + "dependencies": { + "@chakra-ui/number-utils": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/css-reset": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-2.3.0.tgz", + "integrity": "sha512-cQwwBy5O0jzvl0K7PLTLgp8ijqLPKyuEMiDXwYzl95seD3AoeuoCLyzZcJtVqaUZ573PiBdAbY/IlZcwDOItWg==", + "peerDependencies": { + "@emotion/react": ">=10.0.35", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/descendant": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.1.0.tgz", + "integrity": "sha512-VxCIAir08g5w27klLyi7PVo8BxhW4tgU/lxQyujkmi4zx7hT9ZdrcQLAted/dAa+aSIZ14S1oV0Q9lGjsAdxUQ==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/dom-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/dom-utils/-/dom-utils-2.1.0.tgz", + "integrity": "sha512-ZmF2qRa1QZ0CMLU8M1zCfmw29DmPNtfjR9iTo74U5FPr3i1aoAh7fbJ4qAlZ197Xw9eAW28tvzQuoVWeL5C7fQ==" + }, + "node_modules/@chakra-ui/editable": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-3.1.0.tgz", + "integrity": "sha512-j2JLrUL9wgg4YA6jLlbU88370eCRyor7DZQD9lzpY95tSOXpTljeg3uF9eOmDnCs6fxp3zDWIfkgMm/ExhcGTg==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-focus-on-pointer-down": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/event-utils": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/event-utils/-/event-utils-2.0.8.tgz", + "integrity": "sha512-IGM/yGUHS+8TOQrZGpAKOJl/xGBrmRYJrmbHfUE7zrG3PpQyXvbLDP1M+RggkCFVgHlJi2wpYIf0QtQlU0XZfw==" + }, + "node_modules/@chakra-ui/focus-lock": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.1.0.tgz", + "integrity": "sha512-EmGx4PhWGjm4dpjRqM4Aa+rCWBxP+Rq8Uc/nAVnD4YVqkEhBkrPTpui2lnjsuxqNaZ24fIAZ10cF1hlpemte/w==", + "dependencies": { + "@chakra-ui/dom-utils": "2.1.0", + "react-focus-lock": "^2.9.4" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/form-control": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.2.0.tgz", + "integrity": "sha512-wehLC1t4fafCVJ2RvJQT2jyqsAwX7KymmiGqBu7nQoQz8ApTkGABWpo/QwDh3F/dBLrouHDoOvGmYTqft3Mirw==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/hooks": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-2.2.1.tgz", + "integrity": "sha512-RQbTnzl6b1tBjbDPf9zGRo9rf/pQMholsOudTxjy4i9GfTfz6kgp5ValGjQm2z7ng6Z31N1cnjZ1AlSzQ//ZfQ==", + "dependencies": { + "@chakra-ui/react-utils": "2.0.12", + "@chakra-ui/utils": "2.0.15", + "compute-scroll-into-view": "3.0.3", + "copy-to-clipboard": "3.3.3" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/icon": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.2.0.tgz", + "integrity": "sha512-xxjGLvlX2Ys4H0iHrI16t74rG9EBcpFvJ3Y3B7KMQTrnW34Kf7Da/UC8J67Gtx85mTHW020ml85SVPKORWNNKQ==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/icons": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/icons/-/icons-2.1.1.tgz", + "integrity": "sha512-3p30hdo4LlRZTT5CwoAJq3G9fHI0wDc0pBaMHj4SUn0yomO+RcDRlzhdXqdr5cVnzax44sqXJVnf3oQG0eI+4g==", + "dependencies": { + "@chakra-ui/icon": "3.2.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/image": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-2.1.0.tgz", + "integrity": "sha512-bskumBYKLiLMySIWDGcz0+D9Th0jPvmX6xnRMs4o92tT3Od/bW26lahmV2a2Op2ItXeCmRMY+XxJH5Gy1i46VA==", + "dependencies": { + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/input": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-2.1.2.tgz", + "integrity": "sha512-GiBbb3EqAA8Ph43yGa6Mc+kUPjh4Spmxp1Pkelr8qtudpc3p2PJOOebLpd90mcqw8UePPa+l6YhhPtp6o0irhw==", + "dependencies": { + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/object-utils": "2.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/layout": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-2.3.1.tgz", + "integrity": "sha512-nXuZ6WRbq0WdgnRgLw+QuxWAHuhDtVX8ElWqcTK+cSMFg/52eVP47czYBE5F35YhnoW2XBwfNoNgZ7+e8Z01Rg==", + "dependencies": { + "@chakra-ui/breakpoint-utils": "2.0.8", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/object-utils": "2.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/lazy-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/lazy-utils/-/lazy-utils-2.0.5.tgz", + "integrity": "sha512-UULqw7FBvcckQk2n3iPO56TMJvDsNv0FKZI6PlUNJVaGsPbsYxK/8IQ60vZgaTVPtVcjY6BE+y6zg8u9HOqpyg==" + }, + "node_modules/@chakra-ui/live-region": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-2.1.0.tgz", + "integrity": "sha512-ZOxFXwtaLIsXjqnszYYrVuswBhnIHHP+XIgK1vC6DePKtyK590Wg+0J0slDwThUAd4MSSIUa/nNX84x1GMphWw==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/media-query": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-3.3.0.tgz", + "integrity": "sha512-IsTGgFLoICVoPRp9ykOgqmdMotJG0CnPsKvGQeSFOB/dZfIujdVb14TYxDU4+MURXry1MhJ7LzZhv+Ml7cr8/g==", + "dependencies": { + "@chakra-ui/breakpoint-utils": "2.0.8", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/menu": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.2.1.tgz", + "integrity": "sha512-lJS7XEObzJxsOwWQh7yfG4H8FzFPRP5hVPN/CL+JzytEINCSBvsCDHrYPQGp7jzpCi8vnTqQQGQe0f8dwnXd2g==", + "dependencies": { + "@chakra-ui/clickable": "2.1.0", + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/lazy-utils": "2.0.5", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-animation-state": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-focus-effect": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-outside-click": "2.2.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/transition": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/modal": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.3.1.tgz", + "integrity": "sha512-TQv1ZaiJMZN+rR9DK0snx/OPwmtaGH1HbZtlYt4W4s6CzyK541fxLRTjIXfEzIGpvNW+b6VFuFjbcR78p4DEoQ==", + "dependencies": { + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/focus-lock": "2.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/transition": "2.1.0", + "aria-hidden": "^1.2.3", + "react-remove-scroll": "^2.5.6" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/number-input": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.1.2.tgz", + "integrity": "sha512-pfOdX02sqUN0qC2ysuvgVDiws7xZ20XDIlcNhva55Jgm095xjm8eVdIBfNm3SFbSUNxyXvLTW/YQanX74tKmuA==", + "dependencies": { + "@chakra-ui/counter": "2.1.0", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-interval": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/number-utils": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-utils/-/number-utils-2.0.7.tgz", + "integrity": "sha512-yOGxBjXNvLTBvQyhMDqGU0Oj26s91mbAlqKHiuw737AXHt0aPllOthVUqQMeaYLwLCjGMg0jtI7JReRzyi94Dg==" + }, + "node_modules/@chakra-ui/object-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.1.0.tgz", + "integrity": "sha512-tgIZOgLHaoti5PYGPTwK3t/cqtcycW0owaiOXoZOcpwwX/vlVb+H1jFsQyWiiwQVPt9RkoSLtxzXamx+aHH+bQ==" + }, + "node_modules/@chakra-ui/pin-input": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-2.1.0.tgz", + "integrity": "sha512-x4vBqLStDxJFMt+jdAHHS8jbh294O53CPQJoL4g228P513rHylV/uPscYUHrVJXRxsHfRztQO9k45jjTYaPRMw==", + "dependencies": { + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/popover": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.2.1.tgz", + "integrity": "sha512-K+2ai2dD0ljvJnlrzesCDT9mNzLifE3noGKZ3QwLqd/K34Ym1W/0aL1ERSynrcG78NKoXS54SdEzkhCZ4Gn/Zg==", + "dependencies": { + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/lazy-utils": "2.0.5", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-animation-state": "2.1.0", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-focus-effect": "2.1.0", + "@chakra-ui/react-use-focus-on-pointer-down": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/popper": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-3.1.0.tgz", + "integrity": "sha512-ciDdpdYbeFG7og6/6J8lkTFxsSvwTdMLFkpVylAF6VNC22jssiWfquj2eyD4rJnzkRFPvIWJq8hvbfhsm+AjSg==", + "dependencies": { + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@popperjs/core": "^2.9.3" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/portal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.1.0.tgz", + "integrity": "sha512-9q9KWf6SArEcIq1gGofNcFPSWEyl+MfJjEUg/un1SMlQjaROOh3zYr+6JAwvcORiX7tyHosnmWC3d3wI2aPSQg==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/progress": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-2.2.0.tgz", + "integrity": "sha512-qUXuKbuhN60EzDD9mHR7B67D7p/ZqNS2Aze4Pbl1qGGZfulPW0PY8Rof32qDtttDQBkzQIzFGE8d9QpAemToIQ==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/provider": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-2.4.2.tgz", + "integrity": "sha512-w0Tef5ZCJK1mlJorcSjItCSbyvVuqpvyWdxZiVQmE6fvSJR83wZof42ux0+sfWD+I7rHSfj+f9nzhNaEWClysw==", + "dependencies": { + "@chakra-ui/css-reset": "2.3.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/system": "2.6.2", + "@chakra-ui/utils": "2.0.15" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0", + "@emotion/styled": "^11.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/radio": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-2.1.2.tgz", + "integrity": "sha512-n10M46wJrMGbonaghvSRnZ9ToTv/q76Szz284gv4QUWvyljQACcGrXIONUnQ3BIwbOfkRqSk7Xl/JgZtVfll+w==", + "dependencies": { + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@zag-js/focus-visible": "0.16.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-2.8.2.tgz", + "integrity": "sha512-Hn0moyxxyCDKuR9ywYpqgX8dvjqwu9ArwpIb9wHNYjnODETjLwazgNIliCVBRcJvysGRiV51U2/JtJVrpeCjUQ==", + "dependencies": { + "@chakra-ui/accordion": "2.3.1", + "@chakra-ui/alert": "2.2.2", + "@chakra-ui/avatar": "2.3.0", + "@chakra-ui/breadcrumb": "2.2.0", + "@chakra-ui/button": "2.1.0", + "@chakra-ui/card": "2.2.0", + "@chakra-ui/checkbox": "2.3.2", + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/control-box": "2.1.0", + "@chakra-ui/counter": "2.1.0", + "@chakra-ui/css-reset": "2.3.0", + "@chakra-ui/editable": "3.1.0", + "@chakra-ui/focus-lock": "2.1.0", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/hooks": "2.2.1", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/image": "2.1.0", + "@chakra-ui/input": "2.1.2", + "@chakra-ui/layout": "2.3.1", + "@chakra-ui/live-region": "2.1.0", + "@chakra-ui/media-query": "3.3.0", + "@chakra-ui/menu": "2.2.1", + "@chakra-ui/modal": "2.3.1", + "@chakra-ui/number-input": "2.1.2", + "@chakra-ui/pin-input": "2.1.0", + "@chakra-ui/popover": "2.2.1", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/progress": "2.2.0", + "@chakra-ui/provider": "2.4.2", + "@chakra-ui/radio": "2.1.2", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/select": "2.1.2", + "@chakra-ui/skeleton": "2.1.0", + "@chakra-ui/skip-nav": "2.1.0", + "@chakra-ui/slider": "2.1.0", + "@chakra-ui/spinner": "2.1.0", + "@chakra-ui/stat": "2.1.1", + "@chakra-ui/stepper": "2.3.1", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/switch": "2.1.2", + "@chakra-ui/system": "2.6.2", + "@chakra-ui/table": "2.1.0", + "@chakra-ui/tabs": "3.0.0", + "@chakra-ui/tag": "3.1.1", + "@chakra-ui/textarea": "2.1.2", + "@chakra-ui/theme": "3.3.1", + "@chakra-ui/theme-utils": "2.0.21", + "@chakra-ui/toast": "7.0.2", + "@chakra-ui/tooltip": "2.3.1", + "@chakra-ui/transition": "2.1.0", + "@chakra-ui/utils": "2.0.15", + "@chakra-ui/visually-hidden": "2.2.0" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0", + "@emotion/styled": "^11.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/react-children-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-children-utils/-/react-children-utils-2.0.6.tgz", + "integrity": "sha512-QVR2RC7QsOsbWwEnq9YduhpqSFnZGvjjGREV8ygKi8ADhXh93C8azLECCUVgRJF2Wc+So1fgxmjLcbZfY2VmBA==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-context": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.1.0.tgz", + "integrity": "sha512-iahyStvzQ4AOwKwdPReLGfDesGG+vWJfEsn0X/NoGph/SkN+HXtv2sCfYFFR9k7bb+Kvc6YfpLlSuLvKMHi2+w==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-env": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-3.1.0.tgz", + "integrity": "sha512-Vr96GV2LNBth3+IKzr/rq1IcnkXv+MLmwjQH6C8BRtn3sNskgDFD5vLkVXcEhagzZMCh8FR3V/bzZPojBOyNhw==", + "dependencies": { + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-types/-/react-types-2.0.7.tgz", + "integrity": "sha512-12zv2qIZ8EHwiytggtGvo4iLT0APris7T0qaAWqzpUGS0cdUtR8W+V1BJ5Ocq+7tA6dzQ/7+w5hmXih61TuhWQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-animation-state": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.1.0.tgz", + "integrity": "sha512-CFZkQU3gmDBwhqy0vC1ryf90BVHxVN8cTLpSyCpdmExUEtSEInSCGMydj2fvn7QXsz/za8JNdO2xxgJwxpLMtg==", + "dependencies": { + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-callback-ref": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.1.0.tgz", + "integrity": "sha512-efnJrBtGDa4YaxDzDE90EnKD3Vkh5a1t3w7PhnRQmsphLy3g2UieasoKTlT2Hn118TwDjIv5ZjHJW6HbzXA9wQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-controllable-state": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.1.0.tgz", + "integrity": "sha512-QR/8fKNokxZUs4PfxjXuwl0fj/d71WPrmLJvEpCTkHjnzu7LnYvzoe2wB867IdooQJL0G1zBxl0Dq+6W1P3jpg==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-disclosure": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.1.0.tgz", + "integrity": "sha512-Ax4pmxA9LBGMyEZJhhUZobg9C0t3qFE4jVF1tGBsrLDcdBeLR9fwOogIPY9Hf0/wqSlAryAimICbr5hkpa5GSw==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-event-listener": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.1.0.tgz", + "integrity": "sha512-U5greryDLS8ISP69DKDsYcsXRtAdnTQT+jjIlRYZ49K/XhUR/AqVZCK5BkR1spTDmO9H8SPhgeNKI70ODuDU/Q==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-focus-effect": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.1.0.tgz", + "integrity": "sha512-xzVboNy7J64xveLcxTIJ3jv+lUJKDwRM7Szwn9tNzUIPD94O3qwjV7DDCUzN2490nSYDF4OBMt/wuDBtaR3kUQ==", + "dependencies": { + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-focus-on-pointer-down": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.1.0.tgz", + "integrity": "sha512-2jzrUZ+aiCG/cfanrolsnSMDykCAbv9EK/4iUyZno6BYb3vziucmvgKuoXbMPAzWNtwUwtuMhkby8rc61Ue+Lg==", + "dependencies": { + "@chakra-ui/react-use-event-listener": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-interval": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-interval/-/react-use-interval-2.1.0.tgz", + "integrity": "sha512-8iWj+I/+A0J08pgEXP1J1flcvhLBHkk0ln7ZvGIyXiEyM6XagOTJpwNhiu+Bmk59t3HoV/VyvyJTa+44sEApuw==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-latest-ref": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.1.0.tgz", + "integrity": "sha512-m0kxuIYqoYB0va9Z2aW4xP/5b7BzlDeWwyXCH6QpT2PpW3/281L3hLCm1G0eOUcdVlayqrQqOeD6Mglq+5/xoQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-merge-refs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.1.0.tgz", + "integrity": "sha512-lERa6AWF1cjEtWSGjxWTaSMvneccnAVH4V4ozh8SYiN9fSPZLlSG3kNxfNzdFvMEhM7dnP60vynF7WjGdTgQbQ==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-outside-click": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.2.0.tgz", + "integrity": "sha512-PNX+s/JEaMneijbgAM4iFL+f3m1ga9+6QK0E5Yh4s8KZJQ/bLwZzdhMz8J/+mL+XEXQ5J0N8ivZN28B82N1kNw==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-pan-event": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.1.0.tgz", + "integrity": "sha512-xmL2qOHiXqfcj0q7ZK5s9UjTh4Gz0/gL9jcWPA6GVf+A0Od5imEDa/Vz+533yQKWiNSm1QGrIj0eJAokc7O4fg==", + "dependencies": { + "@chakra-ui/event-utils": "2.0.8", + "@chakra-ui/react-use-latest-ref": "2.1.0", + "framesync": "6.1.2" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-previous": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-previous/-/react-use-previous-2.1.0.tgz", + "integrity": "sha512-pjxGwue1hX8AFcmjZ2XfrQtIJgqbTF3Qs1Dy3d1krC77dEsiCUbQ9GzOBfDc8pfd60DrB5N2tg5JyHbypqh0Sg==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-safe-layout-effect": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.1.0.tgz", + "integrity": "sha512-Knbrrx/bcPwVS1TorFdzrK/zWA8yuU/eaXDkNj24IrKoRlQrSBFarcgAEzlCHtzuhufP3OULPkELTzz91b0tCw==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-size": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-size/-/react-use-size-2.1.0.tgz", + "integrity": "sha512-tbLqrQhbnqOjzTaMlYytp7wY8BW1JpL78iG7Ru1DlV4EWGiAmXFGvtnEt9HftU0NJ0aJyjgymkxfVGI55/1Z4A==", + "dependencies": { + "@zag-js/element-size": "0.10.5" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-timeout": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.1.0.tgz", + "integrity": "sha512-cFN0sobKMM9hXUhyCofx3/Mjlzah6ADaEl/AXl5Y+GawB5rgedgAcu2ErAgarEkwvsKdP6c68CKjQ9dmTQlJxQ==", + "dependencies": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-use-update-effect": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.1.0.tgz", + "integrity": "sha512-ND4Q23tETaR2Qd3zwCKYOOS1dfssojPLJMLvUtUbW5M9uW1ejYWgGUobeAiOVfSplownG8QYMmHTP86p/v0lbA==", + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/react-utils": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-utils/-/react-utils-2.0.12.tgz", + "integrity": "sha512-GbSfVb283+YA3kA8w8xWmzbjNWk14uhNpntnipHCftBibl0lxtQ9YqMFQLwuFOO0U2gYVocszqqDWX+XNKq9hw==", + "dependencies": { + "@chakra-ui/utils": "2.0.15" + }, + "peerDependencies": { + "react": ">=18" + } + }, + "node_modules/@chakra-ui/select": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-2.1.2.tgz", + "integrity": "sha512-ZwCb7LqKCVLJhru3DXvKXpZ7Pbu1TDZ7N0PdQ0Zj1oyVLJyrpef1u9HR5u0amOpqcH++Ugt0f5JSmirjNlctjA==", + "dependencies": { + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/shared-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/shared-utils/-/shared-utils-2.0.5.tgz", + "integrity": "sha512-4/Wur0FqDov7Y0nCXl7HbHzCg4aq86h+SXdoUeuCMD3dSj7dpsVnStLYhng1vxvlbUnLpdF4oz5Myt3i/a7N3Q==" + }, + "node_modules/@chakra-ui/skeleton": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-2.1.0.tgz", + "integrity": "sha512-JNRuMPpdZGd6zFVKjVQ0iusu3tXAdI29n4ZENYwAJEMf/fN0l12sVeirOxkJ7oEL0yOx2AgEYFSKdbcAgfUsAQ==", + "dependencies": { + "@chakra-ui/media-query": "3.3.0", + "@chakra-ui/react-use-previous": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/skip-nav": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/skip-nav/-/skip-nav-2.1.0.tgz", + "integrity": "sha512-Hk+FG+vadBSH0/7hwp9LJnLjkO0RPGnx7gBJWI4/SpoJf3e4tZlWYtwGj0toYY4aGKl93jVghuwGbDBEMoHDug==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/slider": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-2.1.0.tgz", + "integrity": "sha512-lUOBcLMCnFZiA/s2NONXhELJh6sY5WtbRykPtclGfynqqOo47lwWJx+VP7xaeuhDOPcWSSecWc9Y1BfPOCz9cQ==", + "dependencies": { + "@chakra-ui/number-utils": "2.0.7", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-latest-ref": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-pan-event": "2.1.0", + "@chakra-ui/react-use-size": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/spinner": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.1.0.tgz", + "integrity": "sha512-hczbnoXt+MMv/d3gE+hjQhmkzLiKuoTo42YhUG7Bs9OSv2lg1fZHW1fGNRFP3wTi6OIbD044U1P9HK+AOgFH3g==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/stat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-2.1.1.tgz", + "integrity": "sha512-LDn0d/LXQNbAn2KaR3F1zivsZCewY4Jsy1qShmfBMKwn6rI8yVlbvu6SiA3OpHS0FhxbsZxQI6HefEoIgtqY6Q==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/stepper": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/stepper/-/stepper-2.3.1.tgz", + "integrity": "sha512-ky77lZbW60zYkSXhYz7kbItUpAQfEdycT0Q4bkHLxfqbuiGMf8OmgZOQkOB9uM4v0zPwy2HXhe0vq4Dd0xa55Q==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/styled-system": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.9.2.tgz", + "integrity": "sha512-To/Z92oHpIE+4nk11uVMWqo2GGRS86coeMmjxtpnErmWRdLcp1WVCVRAvn+ZwpLiNR+reWFr2FFqJRsREuZdAg==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5", + "csstype": "^3.1.2", + "lodash.mergewith": "4.6.2" + } + }, + "node_modules/@chakra-ui/switch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.1.2.tgz", + "integrity": "sha512-pgmi/CC+E1v31FcnQhsSGjJnOE2OcND4cKPyTE+0F+bmGm48Q/b5UmKD9Y+CmZsrt/7V3h8KNczowupfuBfIHA==", + "dependencies": { + "@chakra-ui/checkbox": "2.3.2", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/system": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.6.2.tgz", + "integrity": "sha512-EGtpoEjLrUu4W1fHD+a62XR+hzC5YfsWm+6lO0Kybcga3yYEij9beegO0jZgug27V+Rf7vns95VPVP6mFd/DEQ==", + "dependencies": { + "@chakra-ui/color-mode": "2.2.0", + "@chakra-ui/object-utils": "2.1.0", + "@chakra-ui/react-utils": "2.0.12", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/theme-utils": "2.0.21", + "@chakra-ui/utils": "2.0.15", + "react-fast-compare": "3.2.2" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0", + "@emotion/styled": "^11.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/table": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-2.1.0.tgz", + "integrity": "sha512-o5OrjoHCh5uCLdiUb0Oc0vq9rIAeHSIRScc2ExTC9Qg/uVZl2ygLrjToCaKfaaKl1oQexIeAcZDKvPG8tVkHyQ==", + "dependencies": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/tabs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-3.0.0.tgz", + "integrity": "sha512-6Mlclp8L9lqXmsGWF5q5gmemZXOiOYuh0SGT/7PgJVNPz3LXREXlXg2an4MBUD8W5oTkduCX+3KTMCwRrVrDYw==", + "dependencies": { + "@chakra-ui/clickable": "2.1.0", + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/lazy-utils": "2.0.5", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/tag": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-3.1.1.tgz", + "integrity": "sha512-Bdel79Dv86Hnge2PKOU+t8H28nm/7Y3cKd4Kfk9k3lOpUh4+nkSGe58dhRzht59lEqa4N9waCgQiBdkydjvBXQ==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/textarea": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-2.1.2.tgz", + "integrity": "sha512-ip7tvklVCZUb2fOHDb23qPy/Fr2mzDOGdkrpbNi50hDCiV4hFX02jdQJdi3ydHZUyVgZVBKPOJ+lT9i7sKA2wA==", + "dependencies": { + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/theme": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-3.3.1.tgz", + "integrity": "sha512-Hft/VaT8GYnItGCBbgWd75ICrIrIFrR7lVOhV/dQnqtfGqsVDlrztbSErvMkoPKt0UgAkd9/o44jmZ6X4U2nZQ==", + "dependencies": { + "@chakra-ui/anatomy": "2.2.2", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/theme-tools": "2.1.2" + }, + "peerDependencies": { + "@chakra-ui/styled-system": ">=2.8.0" + } + }, + "node_modules/@chakra-ui/theme-tools": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.1.2.tgz", + "integrity": "sha512-Qdj8ajF9kxY4gLrq7gA+Azp8CtFHGO9tWMN2wfF9aQNgG9AuMhPrUzMq9AMQ0MXiYcgNq/FD3eegB43nHVmXVA==", + "dependencies": { + "@chakra-ui/anatomy": "2.2.2", + "@chakra-ui/shared-utils": "2.0.5", + "color2k": "^2.0.2" + }, + "peerDependencies": { + "@chakra-ui/styled-system": ">=2.0.0" + } + }, + "node_modules/@chakra-ui/theme-utils": { + "version": "2.0.21", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-utils/-/theme-utils-2.0.21.tgz", + "integrity": "sha512-FjH5LJbT794r0+VSCXB3lT4aubI24bLLRWB+CuRKHijRvsOg717bRdUN/N1fEmEpFnRVrbewttWh/OQs0EWpWw==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/theme": "3.3.1", + "lodash.mergewith": "4.6.2" + } + }, + "node_modules/@chakra-ui/toast": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-7.0.2.tgz", + "integrity": "sha512-yvRP8jFKRs/YnkuE41BVTq9nB2v/KDRmje9u6dgDmE5+1bFt3bwjdf9gVbif4u5Ve7F7BGk5E093ARRVtvLvXA==", + "dependencies": { + "@chakra-ui/alert": "2.2.2", + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-timeout": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/theme": "3.3.1" + }, + "peerDependencies": { + "@chakra-ui/system": "2.6.2", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/tooltip": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.3.1.tgz", + "integrity": "sha512-Rh39GBn/bL4kZpuEMPPRwYNnccRCL+w9OqamWHIB3Qboxs6h8cOyXfIdGxjo72lvhu1QI/a4KFqkM3St+WfC0A==", + "dependencies": { + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "framer-motion": ">=4.0.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@chakra-ui/transition": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.1.0.tgz", + "integrity": "sha512-orkT6T/Dt+/+kVwJNy7zwJ+U2xAZ3EU7M3XCs45RBvUnZDr/u9vdmaM/3D/rOpmQJWgQBwKPJleUXrYWUagEDQ==", + "dependencies": { + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "framer-motion": ">=4.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/utils": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@chakra-ui/utils/-/utils-2.0.15.tgz", + "integrity": "sha512-El4+jL0WSaYYs+rJbuYFDbjmfCcfGDmRY95GO4xwzit6YAPZBLcR65rOEwLps+XWluZTy1xdMrusg/hW0c1aAA==", + "dependencies": { + "@types/lodash.mergewith": "4.6.7", + "css-box-model": "1.2.1", + "framesync": "6.1.2", + "lodash.mergewith": "4.6.2" + } + }, + "node_modules/@chakra-ui/visually-hidden": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.2.0.tgz", + "integrity": "sha512-KmKDg01SrQ7VbTD3+cPWf/UfpF5MSwm3v7MWi0n5t8HnnadT13MF0MJCDSXbBWnzLv1ZKJ6zlyAOeARWX+DpjQ==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@choc-ui/chakra-autocomplete": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@choc-ui/chakra-autocomplete/-/chakra-autocomplete-5.3.0.tgz", + "integrity": "sha512-cJG6bzZ9ueu0cpSzf35PTj1C1afSb9ioD9av7FALwe5v8DQijigTZoqH1lwl1iR+eNnnYYmY6fBiS8mUsh8dTQ==", + "dependencies": { + "@size-limit/esbuild": "11.0.2", + "@size-limit/esbuild-why": "11.0.2", + "@size-limit/file": "11.0.2", + "react-nanny": "2.15.0", + "size-limit": "11.0.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@chakra-ui/react": "^2.5.5", + "@chakra-ui/react-utils": "^2.0.5", + "@chakra-ui/utils": "^2.0.8", + "@emotion/react": "^11.10.0", + "@emotion/styled": "^11.10.0", + "framer-motion": ">7.6.14", + "react": "^18.2.0" + } + }, + "node_modules/@codemirror/autocomplete": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.13.0.tgz", + "integrity": "sha512-SuDrho1klTINfbcMPnyro1ZxU9xJtwDMtb62R8TjL/tOl71IoOsvBo1a9x+hDvHhIzkTcJHy2VC+rmpGgYkRSw==", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.17.0", + "@lezer/common": "^1.0.0" + }, + "peerDependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@codemirror/commands": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.3.3.tgz", + "integrity": "sha512-dO4hcF0fGT9tu1Pj1D2PvGvxjeGkbC6RGcZw6Qs74TH+Ed1gw98jmUgd2axWvIZEqTeTuFrg1lEB1KV6cK9h1A==", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.4.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.1.0" + } + }, + "node_modules/@codemirror/lang-go": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@codemirror/lang-go/-/lang-go-6.0.0.tgz", + "integrity": "sha512-mMT4YeYdKGjnffDBOhr1ur1glee4oV/rfMe28vzazNHZkSt7vSiuHiBcgr3L/79Cl2RIjFdpQ1XMD0/T8Rx64g==", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/language": "^6.6.0", + "@codemirror/state": "^6.0.0", + "@lezer/common": "^1.0.0", + "@lezer/go": "^1.0.0" + } + }, + "node_modules/@codemirror/language": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.1.tgz", + "integrity": "sha512-5GrXzrhq6k+gL5fjkAwt90nYDmjlzTIJV8THnxNFtNKWotMIlzzN+CpqxqwXOECnUdOndmSeWntVrVcv5axWRQ==", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.23.0", + "@lezer/common": "^1.1.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0", + "style-mod": "^4.0.0" + } + }, + "node_modules/@codemirror/lint": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.5.0.tgz", + "integrity": "sha512-+5YyicIaaAZKU8K43IQi8TBy6mF6giGeWAH7N96Z5LC30Wm5JMjqxOYIE9mxwMG1NbhT2mA3l9hA4uuKUM3E5g==", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "crelt": "^1.0.5" + } + }, + "node_modules/@codemirror/search": { + "version": "6.5.6", + "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.6.tgz", + "integrity": "sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "crelt": "^1.0.5" + } + }, + "node_modules/@codemirror/state": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.4.1.tgz", + "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==" + }, + "node_modules/@codemirror/theme-one-dark": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@codemirror/theme-one-dark/-/theme-one-dark-6.1.2.tgz", + "integrity": "sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/highlight": "^1.0.0" + } + }, + "node_modules/@codemirror/view": { + "version": "6.25.1", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.25.1.tgz", + "integrity": "sha512-2LXLxsQnHDdfGzDvjzAwZh2ZviNJm7im6tGpa0IONIDnFd8RZ80D2SNi8PDi6YjKcMoMRK20v6OmKIdsrwsyoQ==", + "dependencies": { + "@codemirror/state": "^6.4.0", + "style-mod": "^4.1.0", + "w3c-keyname": "^2.2.4" + } + }, + "node_modules/@csstools/normalize.css": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", + "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==" + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@daybrush/utils": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@daybrush/utils/-/utils-1.13.0.tgz", + "integrity": "sha512-ALK12C6SQNNHw1enXK+UO8bdyQ+jaWNQ1Af7Z3FNxeAwjYhQT7do+TRE4RASAJ3ObaS2+TJ7TXR3oz2Gzbw0PQ==" + }, + "node_modules/@egjs/agent": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@egjs/agent/-/agent-2.4.3.tgz", + "integrity": "sha512-XvksSENe8wPeFlEVouvrOhKdx8HMniJ3by7sro2uPF3M6QqWwjzVcmvwoPtdjiX8O1lfRoLhQMp1a7NGlVTdIA==" + }, + "node_modules/@egjs/children-differ": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@egjs/children-differ/-/children-differ-1.0.1.tgz", + "integrity": "sha512-DRvyqMf+CPCOzAopQKHtW+X8iN6Hy6SFol+/7zCUiE5y4P/OB8JP8FtU4NxtZwtafvSL4faD5KoQYPj3JHzPFQ==", + "dependencies": { + "@egjs/list-differ": "^1.0.0" + } + }, + "node_modules/@egjs/component": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@egjs/component/-/component-3.0.5.tgz", + "integrity": "sha512-cLcGizTrrUNA2EYE3MBmEDt2tQv1joVP1Q3oDisZ5nw0MZDx2kcgEXM+/kZpfa/PAkFvYVhRUZwytIQWoN3V/w==" + }, + "node_modules/@egjs/list-differ": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@egjs/list-differ/-/list-differ-1.0.1.tgz", + "integrity": "sha512-OTFTDQcWS+1ZREOdCWuk5hCBgYO4OsD30lXcOCyVOAjXMhgL5rBRDnt/otb6Nz8CzU0L/igdcaQBDLWc4t9gvg==" + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", + "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/serialize": "^1.1.2", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", + "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "dependencies": { + "@emotion/memoize": "^0.8.1", + "@emotion/sheet": "^1.2.2", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", + "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "node_modules/@emotion/react": { + "version": "11.11.4", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz", + "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/cache": "^11.11.0", + "@emotion/serialize": "^1.1.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.3.tgz", + "integrity": "sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==", + "dependencies": { + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/unitless": "^0.8.1", + "@emotion/utils": "^1.2.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", + "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + }, + "node_modules/@emotion/styled": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz", + "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/is-prop-valid": "^1.2.1", + "@emotion/serialize": "^1.1.2", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", + "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", + "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dependencies": { + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/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==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/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==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@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==", + "engines": { + "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==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "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==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, + "node_modules/@lezer/common": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz", + "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==" + }, + "node_modules/@lezer/go": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@lezer/go/-/go-1.0.0.tgz", + "integrity": "sha512-co9JfT3QqX1YkrMmourYw2Z8meGC50Ko4d54QEcQbEYpvdUvN4yb0NBZdn/9ertgvjsySxHsKzH3lbm3vqJ4Jw==", + "dependencies": { + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0" + } + }, + "node_modules/@lezer/highlight": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.0.tgz", + "integrity": "sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lezer/lr": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.0.tgz", + "integrity": "sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg==", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@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==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@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==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@peggyjs/from-mem": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@peggyjs/from-mem/-/from-mem-1.2.1.tgz", + "integrity": "sha512-qh5zG8WKT36142/FqOYtpF0scRR3ZJ3H5XST1bJ/KV2FvyB5MvUB/tB9ZjihRe1iKjJD4PBOZczzwEx7hJtgMw==", + "dependencies": { + "semver": "7.6.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", + "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", + "dependencies": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <5.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@reactflow/background": { + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@reactflow/background/-/background-11.3.10.tgz", + "integrity": "sha512-EdrQrNOdZtK5I+g+rKqLgiNU1rHXtpu2kQ0Af0LZ6v8yzOhAIMpxC70MeLXCLhZRHBkg1djk7gP6ZOSFZQFbUQ==", + "dependencies": { + "@reactflow/core": "11.11.0", + "classcat": "^5.0.3", + "zustand": "^4.4.1" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, + "node_modules/@reactflow/controls": { + "version": "11.2.10", + "resolved": "https://registry.npmjs.org/@reactflow/controls/-/controls-11.2.10.tgz", + "integrity": "sha512-Y4lzm34Fu1uA67v83A91Ff9em9rHoVr80nk53OcI3IzgAN5Fzav+LEbXblCdMSl7nObdxnReK56H++upfTjVXA==", + "dependencies": { + "@reactflow/core": "11.11.0", + "classcat": "^5.0.3", + "zustand": "^4.4.1" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, + "node_modules/@reactflow/core": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@reactflow/core/-/core-11.11.0.tgz", + "integrity": "sha512-Flw7kpEvXXb+qfT6jhFmscZLzIN8AY7kZC8SwVOW0ijpsgvILnE6cMq45CKmTaWxl82KbaHPxZUB3FeQxb1KMQ==", + "dependencies": { + "@types/d3": "^7.4.0", + "@types/d3-drag": "^3.0.1", + "@types/d3-selection": "^3.0.3", + "@types/d3-zoom": "^3.0.1", + "classcat": "^5.0.3", + "d3-drag": "^3.0.0", + "d3-selection": "^3.0.0", + "d3-zoom": "^3.0.0", + "zustand": "^4.4.1" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, + "node_modules/@reactflow/core/node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@reactflow/minimap": { + "version": "11.7.10", + "resolved": "https://registry.npmjs.org/@reactflow/minimap/-/minimap-11.7.10.tgz", + "integrity": "sha512-tlNctCy87n+yhaATham4W+UgcSWj+iASF8CNsQVowYaiEPZlugvEHfNl724Z1eqXXl7iBqz9zZWEzYVUf9/+qA==", + "dependencies": { + "@reactflow/core": "11.11.0", + "@types/d3-selection": "^3.0.3", + "@types/d3-zoom": "^3.0.1", + "classcat": "^5.0.3", + "d3-selection": "^3.0.0", + "d3-zoom": "^3.0.0", + "zustand": "^4.4.1" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, + "node_modules/@reactflow/node-resizer": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@reactflow/node-resizer/-/node-resizer-2.2.10.tgz", + "integrity": "sha512-pErzqNTKA9q7SdvlOo+lNjoLoGck7GGqO7acmYKkqRnML13BS+rL5tBu880ZEm6htQK0juz3EM+asTPkdPJ00Q==", + "dependencies": { + "@reactflow/core": "11.11.0", + "classcat": "^5.0.4", + "d3-drag": "^3.0.0", + "d3-selection": "^3.0.0", + "zustand": "^4.4.1" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, + "node_modules/@reactflow/node-resizer/node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@reactflow/node-toolbar": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@reactflow/node-toolbar/-/node-toolbar-1.3.10.tgz", + "integrity": "sha512-0zifoe2i/SjooZuWZZ03wYOraPfkqqyn6XUlryjzSGzABOSQuaXd71YrdIkmhym9/5fbCsLg42Dct3V9r0f1Eg==", + "dependencies": { + "@reactflow/core": "11.11.0", + "classcat": "^5.0.3", + "zustand": "^4.4.1" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, + "node_modules/@remix-run/router": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", + "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.1.tgz", + "integrity": "sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.1.tgz", + "integrity": "sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.1.tgz", + "integrity": "sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.1.tgz", + "integrity": "sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.1.tgz", + "integrity": "sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.1.tgz", + "integrity": "sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.1.tgz", + "integrity": "sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.1.tgz", + "integrity": "sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.1.tgz", + "integrity": "sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.1.tgz", + "integrity": "sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.1.tgz", + "integrity": "sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.1.tgz", + "integrity": "sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.1.tgz", + "integrity": "sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.7.2.tgz", + "integrity": "sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==" + }, + "node_modules/@scena/dragscroll": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scena/dragscroll/-/dragscroll-1.4.0.tgz", + "integrity": "sha512-3O8daaZD9VXA9CP3dra6xcgt/qrm0mg0xJCwiX6druCteQ9FFsXffkF8PrqxY4Z4VJ58fFKEa0RlKqbsi/XnRA==", + "dependencies": { + "@daybrush/utils": "^1.6.0", + "@scena/event-emitter": "^1.0.2" + } + }, + "node_modules/@scena/event-emitter": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@scena/event-emitter/-/event-emitter-1.0.5.tgz", + "integrity": "sha512-AzY4OTb0+7ynefmWFQ6hxDdk0CySAq/D4efljfhtRHCOP7MBF9zUfhKG3TJiroVjASqVgkRJFdenS8ArZo6Olg==", + "dependencies": { + "@daybrush/utils": "^1.1.1" + } + }, + "node_modules/@scena/matrix": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scena/matrix/-/matrix-1.1.1.tgz", + "integrity": "sha512-JVKBhN0tm2Srl+Yt+Ywqu0oLgLcdemDQlD1OxmN9jaCTwaFPZ7tY8n6dhVgMEaR9qcR7r+kAlMXnSfNyYdE+Vg==", + "dependencies": { + "@daybrush/utils": "^1.4.0" + } + }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@size-limit/esbuild": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@size-limit/esbuild/-/esbuild-11.0.2.tgz", + "integrity": "sha512-67p+y+wkMBJJegLZUp1X3v1YEvgGSbbAukFbHtxJ1c/DTj/ApiHvtgMzvA5ij+A5UOay+jSU4bXetpNJlUK3Ow==", + "dependencies": { + "esbuild": "^0.19.11", + "nanoid": "^5.0.4" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "size-limit": "11.0.2" + } + }, + "node_modules/@size-limit/esbuild-why": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@size-limit/esbuild-why/-/esbuild-why-11.0.2.tgz", + "integrity": "sha512-pYm1z5F4XXhg609qnh/VWe52o0T5Z3YjIQlZ9lgxchTYXUskVnRUDqRLKXC3NHuEqHdMtg13Du3rpaGvXMTyuw==", + "dependencies": { + "esbuild-visualizer": "^0.6.0", + "open": "^10.0.3" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "size-limit": "11.0.2" + } + }, + "node_modules/@size-limit/file": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@size-limit/file/-/file-11.0.2.tgz", + "integrity": "sha512-874lrMtWYRL+xb/6xzejjwD+krfHTOo+2uFGpZfJScvuNv91Ni2O7k0o09zC70VzCYBGkXquV92ln/H+/ognGg==", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "size-limit": "11.0.2" + } + }, + "node_modules/@storybook/csf": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.1.tgz", + "integrity": "sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/cytoscape": { + "version": "3.19.16", + "resolved": "https://registry.npmjs.org/@types/cytoscape/-/cytoscape-3.19.16.tgz", + "integrity": "sha512-A3zkjaZ6cOGyqEvrVuC1YUgiRSJhDZOj8Qhd1ALH2/+YxH2za1BOmR4RWQsKYHsc+aMP/IWoqg1COuUbZ39t/g==", + "dev": true + }, + "node_modules/@types/d3": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "dependencies": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", + "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==" + }, + "node_modules/@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==" + }, + "node_modules/@types/d3-contour": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", + "dependencies": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==" + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz", + "integrity": "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==" + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==" + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.9.tgz", + "integrity": "sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==" + }, + "node_modules/@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==" + }, + "node_modules/@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==" + }, + "node_modules/@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==" + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==" + }, + "node_modules/@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", + "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz", + "integrity": "sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==" + }, + "node_modules/@types/d3-selection": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.10.tgz", + "integrity": "sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==" + }, + "node_modules/@types/d3-shape": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz", + "integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz", + "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==" + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==" + }, + "node_modules/@types/d3-transition": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.8.tgz", + "integrity": "sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.5", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.5.tgz", + "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.43", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", + "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/geojson": { + "version": "7946.0.14", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", + "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/js-cookie": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.6.tgz", + "integrity": "sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "node_modules/@types/lodash": { + "version": "4.14.202", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" + }, + "node_modules/@types/lodash.mergewith": { + "version": "4.6.7", + "resolved": "https://registry.npmjs.org/@types/lodash.mergewith/-/lodash.mergewith-4.6.7.tgz", + "integrity": "sha512-3m+lkO5CLRRYU0fhGRp7zbsGi6+BZj0uTVSwvcKU+nSlhjA9/QRNfuSGnD2mX6hQA7ZbmcCkzk5h4ZYGOtk14A==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + }, + "node_modules/@types/node": { + "version": "20.11.25", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.25.tgz", + "integrity": "sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", + "devOptional": true + }, + "node_modules/@types/q": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" + }, + "node_modules/@types/qs": { + "version": "6.9.12", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.12.tgz", + "integrity": "sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + }, + "node_modules/@types/react": { + "version": "18.2.64", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.64.tgz", + "integrity": "sha512-MlmPvHgjj2p3vZaxbQgFUQFvD8QiZwACfGqEdDSWou5yISWxDQ4/74nCAwsUiX7UFLKZz3BbVSPj+YxeoGGCfg==", + "devOptional": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-cytoscapejs": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/react-cytoscapejs/-/react-cytoscapejs-1.2.5.tgz", + "integrity": "sha512-G9VcGQOlER3njklOu5D0FDGHYfkQJ3yEL95kGbgI/MR08N5dQ7IbLSZI8WqaB4fG0zOURIg0BUtOCrbE5HRZEQ==", + "dev": true, + "dependencies": { + "@types/cytoscape": "*", + "@types/react": "*" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.21", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.21.tgz", + "integrity": "sha512-gnvBA/21SA4xxqNXEwNiVcP0xSGHh/gi1VhWv9Bl46a0ItbTT5nFY+G9VSQpaG/8N/qdJpJ+vftQ4zflTtnjLw==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", + "devOptional": true + }, + "node_modules/@types/seedrandom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.8.tgz", + "integrity": "sha512-TY1eezMU2zH2ozQoAFAQFOPpvP15g+ZgSfTZt31AUUH/Rxtnz3H+A/Sv1Snw2/amp//omibc+AEkTaA8KUeOLQ==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" + }, + "node_modules/@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", + "dev": true + }, + "node_modules/@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "dependencies": { + "@typescript-eslint/utils": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@uiw/codemirror-extensions-basic-setup": { + "version": "4.21.25", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-extensions-basic-setup/-/codemirror-extensions-basic-setup-4.21.25.tgz", + "integrity": "sha512-eeUKlmEE8aSoSgelS8OR2elcPGntpRo669XinAqPCLa0eKorT2B0d3ts+AE+njAeGk744tiyAEbHb2n+6OQmJw==", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/commands": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/search": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@codemirror/autocomplete": ">=6.0.0", + "@codemirror/commands": ">=6.0.0", + "@codemirror/language": ">=6.0.0", + "@codemirror/lint": ">=6.0.0", + "@codemirror/search": ">=6.0.0", + "@codemirror/state": ">=6.0.0", + "@codemirror/view": ">=6.0.0" + } + }, + "node_modules/@uiw/codemirror-extensions-zebra-stripes": { + "version": "4.21.24", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-extensions-zebra-stripes/-/codemirror-extensions-zebra-stripes-4.21.24.tgz", + "integrity": "sha512-6CdWPp8RZ23alLTrAquIyPsHc1oVFpI6m+WbihUdJ6D2x7CmiR7rtcPLiYVR711SH0sVZiDouPV737871tOJtw==", + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@codemirror/state": ">=6.0.0", + "@codemirror/view": ">=6.0.0" + } + }, + "node_modules/@uiw/codemirror-theme-github": { + "version": "4.21.24", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-theme-github/-/codemirror-theme-github-4.21.24.tgz", + "integrity": "sha512-BggG0qiLpg5j9ijY4DJDnANefLADKh8FseH28J1ljvwtnvlR1GGnO+RZzOl11gLpDqb2DUM5xIaxmbLcKWljUg==", + "dependencies": { + "@uiw/codemirror-themes": "4.21.24" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + } + }, + "node_modules/@uiw/codemirror-themes": { + "version": "4.21.24", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-themes/-/codemirror-themes-4.21.24.tgz", + "integrity": "sha512-InY24KWP8YArDBACWHKFZ6ZU+WCvRHf3ZB2cCVxMVN35P1ANUmRzpAP2ernZQ5OIriL1/A/kXgD0Zg3Y65PNgg==", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@codemirror/language": ">=6.0.0", + "@codemirror/state": ">=6.0.0", + "@codemirror/view": ">=6.0.0" + } + }, + "node_modules/@uiw/react-codemirror": { + "version": "4.21.25", + "resolved": "https://registry.npmjs.org/@uiw/react-codemirror/-/react-codemirror-4.21.25.tgz", + "integrity": "sha512-mBrCoiffQ+hbTqV1JoixFEcH7BHXkS3PjTyNH7dE8Gzf3GSBRazhtSM5HrAFIiQ5FIRGFs8Gznc4UAdhtevMmw==", + "dependencies": { + "@babel/runtime": "^7.18.6", + "@codemirror/commands": "^6.1.0", + "@codemirror/state": "^6.1.1", + "@codemirror/theme-one-dark": "^6.0.0", + "@uiw/codemirror-extensions-basic-setup": "4.21.25", + "codemirror": "^6.0.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.11.0", + "@codemirror/state": ">=6.0.0", + "@codemirror/theme-one-dark": ">=6.0.0", + "@codemirror/view": ">=6.0.0", + "codemirror": ">=6.0.0", + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, + "node_modules/@vitest/expect": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.1.tgz", + "integrity": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==", + "dev": true, + "dependencies": { + "@vitest/spy": "1.3.1", + "@vitest/utils": "1.3.1", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.1.tgz", + "integrity": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==", + "dev": true, + "dependencies": { + "@vitest/utils": "1.3.1", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/snapshot": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.1.tgz", + "integrity": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==", + "dev": true, + "dependencies": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@vitest/snapshot/node_modules/magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vitest/snapshot/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@vitest/snapshot/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/@vitest/spy": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.1.tgz", + "integrity": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==", + "dev": true, + "dependencies": { + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.1.tgz", + "integrity": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==", + "dev": true, + "dependencies": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@vitest/utils/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/@vitest/utils/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@vitest/utils/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/@zag-js/dom-query": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@zag-js/dom-query/-/dom-query-0.16.0.tgz", + "integrity": "sha512-Oqhd6+biWyKnhKwFFuZrrf6lxBz2tX2pRQe6grUnYwO6HJ8BcbqZomy2lpOdr+3itlaUqx+Ywj5E5ZZDr/LBfQ==" + }, + "node_modules/@zag-js/element-size": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.10.5.tgz", + "integrity": "sha512-uQre5IidULANvVkNOBQ1tfgwTQcGl4hliPSe69Fct1VfYb2Fd0jdAcGzqQgPhfrXFpR62MxLPB7erxJ/ngtL8w==" + }, + "node_modules/@zag-js/focus-visible": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.16.0.tgz", + "integrity": "sha512-a7U/HSopvQbrDU4GLerpqiMcHKEkQkNPeDZJWz38cw/6Upunh41GjHetq5TB84hxyCaDzJ6q2nEdNoBQfC0FKA==", + "dependencies": { + "@zag-js/dom-query": "0.16.0" + } + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead" + }, + "node_modules/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==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/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==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/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==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "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==" + }, + "node_modules/aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.filter": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.3.tgz", + "integrity": "sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.4.tgz", + "integrity": "sha512-BMtLxpV+8BD+6ZPFIWmnUBpQoy+A+ujcg4rhp2iwCRJYA7PEh2MS4NL3lz8EiDlLrJPp2hg9qWihr5pd//jcGw==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz", + "integrity": "sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/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, + "engines": { + "node": "*" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dependencies": { + "has-symbols": "^1.0.3" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.18", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz", + "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001591", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/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==", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "peerDependencies": { + "@babel/core": "^7.1.0" + } + }, + "node_modules/babel-plugin-named-exports-order": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-named-exports-order/-/babel-plugin-named-exports-order-0.0.2.tgz", + "integrity": "sha512-OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw==", + "dev": true + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", + "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.5.0", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", + "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.5.0", + "core-js-compat": "^3.34.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.5.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/bfj": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "dependencies": { + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dependencies": { + "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.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/bonjour-service": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "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==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/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==" + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/bytes-iec": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bytes-iec/-/bytes-iec-3.1.1.tgz", + "integrity": "sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001596", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001596.tgz", + "integrity": "sha512-zpkZ+kEr6We7w63ORkoJ2pOfBwBkY/bJrG/UZ90qNb45Isblu8wzDgevEOrRL1r9dWayHjYiiyCMEXPn4DweGQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "dev": true, + "dependencies": { + "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.0.8" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/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, + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/check-types": { + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==" + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.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" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chromatic": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/chromatic/-/chromatic-6.24.1.tgz", + "integrity": "sha512-XbpdWWHvFpEHtcq1Km71UcuQ07effB+8q8L47E1Y7HJmJ4ZCoKCuPd8liNrbnvwEAxqfBZvTcONYU/3BPz2i5w==", + "dev": true, + "bin": { + "chroma": "dist/bin.js", + "chromatic": "dist/bin.js", + "chromatic-cli": "dist/bin.js" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" + }, + "node_modules/classcat": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/classcat/-/classcat-5.0.5.tgz", + "integrity": "sha512-JhZUT7JFcQy/EzW605k/ktHtncoo9vnyW/2GspNYwFlN1C/WmjuV/xtS04e9SOkL2sTdw0VAZ2UGCcQ9lR6p6w==" + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clsx": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/coa/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/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==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/coa/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==" + }, + "node_modules/coa/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==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/coa/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/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==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/codemirror": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz", + "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/commands": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/search": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" + }, + "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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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==" + }, + "node_modules/color2k": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/color2k/-/color2k-2.0.3.tgz", + "integrity": "sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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==" + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/compression/node_modules/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==" + }, + "node_modules/compute-scroll-into-view": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.0.3.tgz", + "integrity": "sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concurrently": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz", + "integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.2", + "date-fns": "^2.30.0", + "lodash": "^4.17.21", + "rxjs": "^7.8.1", + "shell-quote": "^1.8.1", + "spawn-command": "0.0.2", + "supports-color": "^8.1.1", + "tree-kill": "^1.2.2", + "yargs": "^17.7.2" + }, + "bin": { + "conc": "dist/bin/concurrently.js", + "concurrently": "dist/bin/concurrently.js" + }, + "engines": { + "node": "^14.13.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/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==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", + "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", + "dependencies": { + "browserslist": "^4.22.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.0.tgz", + "integrity": "sha512-cN28qmhRNgbMZZMc/RFu5w8pK9VJzpb2rJVR/lHuZJKwmXnoWOpXmMkxqBB514igkp1Hu8WGROsiOAzUcKdHOQ==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/crelt": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", + "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-box-model": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz", + "integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==", + "dependencies": { + "tiny-invariant": "^1.0.6" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-loader": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", + "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.4", + "postcss-modules-scope": "^3.1.1", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "node_modules/css-styled": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/css-styled/-/css-styled-1.0.8.tgz", + "integrity": "sha512-tCpP7kLRI8dI95rCh3Syl7I+v7PP+2JYOzWkl0bUEoSbJM+u8ITbutjlQVf0NC2/g4ULROJPi16sfwDIO8/84g==", + "dependencies": { + "@daybrush/utils": "^1.13.0" + } + }, + "node_modules/css-to-mat": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/css-to-mat/-/css-to-mat-1.1.1.tgz", + "integrity": "sha512-kvpxFYZb27jRd2vium35G7q5XZ2WJ9rWjDUMNT36M3Hc41qCrLXFM5iEKMGXcrPsKfXEN+8l/riB4QzwwwiEyQ==", + "dependencies": { + "@daybrush/utils": "^1.13.0", + "@scena/matrix": "^1.0.0" + } + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssdb": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.11.1.tgz", + "integrity": "sha512-F0nEoX/Rv8ENTHsjMPGHd9opdjGfXkgRBafSUGnQKPzGZFB7Lm0BbT10x21TMOCrKLbVsJ0NoCDMk6AfKqw8/A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ] + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/csso/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/cytoscape": { + "version": "3.28.1", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.28.1.tgz", + "integrity": "sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==", + "peer": true, + "dependencies": { + "heap": "^0.2.6", + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cytoscape-cola": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/cytoscape-cola/-/cytoscape-cola-2.5.1.tgz", + "integrity": "sha512-4/2S9bW1LvdsEPmxXN1OEAPFPbk7DvCx2c9d+TblkQAAvptGaSgtPWCByTEGgT8UxCxcVqes2aFPO5pzwo7R2w==", + "dependencies": { + "webcola": "^3.4.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", + "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==" + }, + "node_modules/d3-drag": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz", + "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==", + "dependencies": { + "d3-dispatch": "1", + "d3-selection": "1" + } + }, + "node_modules/d3-drag/node_modules/d3-selection": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.2.tgz", + "integrity": "sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==" + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==" + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-timer": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", + "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==" + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-zoom/node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-zoom/node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/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==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/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==" + }, + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.698", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.698.tgz", + "integrity": "sha512-f9iZD1t3CLy1AS6vzM5EKGa6p9pRcOeEFXRFbaG2Ta+Oe7MkfRQ3fsvPYidzHe1h4i0JvIvpcY55C+B6BZNGtQ==" + }, + "node_modules/email-addresses": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", + "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.1.tgz", + "integrity": "sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/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==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.22.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz", + "integrity": "sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.1", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.0", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.5", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz", + "integrity": "sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==", + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.4", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.2", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "node_modules/esbuild-visualizer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/esbuild-visualizer/-/esbuild-visualizer-0.6.0.tgz", + "integrity": "sha512-oNK3JAhC7+re93VTtUdWJKTDVnA2qXPAjCAoaw9OxEFUXztszw3kcaK46u1U790T8FdUBAWv6F9Xt59P8nJCVA==", + "dependencies": { + "open": "^8.4.0", + "picomatch": "^2.3.1", + "yargs": "^17.6.2" + }, + "bin": { + "esbuild-visualizer": "dist/bin/cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/esbuild-visualizer/node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/esbuild-visualizer/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/esbuild-visualizer/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/esbuild-visualizer/node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/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==" + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@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" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.0" + } + }, + "node_modules/eslint-import-resolver-alias": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-alias/-/eslint-import-resolver-alias-1.1.2.tgz", + "integrity": "sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==", + "dev": true, + "engines": { + "node": ">= 4" + }, + "peerDependencies": { + "eslint-plugin-import": ">=1.4.0" + } + }, + "node_modules/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==", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "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.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", + "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "dependencies": { + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.34.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.0.tgz", + "integrity": "sha512-MeVXdReleBTdkz/bvcQMSnCXGi+c9kvy51IpinjnJgutl3YTHWsDdke7Z1ufZpGfDG8xduBDKyjtB9JH1eBKIQ==", + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.17", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.10" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-simple-import-sort": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz", + "integrity": "sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==", + "dev": true, + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "node_modules/eslint-plugin-storybook": { + "version": "0.6.15", + "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.6.15.tgz", + "integrity": "sha512-lAGqVAJGob47Griu29KXYowI4G7KwMoJDOkEip8ujikuDLxU+oWJ1l0WL6F2oDO4QiyUFXvtDkEkISMOPzo+7w==", + "dev": true, + "dependencies": { + "@storybook/csf": "^0.0.1", + "@typescript-eslint/utils": "^5.45.0", + "requireindex": "^1.1.0", + "ts-dedent": "^2.2.0" + }, + "engines": { + "node": "12.x || 14.x || >= 16" + }, + "peerDependencies": { + "eslint": ">=6" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "dependencies": { + "@typescript-eslint/utils": "^5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/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==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/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==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/express": { + "version": "4.18.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", + "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/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==" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/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==", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/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==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "node_modules/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==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==" + }, + "node_modules/focus-lock": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-1.3.4.tgz", + "integrity": "sha512-Gv0N3mvej3pD+HWkNryrF8sExzEHqhQ6OSFxD4DPxm9n5HGCaHme98ZMBZroNEAJcsdtHxk+skvThGKyUeoEGA==", + "dependencies": { + "tslib": "^2.0.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/framer-motion": { + "version": "10.18.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-10.18.0.tgz", + "integrity": "sha512-oGlDh1Q1XqYPksuTD/usb0I70hq95OUzmL9+6Zd+Hs4XV0oaISBa/UUMSjYiq6m8EUF32132mOJ8xVZS+I0S6w==", + "dependencies": { + "tslib": "^2.4.0" + }, + "optionalDependencies": { + "@emotion/is-prop-valid": "^0.8.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/framer-motion/node_modules/@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "optional": true, + "dependencies": { + "@emotion/memoize": "0.7.4" + } + }, + "node_modules/framer-motion/node_modules/@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "optional": true + }, + "node_modules/framesync": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz", + "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==", + "dependencies": { + "tslib": "2.4.0" + } + }, + "node_modules/framesync/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/framework-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/framework-utils/-/framework-utils-1.1.0.tgz", + "integrity": "sha512-KAfqli5PwpFJ8o3psRNs8svpMGyCSAe8nmGcjQ0zZBWN2H6dZDnq+ABp3N3hdUmFeMrLtjOCTXD4yplUJIWceg==" + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", + "dev": true + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/gesto": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/gesto/-/gesto-1.19.4.tgz", + "integrity": "sha512-hfr/0dWwh0Bnbb88s3QVJd1ZRJeOWcgHPPwmiH6NnafDYvhTsxg+SLYu+q/oPNh9JS3V+nlr6fNs8kvPAtcRDQ==", + "dependencies": { + "@daybrush/utils": "^1.13.0", + "@scena/event-emitter": "^1.0.2" + } + }, + "node_modules/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==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/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, + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gh-pages": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-6.1.1.tgz", + "integrity": "sha512-upnohfjBwN5hBP9w2dPE7HO5JJTHzSGMV1JrLrHvNuqmjoYHg6TBrCcnEoorjG/e0ejbuvnwyKMdTyM40PEByw==", + "dev": true, + "dependencies": { + "async": "^3.2.4", + "commander": "^11.0.0", + "email-addresses": "^5.0.0", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^11.1.1", + "globby": "^6.1.0" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gh-pages/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gh-pages/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/gh-pages/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/gh-pages/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/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==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/heap": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", + "peer": true + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "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" + } + }, + "node_modules/hpack.js/node_modules/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==" + }, + "node_modules/hpack.js/node_modules/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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", + "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/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==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/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==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/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==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-haste-map/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/jest-jasmine2/node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-jasmine2/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-jasmine2/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/joi": { + "version": "17.12.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", + "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "engines": { + "node": ">=14" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/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==" + }, + "node_modules/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==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "dependencies": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + } + }, + "node_modules/jsonpath/node_modules/esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keycode": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.1.tgz", + "integrity": "sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==" + }, + "node_modules/keycon": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/keycon/-/keycon-1.4.0.tgz", + "integrity": "sha512-p1NAIxiRMH3jYfTeXRs2uWbVJ1WpEjpi8ktzUyBJsX7/wn2qu2VRXktneBLNtKNxJmlUYxRi9gOJt1DuthXR7A==", + "dependencies": { + "@cfcs/core": "^0.0.6", + "@daybrush/utils": "^1.7.1", + "@scena/event-emitter": "^1.0.2", + "keycode": "^2.2.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true, + "engines": { + "node": "> 0.8" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dev": true, + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/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==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/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==" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/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==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", + "dev": true + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.1.tgz", + "integrity": "sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/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==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "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", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mlly": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", + "dev": true, + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.6.tgz", + "integrity": "sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/nanospinner": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/nanospinner/-/nanospinner-1.1.0.tgz", + "integrity": "sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==", + "dependencies": { + "picocolors": "^1.0.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.2.tgz", + "integrity": "sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==", + "dependencies": { + "array.prototype.filter": "^1.0.3", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.0.0" + } + }, + "node_modules/object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "dependencies": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/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==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/open/-/open-10.0.4.tgz", + "integrity": "sha512-oujJ/FFr7ra6/7gJuQ4ZJJ8Gf2VHM0J3J/W7IvH++zaqEzacWVxzK++NiVY5NLHTTj7u/jNH5H3Ei9biL31Lng==", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/overlap-area": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/overlap-area/-/overlap-area-1.1.0.tgz", + "integrity": "sha512-3dlJgJCaVeXH0/eZjYVJvQiLVVrPO4U1ZGqlATtx6QGO3b5eNM6+JgUKa7oStBTdYuGTk7gVoABCW6Tp+dhRdw==", + "dependencies": { + "@daybrush/utils": "^1.7.1" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/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==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/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==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/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==" + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", + "dev": true, + "dependencies": { + "through": "~2.3" + } + }, + "node_modules/peggy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/peggy/-/peggy-4.0.2.tgz", + "integrity": "sha512-j4cepPgB20V7honmTAI+7U022y/n/wVi7Rbbd2QrMl2nifFECpngvA6Zhrz/JdmZ5LIBoTdkgHcDzzaA6C4ABg==", + "dependencies": { + "@peggyjs/from-mem": "1.2.1", + "commander": "^12.0.0", + "source-map-generator": "0.8.0" + }, + "bin": { + "peggy": "bin/peggy.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/peggy/node_modules/commander": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.0.0.tgz", + "integrity": "sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==", + "engines": { + "node": ">=18" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/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==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/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==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up/node_modules/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==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", + "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", + "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", + "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "dependencies": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "browserslist": ">= 4", + "postcss": ">= 8" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/postcss-svgo/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/postcss/node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/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==" + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/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==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/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==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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==" + }, + "node_modules/ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "dependencies": { + "event-stream": "=3.3.4" + }, + "bin": { + "ps-tree": "bin/ps-tree.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "dependencies": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-app-polyfill/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/react-clientside-effect": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz", + "integrity": "sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==", + "dependencies": { + "@babel/runtime": "^7.12.13" + }, + "peerDependencies": { + "react": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-css-styled": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/react-css-styled/-/react-css-styled-1.1.9.tgz", + "integrity": "sha512-M7fJZ3IWFaIHcZEkoFOnkjdiUFmwd8d+gTh2bpqMOcnxy/0Gsykw4dsL4QBiKsxcGow6tETUa4NAUcmJF+/nfw==", + "dependencies": { + "css-styled": "~1.0.8", + "framework-utils": "^1.1.0" + } + }, + "node_modules/react-cytoscapejs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-cytoscapejs/-/react-cytoscapejs-2.0.0.tgz", + "integrity": "sha512-t3SSl1DQy7+JQjN+8QHi1anEJlM3i3aAeydHTsJwmjo/isyKK7Rs7oCvU6kZsB9NwZidzZQR21Vm2PcBLG/Tjg==", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "cytoscape": "^3.2.19", + "react": ">=15.0.0" + } + }, + "node_modules/react-data-grid": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/react-data-grid/-/react-data-grid-7.0.0-beta.42.tgz", + "integrity": "sha512-N5ToEOxMlQGkRYhed3ahFz34fgJTccrCA9PZqIGVoO1vsZADNISXk6ywODJOdCz/1yB78MLu+T7q6cnJd2024A==", + "dependencies": { + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": "^18.0", + "react-dom": "^18.0" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-focus-lock": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.11.2.tgz", + "integrity": "sha512-DDTbEiov0+RthESPVSTIdAWPPKic+op3sCcP+icbMRobvQNt7LuAlJ3KoarqQv5sCgKArru3kXmlmFTa27/CdQ==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "focus-lock": "^1.3.2", + "prop-types": "^15.6.2", + "react-clientside-effect": "^1.2.6", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-icons": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz", + "integrity": "sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-moveable": { + "version": "0.54.2", + "resolved": "https://registry.npmjs.org/react-moveable/-/react-moveable-0.54.2.tgz", + "integrity": "sha512-NGaVLbn0i9pb3+BWSKGWFqI/Mgm4+WMeWHxXXQ4Qi1tHxWCXrUrbGvpxEpt69G/hR7dez+/m68ex+fabjnvcUg==", + "dependencies": { + "@daybrush/utils": "^1.13.0", + "@egjs/agent": "^2.2.1", + "@egjs/children-differ": "^1.0.1", + "@egjs/list-differ": "^1.0.0", + "@scena/dragscroll": "^1.4.0", + "@scena/event-emitter": "^1.0.5", + "@scena/matrix": "^1.1.1", + "css-to-mat": "^1.1.1", + "framework-utils": "^1.1.0", + "gesto": "^1.19.0", + "overlap-area": "^1.1.0", + "react-css-styled": "^1.1.9", + "react-selecto": "^1.25.0" + } + }, + "node_modules/react-nanny": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/react-nanny/-/react-nanny-2.15.0.tgz", + "integrity": "sha512-fn6tAnJ+UEdD0pq5YytlZJb5XmjVcvXoxq3i2r1o/BavgipwRWsw7oOXNJ8bJd33iedlkNyAQMXVC6qTl0Hv4A==", + "peerDependencies": { + "react": ">=16.0.0" + } + }, + "node_modules/react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-remove-scroll": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.7.tgz", + "integrity": "sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.4", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.5.tgz", + "integrity": "sha512-3cqjOqg6s0XbOjWvmasmqHch+RLxIEk2r/70rzGXuz3iIGQsQheEQyqYCBb5EECoD01Vo2SIbDqW4paLeLTASw==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-router": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", + "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", + "dependencies": { + "@remix-run/router": "1.15.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", + "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", + "dependencies": { + "@remix-run/router": "1.15.3", + "react-router": "6.22.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/react-scripts/node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/react-scripts/node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/react-scripts/node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/react-scripts/node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + }, + "node_modules/react-scripts/node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/react-scripts/node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/react-scripts/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/react-scripts/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/react-scripts/node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/react-scripts/node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/react-scripts/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/react-scripts/node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "node_modules/react-scripts/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/react-scripts/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/react-scripts/node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/react-scripts/node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/react-scripts/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "dependencies": { + "@jest/schemas": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "dependencies": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/react-scripts/node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/react-scripts/node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/react-scripts/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/react-scripts/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-scripts/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-scripts/node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/react-scripts/node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/react-scripts/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/react-scripts/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/react-scripts/node_modules/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==", + "engines": { + "node": ">=10" + } + }, + "node_modules/react-selecto": { + "version": "1.26.3", + "resolved": "https://registry.npmjs.org/react-selecto/-/react-selecto-1.26.3.tgz", + "integrity": "sha512-Ubik7kWSnZyQEBNro+1k38hZaI1tJarE+5aD/qsqCOA1uUBSjgKVBy3EWRzGIbdmVex7DcxznFZLec/6KZNvwQ==", + "dependencies": { + "selecto": "~1.26.3" + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-use-error-boundary": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-use-error-boundary/-/react-use-error-boundary-3.0.0.tgz", + "integrity": "sha512-5urkfyU3ZzInEMSHe1gxtDzlQAHs0krTt0V6h8H2L5nXhDKq3OYXnCs9lGHDkEkYvLmsphw8ap5g8uYfvrkJng==", + "peerDependencies": { + "react": ">= 16.8" + } + }, + "node_modules/reactflow": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/reactflow/-/reactflow-11.11.0.tgz", + "integrity": "sha512-DGA5x/zB+lyHZxu9j6k5kmz9ECk4k/ZtLU1cdd7a3sZgl3Jy7i7NKtOL0cdkSVVu8Bi96286idyMszveSozufA==", + "dependencies": { + "@reactflow/background": "11.3.10", + "@reactflow/controls": "11.2.10", + "@reactflow/core": "11.11.0", + "@reactflow/minimap": "11.7.10", + "@reactflow/node-resizer": "2.2.10", + "@reactflow/node-toolbar": "1.3.10" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz", + "integrity": "sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.0.0", + "get-intrinsic": "^1.2.3", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "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==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", + "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requireindex": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", + "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==", + "dev": true, + "engines": { + "node": ">=0.10.5" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=8.9" + }, + "peerDependencies": { + "rework": "1.0.1", + "rework-visit": "1.0.0" + }, + "peerDependenciesMeta": { + "rework": { + "optional": true + }, + "rework-visit": { + "optional": true + } + } + }, + "node_modules/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/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==", + "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": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", + "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", + "dependencies": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/seedrandom": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selecto": { + "version": "1.26.3", + "resolved": "https://registry.npmjs.org/selecto/-/selecto-1.26.3.tgz", + "integrity": "sha512-gZHgqMy5uyB6/2YDjv3Qqaf7bd2hTDOpPdxXlrez4R3/L0GiEWDCFaUfrflomgqdb3SxHF2IXY0Jw0EamZi7cw==", + "dependencies": { + "@daybrush/utils": "^1.13.0", + "@egjs/children-differ": "^1.0.1", + "@scena/dragscroll": "^1.4.0", + "@scena/event-emitter": "^1.0.5", + "css-styled": "^1.0.8", + "css-to-mat": "^1.1.1", + "framework-utils": "^1.1.0", + "gesto": "^1.19.4", + "keycon": "^1.2.0", + "overlap-area": "^1.1.0" + } + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "dependencies": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/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==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, + "node_modules/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==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/size-limit": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/size-limit/-/size-limit-11.0.2.tgz", + "integrity": "sha512-iFZ8iTR/3zPqxSwEIdGnTVYVU0F2nhodLQG/G6zpi/NxECYAK9ntq2lNr+prXH7h3gyBjx2Umt2D/oS2Qzz+eg==", + "dependencies": { + "bytes-iec": "^3.1.1", + "chokidar": "^3.5.3", + "globby": "^14.0.0", + "lilconfig": "^3.0.0", + "nanospinner": "^1.1.0", + "picocolors": "^1.0.0" + }, + "bin": { + "size-limit": "bin.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/size-limit/node_modules/globby": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz", + "integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/size-limit/node_modules/lilconfig": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/size-limit/node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/size-limit/node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sockjs/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==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-generator": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/source-map-generator/-/source-map-generator-0.8.0.tgz", + "integrity": "sha512-psgxdGMwl5MZM9S3FWee4EgsEaIjahYV5AzGnwUvPhWeITz/j6rKpysQHlQ4USdxvINlb8lKfWGIXwfkrgtqkA==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/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==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead" + }, + "node_modules/spawn-command": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", + "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==", + "dev": true, + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "node_modules/start-server-and-test": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.0.3.tgz", + "integrity": "sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==", + "dev": true, + "dependencies": { + "arg": "^5.0.2", + "bluebird": "3.7.2", + "check-more-types": "2.24.0", + "debug": "4.3.4", + "execa": "5.1.1", + "lazy-ass": "1.6.0", + "ps-tree": "1.2.0", + "wait-on": "7.2.0" + }, + "bin": { + "server-test": "src/bin/start.js", + "start-server-and-test": "src/bin/start.js", + "start-test": "src/bin/start.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "dependencies": { + "escodegen": "^1.8.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/static-eval/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/static-eval/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-eval/node_modules/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==", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true + }, + "node_modules/stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1" + } + }, + "node_modules/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==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, + "node_modules/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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/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==" + }, + "node_modules/string-width/node_modules/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==" + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz", + "integrity": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==", + "dev": true, + "dependencies": { + "js-tokens": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz", + "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==", + "dev": true + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer/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/style-loader": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", + "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/style-mod": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", + "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==" + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/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==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/svgo/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==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/svgo/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==" + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/svgo/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==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/svgo/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/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==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/svgo/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==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/tailwindcss": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.29.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.1.tgz", + "integrity": "sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + }, + "node_modules/tinybench": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz", + "integrity": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==", + "dev": true + }, + "node_modules/tinypool": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", + "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-repeated/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/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true, + "engines": { + "node": ">=6.10" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "node_modules/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==", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths-webpack-plugin": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz", + "integrity": "sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.7.0", + "tsconfig-paths": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tsconfig-paths-webpack-plugin/node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz", + "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", + "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz", + "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==", + "dev": true + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.1.tgz", + "integrity": "sha512-Lg4Vx1XZQauB42Hw3kK7JM6yjVjgFmFC5/Ab797s79aARomD2nEErc4mCgM8EZrARLmmbWpi5DGCadmK50DcAQ==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dependencies": { + "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" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "node_modules/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==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.5.tgz", + "integrity": "sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.35", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.3.1.tgz", + "integrity": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==", + "dev": true, + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite/node_modules/rollup": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.1.tgz", + "integrity": "sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.12.1", + "@rollup/rollup-android-arm64": "4.12.1", + "@rollup/rollup-darwin-arm64": "4.12.1", + "@rollup/rollup-darwin-x64": "4.12.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.12.1", + "@rollup/rollup-linux-arm64-gnu": "4.12.1", + "@rollup/rollup-linux-arm64-musl": "4.12.1", + "@rollup/rollup-linux-riscv64-gnu": "4.12.1", + "@rollup/rollup-linux-x64-gnu": "4.12.1", + "@rollup/rollup-linux-x64-musl": "4.12.1", + "@rollup/rollup-win32-arm64-msvc": "4.12.1", + "@rollup/rollup-win32-ia32-msvc": "4.12.1", + "@rollup/rollup-win32-x64-msvc": "4.12.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/vitest": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.3.1.tgz", + "integrity": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==", + "dev": true, + "dependencies": { + "@vitest/expect": "1.3.1", + "@vitest/runner": "1.3.1", + "@vitest/snapshot": "1.3.1", + "@vitest/spy": "1.3.1", + "@vitest/utils": "1.3.1", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.2", + "vite": "^5.0.0", + "vite-node": "1.3.1", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "1.3.1", + "@vitest/ui": "1.3.1", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/vitest/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/vitest/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/vitest/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/vitest/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/vitest/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/wait-on": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", + "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", + "dev": true, + "dependencies": { + "axios": "^1.6.1", + "joi": "^17.11.0", + "lodash": "^4.17.21", + "minimist": "^1.2.8", + "rxjs": "^7.8.1" + }, + "bin": { + "wait-on": "bin/wait-on" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/webcola": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/webcola/-/webcola-3.4.0.tgz", + "integrity": "sha512-4BiLXjXw3SJHo3Xd+rF+7fyClT6n7I+AR6TkBqyQ4kTsePSAMDLRCXY1f3B/kXJeP9tYn4G1TblxTO+jAt0gaw==", + "dependencies": { + "d3-dispatch": "^1.0.3", + "d3-drag": "^1.0.4", + "d3-shape": "^1.3.5", + "d3-timer": "^1.0.5" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.90.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", + "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-dev-server/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-dev-server/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/webpack-dev-server/node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "dependencies": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "webpack": "^4.44.2 || ^5.47.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", + "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", + "dependencies": { + "available-typed-arrays": "^1.0.6", + "call-bind": "^1.0.5", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dev": true, + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-background-sync": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-build": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", + "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", + "deprecated": "workbox-background-sync@6.6.0", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" + }, + "node_modules/workbox-expiration": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", + "dependencies": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-precaching": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-recipes": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "dependencies": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-routing": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", + "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-strategies": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-streams": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", + "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "node_modules/workbox-sw": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" + }, + "node_modules/workbox-webpack-plugin": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "dependencies": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.9.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/workbox-window": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", + "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, + "node_modules/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==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "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==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/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==", + "engines": { + "node": ">=12" + } + }, + "node_modules/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zustand": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.2.tgz", + "integrity": "sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==", + "dependencies": { + "use-sync-external-store": "1.2.0" + }, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "@types/react": ">=16.8", + "immer": ">=9.0.6", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + } + } + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==" + }, + "@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==" + }, + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "requires": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "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==", + "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==", + "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==", + "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==" + }, + "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==" + }, + "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==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==" + }, + "@babel/core": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", + "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.0", + "@babel/parser": "^7.24.0", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0", + "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": { + "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==" + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/eslint-parser": { + "version": "7.23.10", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.10.tgz", + "integrity": "sha512-3wSYDPZVnhseRnxRJH6ZVTNknBz76AEnyC+AYYhasjP3Yy23qz0ERR7Fcd2SHmYuSFJ2kY9gaaDd3vyqU09eSw==", + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "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==" + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "requires": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "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==" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz", + "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "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==" + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.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==" + } + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "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-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" + }, + "@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "requires": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "requires": { + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + } + }, + "@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" + }, + "@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==" + }, + "@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + } + }, + "@babel/helpers": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", + "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", + "requires": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" + } + }, + "@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.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==", + "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==", + "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==", + "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==" + }, + "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==" + }, + "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==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "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.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + } + }, + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.0.tgz", + "integrity": "sha512-LiT1RqZWeij7X+wGxCoYh3/3b8nVOX6/7BZ9wiQgAIyjoeQWdROaodJCgT+dwtbjHaz0r7bEbHJzjSbVfcOyjQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-decorators": "^7.24.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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==", + "requires": {} + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.0.tgz", + "integrity": "sha512-MXW3pQCu9gUiVGzqkGqsgiINDVYXoAnrY8FYF/rmb+OfufNF0zHMpHPN4ulRrinxYT8Vk/aZJxYqOKsDECjKAw==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz", + "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@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==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", + "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "requires": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "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==" + } + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", + "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.23.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "requires": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", + "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz", + "integrity": "sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==", + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz", + "integrity": "sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", + "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", + "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.0.tgz", + "integrity": "sha512-zc0GA5IitLKJrSfXlXmp8KDqLrnGECK7YRfQBmEKg1NmBOQ7e+KuclBEKJgzifQeUYLdNiAw4B4bjyvzWVLiSA==", + "requires": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "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==" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.23.3" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/preset-env": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.0.tgz", + "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==", + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.9", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.9", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.24.0", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "core-js-compat": "^3.31.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==" + } + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", + "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.23.3", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.23.3" + } + }, + "@babel/preset-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", + "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3" + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "@babel/runtime": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", + "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + } + }, + "@babel/traverse": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", + "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0", + "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==" + } + } + }, + "@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "requires": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "@cfcs/core": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@cfcs/core/-/core-0.0.6.tgz", + "integrity": "sha512-FxfJMwoLB8MEMConeXUCqtMGqxdtePQxRBOiGip9ULcYYam3WfCgoY6xdnMaSkYvRvmosp5iuG+TiPofm65+Pw==", + "requires": { + "@egjs/component": "^3.0.2" + } + }, + "@chakra-ui/accordion": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.3.1.tgz", + "integrity": "sha512-FSXRm8iClFyU+gVaXisOSEw0/4Q+qZbFRiuhIAkVU6Boj0FxAMrlo9a8AV5TuF77rgaHytCdHk0Ng+cyUijrag==", + "requires": { + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/transition": "2.1.0" + } + }, + "@chakra-ui/alert": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.2.2.tgz", + "integrity": "sha512-jHg4LYMRNOJH830ViLuicjb3F+v6iriE/2G5T+Sd0Hna04nukNJ1MxUmBPE+vI22me2dIflfelu2v9wdB6Pojw==", + "requires": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/spinner": "2.1.0" + } + }, + "@chakra-ui/anatomy": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.2.2.tgz", + "integrity": "sha512-MV6D4VLRIHr4PkW4zMyqfrNS1mPlCTiCXwvYGtDFQYr+xHFfonhAuf9WjsSc0nyp2m0OdkSLnzmVKkZFLo25Tg==" + }, + "@chakra-ui/avatar": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-2.3.0.tgz", + "integrity": "sha512-8gKSyLfygnaotbJbDMHDiJoF38OHXUYVme4gGxZ1fLnQEdPVEaIWfH+NndIjOM0z8S+YEFnT9KyGMUtvPrBk3g==", + "requires": { + "@chakra-ui/image": "2.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/breadcrumb": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-2.2.0.tgz", + "integrity": "sha512-4cWCG24flYBxjruRi4RJREWTGF74L/KzI2CognAW/d/zWR0CjiScuJhf37Am3LFbCySP6WSoyBOtTIoTA4yLEA==", + "requires": { + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/breakpoint-utils": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/breakpoint-utils/-/breakpoint-utils-2.0.8.tgz", + "integrity": "sha512-Pq32MlEX9fwb5j5xx8s18zJMARNHlQZH2VH1RZgfgRDpp7DcEgtRW5AInfN5CfqdHLO1dGxA7I3MqEuL5JnIsA==", + "requires": { + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/button": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-2.1.0.tgz", + "integrity": "sha512-95CplwlRKmmUXkdEp/21VkEWgnwcx2TOBG6NfYlsuLBDHSLlo5FKIiE2oSi4zXc4TLcopGcWPNcm/NDaSC5pvA==", + "requires": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/spinner": "2.1.0" + } + }, + "@chakra-ui/card": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/card/-/card-2.2.0.tgz", + "integrity": "sha512-xUB/k5MURj4CtPAhdSoXZidUbm8j3hci9vnc+eZJVDqhDOShNlD6QeniQNRPRys4lWAQLCbFcrwL29C8naDi6g==", + "requires": { + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/checkbox": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-2.3.2.tgz", + "integrity": "sha512-85g38JIXMEv6M+AcyIGLh7igNtfpAN6KGQFYxY9tBj0eWvWk4NKQxvqqyVta0bSAyIl1rixNIIezNpNWk2iO4g==", + "requires": { + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/visually-hidden": "2.2.0", + "@zag-js/focus-visible": "0.16.0" + } + }, + "@chakra-ui/clickable": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-2.1.0.tgz", + "integrity": "sha512-flRA/ClPUGPYabu+/GLREZVZr9j2uyyazCAUHAdrTUEdDYCr31SVGhgh7dgKdtq23bOvAQJpIJjw/0Bs0WvbXw==", + "requires": { + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/close-button": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.1.1.tgz", + "integrity": "sha512-gnpENKOanKexswSVpVz7ojZEALl2x5qjLYNqSQGbxz+aP9sOXPfUS56ebyBrre7T7exuWGiFeRwnM0oVeGPaiw==", + "requires": { + "@chakra-ui/icon": "3.2.0" + } + }, + "@chakra-ui/color-mode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.2.0.tgz", + "integrity": "sha512-niTEA8PALtMWRI9wJ4LL0CSBDo8NBfLNp4GD6/0hstcm3IlbBHTVKxN6HwSaoNYfphDQLxCjT4yG+0BJA5tFpg==", + "requires": { + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" + } + }, + "@chakra-ui/control-box": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-2.1.0.tgz", + "integrity": "sha512-gVrRDyXFdMd8E7rulL0SKeoljkLQiPITFnsyMO8EFHNZ+AHt5wK4LIguYVEq88APqAGZGfHFWXr79RYrNiE3Mg==", + "requires": {} + }, + "@chakra-ui/counter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-2.1.0.tgz", + "integrity": "sha512-s6hZAEcWT5zzjNz2JIWUBzRubo9la/oof1W7EKZVVfPYHERnl5e16FmBC79Yfq8p09LQ+aqFKm/etYoJMMgghw==", + "requires": { + "@chakra-ui/number-utils": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/css-reset": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-2.3.0.tgz", + "integrity": "sha512-cQwwBy5O0jzvl0K7PLTLgp8ijqLPKyuEMiDXwYzl95seD3AoeuoCLyzZcJtVqaUZ573PiBdAbY/IlZcwDOItWg==", + "requires": {} + }, + "@chakra-ui/descendant": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.1.0.tgz", + "integrity": "sha512-VxCIAir08g5w27klLyi7PVo8BxhW4tgU/lxQyujkmi4zx7hT9ZdrcQLAted/dAa+aSIZ14S1oV0Q9lGjsAdxUQ==", + "requires": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0" + } + }, + "@chakra-ui/dom-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/dom-utils/-/dom-utils-2.1.0.tgz", + "integrity": "sha512-ZmF2qRa1QZ0CMLU8M1zCfmw29DmPNtfjR9iTo74U5FPr3i1aoAh7fbJ4qAlZ197Xw9eAW28tvzQuoVWeL5C7fQ==" + }, + "@chakra-ui/editable": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-3.1.0.tgz", + "integrity": "sha512-j2JLrUL9wgg4YA6jLlbU88370eCRyor7DZQD9lzpY95tSOXpTljeg3uF9eOmDnCs6fxp3zDWIfkgMm/ExhcGTg==", + "requires": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-focus-on-pointer-down": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/event-utils": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/event-utils/-/event-utils-2.0.8.tgz", + "integrity": "sha512-IGM/yGUHS+8TOQrZGpAKOJl/xGBrmRYJrmbHfUE7zrG3PpQyXvbLDP1M+RggkCFVgHlJi2wpYIf0QtQlU0XZfw==" + }, + "@chakra-ui/focus-lock": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.1.0.tgz", + "integrity": "sha512-EmGx4PhWGjm4dpjRqM4Aa+rCWBxP+Rq8Uc/nAVnD4YVqkEhBkrPTpui2lnjsuxqNaZ24fIAZ10cF1hlpemte/w==", + "requires": { + "@chakra-ui/dom-utils": "2.1.0", + "react-focus-lock": "^2.9.4" + } + }, + "@chakra-ui/form-control": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.2.0.tgz", + "integrity": "sha512-wehLC1t4fafCVJ2RvJQT2jyqsAwX7KymmiGqBu7nQoQz8ApTkGABWpo/QwDh3F/dBLrouHDoOvGmYTqft3Mirw==", + "requires": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/hooks": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-2.2.1.tgz", + "integrity": "sha512-RQbTnzl6b1tBjbDPf9zGRo9rf/pQMholsOudTxjy4i9GfTfz6kgp5ValGjQm2z7ng6Z31N1cnjZ1AlSzQ//ZfQ==", + "requires": { + "@chakra-ui/react-utils": "2.0.12", + "@chakra-ui/utils": "2.0.15", + "compute-scroll-into-view": "3.0.3", + "copy-to-clipboard": "3.3.3" + } + }, + "@chakra-ui/icon": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.2.0.tgz", + "integrity": "sha512-xxjGLvlX2Ys4H0iHrI16t74rG9EBcpFvJ3Y3B7KMQTrnW34Kf7Da/UC8J67Gtx85mTHW020ml85SVPKORWNNKQ==", + "requires": { + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/icons": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/icons/-/icons-2.1.1.tgz", + "integrity": "sha512-3p30hdo4LlRZTT5CwoAJq3G9fHI0wDc0pBaMHj4SUn0yomO+RcDRlzhdXqdr5cVnzax44sqXJVnf3oQG0eI+4g==", + "requires": { + "@chakra-ui/icon": "3.2.0" + } + }, + "@chakra-ui/image": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-2.1.0.tgz", + "integrity": "sha512-bskumBYKLiLMySIWDGcz0+D9Th0jPvmX6xnRMs4o92tT3Od/bW26lahmV2a2Op2ItXeCmRMY+XxJH5Gy1i46VA==", + "requires": { + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/input": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-2.1.2.tgz", + "integrity": "sha512-GiBbb3EqAA8Ph43yGa6Mc+kUPjh4Spmxp1Pkelr8qtudpc3p2PJOOebLpd90mcqw8UePPa+l6YhhPtp6o0irhw==", + "requires": { + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/object-utils": "2.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/layout": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-2.3.1.tgz", + "integrity": "sha512-nXuZ6WRbq0WdgnRgLw+QuxWAHuhDtVX8ElWqcTK+cSMFg/52eVP47czYBE5F35YhnoW2XBwfNoNgZ7+e8Z01Rg==", + "requires": { + "@chakra-ui/breakpoint-utils": "2.0.8", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/object-utils": "2.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/lazy-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/lazy-utils/-/lazy-utils-2.0.5.tgz", + "integrity": "sha512-UULqw7FBvcckQk2n3iPO56TMJvDsNv0FKZI6PlUNJVaGsPbsYxK/8IQ60vZgaTVPtVcjY6BE+y6zg8u9HOqpyg==" + }, + "@chakra-ui/live-region": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-2.1.0.tgz", + "integrity": "sha512-ZOxFXwtaLIsXjqnszYYrVuswBhnIHHP+XIgK1vC6DePKtyK590Wg+0J0slDwThUAd4MSSIUa/nNX84x1GMphWw==", + "requires": {} + }, + "@chakra-ui/media-query": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-3.3.0.tgz", + "integrity": "sha512-IsTGgFLoICVoPRp9ykOgqmdMotJG0CnPsKvGQeSFOB/dZfIujdVb14TYxDU4+MURXry1MhJ7LzZhv+Ml7cr8/g==", + "requires": { + "@chakra-ui/breakpoint-utils": "2.0.8", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/menu": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.2.1.tgz", + "integrity": "sha512-lJS7XEObzJxsOwWQh7yfG4H8FzFPRP5hVPN/CL+JzytEINCSBvsCDHrYPQGp7jzpCi8vnTqQQGQe0f8dwnXd2g==", + "requires": { + "@chakra-ui/clickable": "2.1.0", + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/lazy-utils": "2.0.5", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-animation-state": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-focus-effect": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-outside-click": "2.2.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/transition": "2.1.0" + } + }, + "@chakra-ui/modal": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.3.1.tgz", + "integrity": "sha512-TQv1ZaiJMZN+rR9DK0snx/OPwmtaGH1HbZtlYt4W4s6CzyK541fxLRTjIXfEzIGpvNW+b6VFuFjbcR78p4DEoQ==", + "requires": { + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/focus-lock": "2.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/transition": "2.1.0", + "aria-hidden": "^1.2.3", + "react-remove-scroll": "^2.5.6" + } + }, + "@chakra-ui/number-input": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.1.2.tgz", + "integrity": "sha512-pfOdX02sqUN0qC2ysuvgVDiws7xZ20XDIlcNhva55Jgm095xjm8eVdIBfNm3SFbSUNxyXvLTW/YQanX74tKmuA==", + "requires": { + "@chakra-ui/counter": "2.1.0", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-interval": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/number-utils": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-utils/-/number-utils-2.0.7.tgz", + "integrity": "sha512-yOGxBjXNvLTBvQyhMDqGU0Oj26s91mbAlqKHiuw737AXHt0aPllOthVUqQMeaYLwLCjGMg0jtI7JReRzyi94Dg==" + }, + "@chakra-ui/object-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.1.0.tgz", + "integrity": "sha512-tgIZOgLHaoti5PYGPTwK3t/cqtcycW0owaiOXoZOcpwwX/vlVb+H1jFsQyWiiwQVPt9RkoSLtxzXamx+aHH+bQ==" + }, + "@chakra-ui/pin-input": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-2.1.0.tgz", + "integrity": "sha512-x4vBqLStDxJFMt+jdAHHS8jbh294O53CPQJoL4g228P513rHylV/uPscYUHrVJXRxsHfRztQO9k45jjTYaPRMw==", + "requires": { + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/popover": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.2.1.tgz", + "integrity": "sha512-K+2ai2dD0ljvJnlrzesCDT9mNzLifE3noGKZ3QwLqd/K34Ym1W/0aL1ERSynrcG78NKoXS54SdEzkhCZ4Gn/Zg==", + "requires": { + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/lazy-utils": "2.0.5", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-animation-state": "2.1.0", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-focus-effect": "2.1.0", + "@chakra-ui/react-use-focus-on-pointer-down": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/popper": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-3.1.0.tgz", + "integrity": "sha512-ciDdpdYbeFG7og6/6J8lkTFxsSvwTdMLFkpVylAF6VNC22jssiWfquj2eyD4rJnzkRFPvIWJq8hvbfhsm+AjSg==", + "requires": { + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@popperjs/core": "^2.9.3" + } + }, + "@chakra-ui/portal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.1.0.tgz", + "integrity": "sha512-9q9KWf6SArEcIq1gGofNcFPSWEyl+MfJjEUg/un1SMlQjaROOh3zYr+6JAwvcORiX7tyHosnmWC3d3wI2aPSQg==", + "requires": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" + } + }, + "@chakra-ui/progress": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-2.2.0.tgz", + "integrity": "sha512-qUXuKbuhN60EzDD9mHR7B67D7p/ZqNS2Aze4Pbl1qGGZfulPW0PY8Rof32qDtttDQBkzQIzFGE8d9QpAemToIQ==", + "requires": { + "@chakra-ui/react-context": "2.1.0" + } + }, + "@chakra-ui/provider": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-2.4.2.tgz", + "integrity": "sha512-w0Tef5ZCJK1mlJorcSjItCSbyvVuqpvyWdxZiVQmE6fvSJR83wZof42ux0+sfWD+I7rHSfj+f9nzhNaEWClysw==", + "requires": { + "@chakra-ui/css-reset": "2.3.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/system": "2.6.2", + "@chakra-ui/utils": "2.0.15" + } + }, + "@chakra-ui/radio": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-2.1.2.tgz", + "integrity": "sha512-n10M46wJrMGbonaghvSRnZ9ToTv/q76Szz284gv4QUWvyljQACcGrXIONUnQ3BIwbOfkRqSk7Xl/JgZtVfll+w==", + "requires": { + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@zag-js/focus-visible": "0.16.0" + } + }, + "@chakra-ui/react": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-2.8.2.tgz", + "integrity": "sha512-Hn0moyxxyCDKuR9ywYpqgX8dvjqwu9ArwpIb9wHNYjnODETjLwazgNIliCVBRcJvysGRiV51U2/JtJVrpeCjUQ==", + "requires": { + "@chakra-ui/accordion": "2.3.1", + "@chakra-ui/alert": "2.2.2", + "@chakra-ui/avatar": "2.3.0", + "@chakra-ui/breadcrumb": "2.2.0", + "@chakra-ui/button": "2.1.0", + "@chakra-ui/card": "2.2.0", + "@chakra-ui/checkbox": "2.3.2", + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/control-box": "2.1.0", + "@chakra-ui/counter": "2.1.0", + "@chakra-ui/css-reset": "2.3.0", + "@chakra-ui/editable": "3.1.0", + "@chakra-ui/focus-lock": "2.1.0", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/hooks": "2.2.1", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/image": "2.1.0", + "@chakra-ui/input": "2.1.2", + "@chakra-ui/layout": "2.3.1", + "@chakra-ui/live-region": "2.1.0", + "@chakra-ui/media-query": "3.3.0", + "@chakra-ui/menu": "2.2.1", + "@chakra-ui/modal": "2.3.1", + "@chakra-ui/number-input": "2.1.2", + "@chakra-ui/pin-input": "2.1.0", + "@chakra-ui/popover": "2.2.1", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/progress": "2.2.0", + "@chakra-ui/provider": "2.4.2", + "@chakra-ui/radio": "2.1.2", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/select": "2.1.2", + "@chakra-ui/skeleton": "2.1.0", + "@chakra-ui/skip-nav": "2.1.0", + "@chakra-ui/slider": "2.1.0", + "@chakra-ui/spinner": "2.1.0", + "@chakra-ui/stat": "2.1.1", + "@chakra-ui/stepper": "2.3.1", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/switch": "2.1.2", + "@chakra-ui/system": "2.6.2", + "@chakra-ui/table": "2.1.0", + "@chakra-ui/tabs": "3.0.0", + "@chakra-ui/tag": "3.1.1", + "@chakra-ui/textarea": "2.1.2", + "@chakra-ui/theme": "3.3.1", + "@chakra-ui/theme-utils": "2.0.21", + "@chakra-ui/toast": "7.0.2", + "@chakra-ui/tooltip": "2.3.1", + "@chakra-ui/transition": "2.1.0", + "@chakra-ui/utils": "2.0.15", + "@chakra-ui/visually-hidden": "2.2.0" + } + }, + "@chakra-ui/react-children-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-children-utils/-/react-children-utils-2.0.6.tgz", + "integrity": "sha512-QVR2RC7QsOsbWwEnq9YduhpqSFnZGvjjGREV8ygKi8ADhXh93C8azLECCUVgRJF2Wc+So1fgxmjLcbZfY2VmBA==", + "requires": {} + }, + "@chakra-ui/react-context": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.1.0.tgz", + "integrity": "sha512-iahyStvzQ4AOwKwdPReLGfDesGG+vWJfEsn0X/NoGph/SkN+HXtv2sCfYFFR9k7bb+Kvc6YfpLlSuLvKMHi2+w==", + "requires": {} + }, + "@chakra-ui/react-env": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-3.1.0.tgz", + "integrity": "sha512-Vr96GV2LNBth3+IKzr/rq1IcnkXv+MLmwjQH6C8BRtn3sNskgDFD5vLkVXcEhagzZMCh8FR3V/bzZPojBOyNhw==", + "requires": { + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" + } + }, + "@chakra-ui/react-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-types/-/react-types-2.0.7.tgz", + "integrity": "sha512-12zv2qIZ8EHwiytggtGvo4iLT0APris7T0qaAWqzpUGS0cdUtR8W+V1BJ5Ocq+7tA6dzQ/7+w5hmXih61TuhWQ==", + "requires": {} + }, + "@chakra-ui/react-use-animation-state": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.1.0.tgz", + "integrity": "sha512-CFZkQU3gmDBwhqy0vC1ryf90BVHxVN8cTLpSyCpdmExUEtSEInSCGMydj2fvn7QXsz/za8JNdO2xxgJwxpLMtg==", + "requires": { + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0" + } + }, + "@chakra-ui/react-use-callback-ref": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.1.0.tgz", + "integrity": "sha512-efnJrBtGDa4YaxDzDE90EnKD3Vkh5a1t3w7PhnRQmsphLy3g2UieasoKTlT2Hn118TwDjIv5ZjHJW6HbzXA9wQ==", + "requires": {} + }, + "@chakra-ui/react-use-controllable-state": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.1.0.tgz", + "integrity": "sha512-QR/8fKNokxZUs4PfxjXuwl0fj/d71WPrmLJvEpCTkHjnzu7LnYvzoe2wB867IdooQJL0G1zBxl0Dq+6W1P3jpg==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + } + }, + "@chakra-ui/react-use-disclosure": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.1.0.tgz", + "integrity": "sha512-Ax4pmxA9LBGMyEZJhhUZobg9C0t3qFE4jVF1tGBsrLDcdBeLR9fwOogIPY9Hf0/wqSlAryAimICbr5hkpa5GSw==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + } + }, + "@chakra-ui/react-use-event-listener": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.1.0.tgz", + "integrity": "sha512-U5greryDLS8ISP69DKDsYcsXRtAdnTQT+jjIlRYZ49K/XhUR/AqVZCK5BkR1spTDmO9H8SPhgeNKI70ODuDU/Q==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + } + }, + "@chakra-ui/react-use-focus-effect": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.1.0.tgz", + "integrity": "sha512-xzVboNy7J64xveLcxTIJ3jv+lUJKDwRM7Szwn9tNzUIPD94O3qwjV7DDCUzN2490nSYDF4OBMt/wuDBtaR3kUQ==", + "requires": { + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0" + } + }, + "@chakra-ui/react-use-focus-on-pointer-down": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.1.0.tgz", + "integrity": "sha512-2jzrUZ+aiCG/cfanrolsnSMDykCAbv9EK/4iUyZno6BYb3vziucmvgKuoXbMPAzWNtwUwtuMhkby8rc61Ue+Lg==", + "requires": { + "@chakra-ui/react-use-event-listener": "2.1.0" + } + }, + "@chakra-ui/react-use-interval": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-interval/-/react-use-interval-2.1.0.tgz", + "integrity": "sha512-8iWj+I/+A0J08pgEXP1J1flcvhLBHkk0ln7ZvGIyXiEyM6XagOTJpwNhiu+Bmk59t3HoV/VyvyJTa+44sEApuw==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + } + }, + "@chakra-ui/react-use-latest-ref": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.1.0.tgz", + "integrity": "sha512-m0kxuIYqoYB0va9Z2aW4xP/5b7BzlDeWwyXCH6QpT2PpW3/281L3hLCm1G0eOUcdVlayqrQqOeD6Mglq+5/xoQ==", + "requires": {} + }, + "@chakra-ui/react-use-merge-refs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.1.0.tgz", + "integrity": "sha512-lERa6AWF1cjEtWSGjxWTaSMvneccnAVH4V4ozh8SYiN9fSPZLlSG3kNxfNzdFvMEhM7dnP60vynF7WjGdTgQbQ==", + "requires": {} + }, + "@chakra-ui/react-use-outside-click": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.2.0.tgz", + "integrity": "sha512-PNX+s/JEaMneijbgAM4iFL+f3m1ga9+6QK0E5Yh4s8KZJQ/bLwZzdhMz8J/+mL+XEXQ5J0N8ivZN28B82N1kNw==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + } + }, + "@chakra-ui/react-use-pan-event": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.1.0.tgz", + "integrity": "sha512-xmL2qOHiXqfcj0q7ZK5s9UjTh4Gz0/gL9jcWPA6GVf+A0Od5imEDa/Vz+533yQKWiNSm1QGrIj0eJAokc7O4fg==", + "requires": { + "@chakra-ui/event-utils": "2.0.8", + "@chakra-ui/react-use-latest-ref": "2.1.0", + "framesync": "6.1.2" + } + }, + "@chakra-ui/react-use-previous": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-previous/-/react-use-previous-2.1.0.tgz", + "integrity": "sha512-pjxGwue1hX8AFcmjZ2XfrQtIJgqbTF3Qs1Dy3d1krC77dEsiCUbQ9GzOBfDc8pfd60DrB5N2tg5JyHbypqh0Sg==", + "requires": {} + }, + "@chakra-ui/react-use-safe-layout-effect": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.1.0.tgz", + "integrity": "sha512-Knbrrx/bcPwVS1TorFdzrK/zWA8yuU/eaXDkNj24IrKoRlQrSBFarcgAEzlCHtzuhufP3OULPkELTzz91b0tCw==", + "requires": {} + }, + "@chakra-ui/react-use-size": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-size/-/react-use-size-2.1.0.tgz", + "integrity": "sha512-tbLqrQhbnqOjzTaMlYytp7wY8BW1JpL78iG7Ru1DlV4EWGiAmXFGvtnEt9HftU0NJ0aJyjgymkxfVGI55/1Z4A==", + "requires": { + "@zag-js/element-size": "0.10.5" + } + }, + "@chakra-ui/react-use-timeout": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.1.0.tgz", + "integrity": "sha512-cFN0sobKMM9hXUhyCofx3/Mjlzah6ADaEl/AXl5Y+GawB5rgedgAcu2ErAgarEkwvsKdP6c68CKjQ9dmTQlJxQ==", + "requires": { + "@chakra-ui/react-use-callback-ref": "2.1.0" + } + }, + "@chakra-ui/react-use-update-effect": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.1.0.tgz", + "integrity": "sha512-ND4Q23tETaR2Qd3zwCKYOOS1dfssojPLJMLvUtUbW5M9uW1ejYWgGUobeAiOVfSplownG8QYMmHTP86p/v0lbA==", + "requires": {} + }, + "@chakra-ui/react-utils": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-utils/-/react-utils-2.0.12.tgz", + "integrity": "sha512-GbSfVb283+YA3kA8w8xWmzbjNWk14uhNpntnipHCftBibl0lxtQ9YqMFQLwuFOO0U2gYVocszqqDWX+XNKq9hw==", + "requires": { + "@chakra-ui/utils": "2.0.15" + } + }, + "@chakra-ui/select": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-2.1.2.tgz", + "integrity": "sha512-ZwCb7LqKCVLJhru3DXvKXpZ7Pbu1TDZ7N0PdQ0Zj1oyVLJyrpef1u9HR5u0amOpqcH++Ugt0f5JSmirjNlctjA==", + "requires": { + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/shared-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/shared-utils/-/shared-utils-2.0.5.tgz", + "integrity": "sha512-4/Wur0FqDov7Y0nCXl7HbHzCg4aq86h+SXdoUeuCMD3dSj7dpsVnStLYhng1vxvlbUnLpdF4oz5Myt3i/a7N3Q==" + }, + "@chakra-ui/skeleton": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-2.1.0.tgz", + "integrity": "sha512-JNRuMPpdZGd6zFVKjVQ0iusu3tXAdI29n4ZENYwAJEMf/fN0l12sVeirOxkJ7oEL0yOx2AgEYFSKdbcAgfUsAQ==", + "requires": { + "@chakra-ui/media-query": "3.3.0", + "@chakra-ui/react-use-previous": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/skip-nav": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/skip-nav/-/skip-nav-2.1.0.tgz", + "integrity": "sha512-Hk+FG+vadBSH0/7hwp9LJnLjkO0RPGnx7gBJWI4/SpoJf3e4tZlWYtwGj0toYY4aGKl93jVghuwGbDBEMoHDug==", + "requires": {} + }, + "@chakra-ui/slider": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-2.1.0.tgz", + "integrity": "sha512-lUOBcLMCnFZiA/s2NONXhELJh6sY5WtbRykPtclGfynqqOo47lwWJx+VP7xaeuhDOPcWSSecWc9Y1BfPOCz9cQ==", + "requires": { + "@chakra-ui/number-utils": "2.0.7", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-latest-ref": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-pan-event": "2.1.0", + "@chakra-ui/react-use-size": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0" + } + }, + "@chakra-ui/spinner": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.1.0.tgz", + "integrity": "sha512-hczbnoXt+MMv/d3gE+hjQhmkzLiKuoTo42YhUG7Bs9OSv2lg1fZHW1fGNRFP3wTi6OIbD044U1P9HK+AOgFH3g==", + "requires": { + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/stat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-2.1.1.tgz", + "integrity": "sha512-LDn0d/LXQNbAn2KaR3F1zivsZCewY4Jsy1qShmfBMKwn6rI8yVlbvu6SiA3OpHS0FhxbsZxQI6HefEoIgtqY6Q==", + "requires": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/stepper": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/stepper/-/stepper-2.3.1.tgz", + "integrity": "sha512-ky77lZbW60zYkSXhYz7kbItUpAQfEdycT0Q4bkHLxfqbuiGMf8OmgZOQkOB9uM4v0zPwy2HXhe0vq4Dd0xa55Q==", + "requires": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/styled-system": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.9.2.tgz", + "integrity": "sha512-To/Z92oHpIE+4nk11uVMWqo2GGRS86coeMmjxtpnErmWRdLcp1WVCVRAvn+ZwpLiNR+reWFr2FFqJRsREuZdAg==", + "requires": { + "@chakra-ui/shared-utils": "2.0.5", + "csstype": "^3.1.2", + "lodash.mergewith": "4.6.2" + } + }, + "@chakra-ui/switch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.1.2.tgz", + "integrity": "sha512-pgmi/CC+E1v31FcnQhsSGjJnOE2OcND4cKPyTE+0F+bmGm48Q/b5UmKD9Y+CmZsrt/7V3h8KNczowupfuBfIHA==", + "requires": { + "@chakra-ui/checkbox": "2.3.2", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/system": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.6.2.tgz", + "integrity": "sha512-EGtpoEjLrUu4W1fHD+a62XR+hzC5YfsWm+6lO0Kybcga3yYEij9beegO0jZgug27V+Rf7vns95VPVP6mFd/DEQ==", + "requires": { + "@chakra-ui/color-mode": "2.2.0", + "@chakra-ui/object-utils": "2.1.0", + "@chakra-ui/react-utils": "2.0.12", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/theme-utils": "2.0.21", + "@chakra-ui/utils": "2.0.15", + "react-fast-compare": "3.2.2" + } + }, + "@chakra-ui/table": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-2.1.0.tgz", + "integrity": "sha512-o5OrjoHCh5uCLdiUb0Oc0vq9rIAeHSIRScc2ExTC9Qg/uVZl2ygLrjToCaKfaaKl1oQexIeAcZDKvPG8tVkHyQ==", + "requires": { + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/tabs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-3.0.0.tgz", + "integrity": "sha512-6Mlclp8L9lqXmsGWF5q5gmemZXOiOYuh0SGT/7PgJVNPz3LXREXlXg2an4MBUD8W5oTkduCX+3KTMCwRrVrDYw==", + "requires": { + "@chakra-ui/clickable": "2.1.0", + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/lazy-utils": "2.0.5", + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/tag": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-3.1.1.tgz", + "integrity": "sha512-Bdel79Dv86Hnge2PKOU+t8H28nm/7Y3cKd4Kfk9k3lOpUh4+nkSGe58dhRzht59lEqa4N9waCgQiBdkydjvBXQ==", + "requires": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0" + } + }, + "@chakra-ui/textarea": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-2.1.2.tgz", + "integrity": "sha512-ip7tvklVCZUb2fOHDb23qPy/Fr2mzDOGdkrpbNi50hDCiV4hFX02jdQJdi3ydHZUyVgZVBKPOJ+lT9i7sKA2wA==", + "requires": { + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/theme": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-3.3.1.tgz", + "integrity": "sha512-Hft/VaT8GYnItGCBbgWd75ICrIrIFrR7lVOhV/dQnqtfGqsVDlrztbSErvMkoPKt0UgAkd9/o44jmZ6X4U2nZQ==", + "requires": { + "@chakra-ui/anatomy": "2.2.2", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/theme-tools": "2.1.2" + } + }, + "@chakra-ui/theme-tools": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.1.2.tgz", + "integrity": "sha512-Qdj8ajF9kxY4gLrq7gA+Azp8CtFHGO9tWMN2wfF9aQNgG9AuMhPrUzMq9AMQ0MXiYcgNq/FD3eegB43nHVmXVA==", + "requires": { + "@chakra-ui/anatomy": "2.2.2", + "@chakra-ui/shared-utils": "2.0.5", + "color2k": "^2.0.2" + } + }, + "@chakra-ui/theme-utils": { + "version": "2.0.21", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-utils/-/theme-utils-2.0.21.tgz", + "integrity": "sha512-FjH5LJbT794r0+VSCXB3lT4aubI24bLLRWB+CuRKHijRvsOg717bRdUN/N1fEmEpFnRVrbewttWh/OQs0EWpWw==", + "requires": { + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/theme": "3.3.1", + "lodash.mergewith": "4.6.2" + } + }, + "@chakra-ui/toast": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-7.0.2.tgz", + "integrity": "sha512-yvRP8jFKRs/YnkuE41BVTq9nB2v/KDRmje9u6dgDmE5+1bFt3bwjdf9gVbif4u5Ve7F7BGk5E093ARRVtvLvXA==", + "requires": { + "@chakra-ui/alert": "2.2.2", + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-timeout": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/theme": "3.3.1" + } + }, + "@chakra-ui/tooltip": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.3.1.tgz", + "integrity": "sha512-Rh39GBn/bL4kZpuEMPPRwYNnccRCL+w9OqamWHIB3Qboxs6h8cOyXfIdGxjo72lvhu1QI/a4KFqkM3St+WfC0A==", + "requires": { + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/transition": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.1.0.tgz", + "integrity": "sha512-orkT6T/Dt+/+kVwJNy7zwJ+U2xAZ3EU7M3XCs45RBvUnZDr/u9vdmaM/3D/rOpmQJWgQBwKPJleUXrYWUagEDQ==", + "requires": { + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/utils": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@chakra-ui/utils/-/utils-2.0.15.tgz", + "integrity": "sha512-El4+jL0WSaYYs+rJbuYFDbjmfCcfGDmRY95GO4xwzit6YAPZBLcR65rOEwLps+XWluZTy1xdMrusg/hW0c1aAA==", + "requires": { + "@types/lodash.mergewith": "4.6.7", + "css-box-model": "1.2.1", + "framesync": "6.1.2", + "lodash.mergewith": "4.6.2" + } + }, + "@chakra-ui/visually-hidden": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.2.0.tgz", + "integrity": "sha512-KmKDg01SrQ7VbTD3+cPWf/UfpF5MSwm3v7MWi0n5t8HnnadT13MF0MJCDSXbBWnzLv1ZKJ6zlyAOeARWX+DpjQ==", + "requires": {} + }, + "@choc-ui/chakra-autocomplete": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@choc-ui/chakra-autocomplete/-/chakra-autocomplete-5.3.0.tgz", + "integrity": "sha512-cJG6bzZ9ueu0cpSzf35PTj1C1afSb9ioD9av7FALwe5v8DQijigTZoqH1lwl1iR+eNnnYYmY6fBiS8mUsh8dTQ==", + "requires": { + "@size-limit/esbuild": "11.0.2", + "@size-limit/esbuild-why": "11.0.2", + "@size-limit/file": "11.0.2", + "react-nanny": "2.15.0", + "size-limit": "11.0.2" + } + }, + "@codemirror/autocomplete": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.13.0.tgz", + "integrity": "sha512-SuDrho1klTINfbcMPnyro1ZxU9xJtwDMtb62R8TjL/tOl71IoOsvBo1a9x+hDvHhIzkTcJHy2VC+rmpGgYkRSw==", + "requires": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.17.0", + "@lezer/common": "^1.0.0" + } + }, + "@codemirror/commands": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.3.3.tgz", + "integrity": "sha512-dO4hcF0fGT9tu1Pj1D2PvGvxjeGkbC6RGcZw6Qs74TH+Ed1gw98jmUgd2axWvIZEqTeTuFrg1lEB1KV6cK9h1A==", + "requires": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.4.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.1.0" + } + }, + "@codemirror/lang-go": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@codemirror/lang-go/-/lang-go-6.0.0.tgz", + "integrity": "sha512-mMT4YeYdKGjnffDBOhr1ur1glee4oV/rfMe28vzazNHZkSt7vSiuHiBcgr3L/79Cl2RIjFdpQ1XMD0/T8Rx64g==", + "requires": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/language": "^6.6.0", + "@codemirror/state": "^6.0.0", + "@lezer/common": "^1.0.0", + "@lezer/go": "^1.0.0" + } + }, + "@codemirror/language": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.1.tgz", + "integrity": "sha512-5GrXzrhq6k+gL5fjkAwt90nYDmjlzTIJV8THnxNFtNKWotMIlzzN+CpqxqwXOECnUdOndmSeWntVrVcv5axWRQ==", + "requires": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.23.0", + "@lezer/common": "^1.1.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0", + "style-mod": "^4.0.0" + } + }, + "@codemirror/lint": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.5.0.tgz", + "integrity": "sha512-+5YyicIaaAZKU8K43IQi8TBy6mF6giGeWAH7N96Z5LC30Wm5JMjqxOYIE9mxwMG1NbhT2mA3l9hA4uuKUM3E5g==", + "requires": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "crelt": "^1.0.5" + } + }, + "@codemirror/search": { + "version": "6.5.6", + "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.6.tgz", + "integrity": "sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==", + "requires": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "crelt": "^1.0.5" + } + }, + "@codemirror/state": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.4.1.tgz", + "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==" + }, + "@codemirror/theme-one-dark": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@codemirror/theme-one-dark/-/theme-one-dark-6.1.2.tgz", + "integrity": "sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==", + "requires": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/highlight": "^1.0.0" + } + }, + "@codemirror/view": { + "version": "6.25.1", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.25.1.tgz", + "integrity": "sha512-2LXLxsQnHDdfGzDvjzAwZh2ZviNJm7im6tGpa0IONIDnFd8RZ80D2SNi8PDi6YjKcMoMRK20v6OmKIdsrwsyoQ==", + "requires": { + "@codemirror/state": "^6.4.0", + "style-mod": "^4.1.0", + "w3c-keyname": "^2.2.4" + } + }, + "@csstools/normalize.css": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", + "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==" + }, + "@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "requires": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "requires": {} + }, + "@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "requires": {} + }, + "@daybrush/utils": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@daybrush/utils/-/utils-1.13.0.tgz", + "integrity": "sha512-ALK12C6SQNNHw1enXK+UO8bdyQ+jaWNQ1Af7Z3FNxeAwjYhQT7do+TRE4RASAJ3ObaS2+TJ7TXR3oz2Gzbw0PQ==" + }, + "@egjs/agent": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@egjs/agent/-/agent-2.4.3.tgz", + "integrity": "sha512-XvksSENe8wPeFlEVouvrOhKdx8HMniJ3by7sro2uPF3M6QqWwjzVcmvwoPtdjiX8O1lfRoLhQMp1a7NGlVTdIA==" + }, + "@egjs/children-differ": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@egjs/children-differ/-/children-differ-1.0.1.tgz", + "integrity": "sha512-DRvyqMf+CPCOzAopQKHtW+X8iN6Hy6SFol+/7zCUiE5y4P/OB8JP8FtU4NxtZwtafvSL4faD5KoQYPj3JHzPFQ==", + "requires": { + "@egjs/list-differ": "^1.0.0" + } + }, + "@egjs/component": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@egjs/component/-/component-3.0.5.tgz", + "integrity": "sha512-cLcGizTrrUNA2EYE3MBmEDt2tQv1joVP1Q3oDisZ5nw0MZDx2kcgEXM+/kZpfa/PAkFvYVhRUZwytIQWoN3V/w==" + }, + "@egjs/list-differ": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@egjs/list-differ/-/list-differ-1.0.1.tgz", + "integrity": "sha512-OTFTDQcWS+1ZREOdCWuk5hCBgYO4OsD30lXcOCyVOAjXMhgL5rBRDnt/otb6Nz8CzU0L/igdcaQBDLWc4t9gvg==" + }, + "@emotion/babel-plugin": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", + "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/serialize": "^1.1.2", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "@emotion/cache": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", + "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "requires": { + "@emotion/memoize": "^0.8.1", + "@emotion/sheet": "^1.2.2", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "stylis": "4.2.0" + } + }, + "@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + }, + "@emotion/is-prop-valid": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", + "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", + "requires": { + "@emotion/memoize": "^0.8.1" + } + }, + "@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "@emotion/react": { + "version": "11.11.4", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz", + "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/cache": "^11.11.0", + "@emotion/serialize": "^1.1.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "hoist-non-react-statics": "^3.3.1" + } + }, + "@emotion/serialize": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.3.tgz", + "integrity": "sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==", + "requires": { + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/unitless": "^0.8.1", + "@emotion/utils": "^1.2.1", + "csstype": "^3.0.2" + } + }, + "@emotion/sheet": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", + "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + }, + "@emotion/styled": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz", + "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/is-prop-valid": "^1.2.1", + "@emotion/serialize": "^1.1.2", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1" + } + }, + "@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + }, + "@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", + "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "requires": {} + }, + "@emotion/utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + }, + "@emotion/weak-memoize": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", + "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + }, + "@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "optional": true + }, + "@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "optional": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==" + }, + "@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "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" + } + }, + "@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==" + }, + "@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "requires": { + "@humanwhocodes/object-schema": "^2.0.2", + "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==" + }, + "@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==" + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "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.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "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==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "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==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" + }, + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "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==" + }, + "@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==" + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@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==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, + "@lezer/common": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz", + "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==" + }, + "@lezer/go": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@lezer/go/-/go-1.0.0.tgz", + "integrity": "sha512-co9JfT3QqX1YkrMmourYw2Z8meGC50Ko4d54QEcQbEYpvdUvN4yb0NBZdn/9ertgvjsySxHsKzH3lbm3vqJ4Jw==", + "requires": { + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0" + } + }, + "@lezer/highlight": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.0.tgz", + "integrity": "sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==", + "requires": { + "@lezer/common": "^1.0.0" + } + }, + "@lezer/lr": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.0.tgz", + "integrity": "sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg==", + "requires": { + "@lezer/common": "^1.0.0" + } + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "requires": { + "eslint-scope": "5.1.1" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, + "@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==", + "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==" + }, + "@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==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@peggyjs/from-mem": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@peggyjs/from-mem/-/from-mem-1.2.1.tgz", + "integrity": "sha512-qh5zG8WKT36142/FqOYtpF0scRR3ZJ3H5XST1bJ/KV2FvyB5MvUB/tB9ZjihRe1iKjJD4PBOZczzwEx7hJtgMw==", + "requires": { + "semver": "7.6.0" + } + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true + }, + "@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", + "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", + "requires": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + } + } + }, + "@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==" + }, + "@reactflow/background": { + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@reactflow/background/-/background-11.3.10.tgz", + "integrity": "sha512-EdrQrNOdZtK5I+g+rKqLgiNU1rHXtpu2kQ0Af0LZ6v8yzOhAIMpxC70MeLXCLhZRHBkg1djk7gP6ZOSFZQFbUQ==", + "requires": { + "@reactflow/core": "11.11.0", + "classcat": "^5.0.3", + "zustand": "^4.4.1" + } + }, + "@reactflow/controls": { + "version": "11.2.10", + "resolved": "https://registry.npmjs.org/@reactflow/controls/-/controls-11.2.10.tgz", + "integrity": "sha512-Y4lzm34Fu1uA67v83A91Ff9em9rHoVr80nk53OcI3IzgAN5Fzav+LEbXblCdMSl7nObdxnReK56H++upfTjVXA==", + "requires": { + "@reactflow/core": "11.11.0", + "classcat": "^5.0.3", + "zustand": "^4.4.1" + } + }, + "@reactflow/core": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@reactflow/core/-/core-11.11.0.tgz", + "integrity": "sha512-Flw7kpEvXXb+qfT6jhFmscZLzIN8AY7kZC8SwVOW0ijpsgvILnE6cMq45CKmTaWxl82KbaHPxZUB3FeQxb1KMQ==", + "requires": { + "@types/d3": "^7.4.0", + "@types/d3-drag": "^3.0.1", + "@types/d3-selection": "^3.0.3", + "@types/d3-zoom": "^3.0.1", + "classcat": "^5.0.3", + "d3-drag": "^3.0.0", + "d3-selection": "^3.0.0", + "d3-zoom": "^3.0.0", + "zustand": "^4.4.1" + }, + "dependencies": { + "d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "requires": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + } + } + } + }, + "@reactflow/minimap": { + "version": "11.7.10", + "resolved": "https://registry.npmjs.org/@reactflow/minimap/-/minimap-11.7.10.tgz", + "integrity": "sha512-tlNctCy87n+yhaATham4W+UgcSWj+iASF8CNsQVowYaiEPZlugvEHfNl724Z1eqXXl7iBqz9zZWEzYVUf9/+qA==", + "requires": { + "@reactflow/core": "11.11.0", + "@types/d3-selection": "^3.0.3", + "@types/d3-zoom": "^3.0.1", + "classcat": "^5.0.3", + "d3-selection": "^3.0.0", + "d3-zoom": "^3.0.0", + "zustand": "^4.4.1" + } + }, + "@reactflow/node-resizer": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@reactflow/node-resizer/-/node-resizer-2.2.10.tgz", + "integrity": "sha512-pErzqNTKA9q7SdvlOo+lNjoLoGck7GGqO7acmYKkqRnML13BS+rL5tBu880ZEm6htQK0juz3EM+asTPkdPJ00Q==", + "requires": { + "@reactflow/core": "11.11.0", + "classcat": "^5.0.4", + "d3-drag": "^3.0.0", + "d3-selection": "^3.0.0", + "zustand": "^4.4.1" + }, + "dependencies": { + "d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "requires": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + } + } + } + }, + "@reactflow/node-toolbar": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@reactflow/node-toolbar/-/node-toolbar-1.3.10.tgz", + "integrity": "sha512-0zifoe2i/SjooZuWZZ03wYOraPfkqqyn6XUlryjzSGzABOSQuaXd71YrdIkmhym9/5fbCsLg42Dct3V9r0f1Eg==", + "requires": { + "@reactflow/core": "11.11.0", + "classcat": "^5.0.3", + "zustand": "^4.4.1" + } + }, + "@remix-run/router": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", + "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==" + }, + "@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + } + } + }, + "@rollup/rollup-android-arm-eabi": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.1.tgz", + "integrity": "sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-android-arm64": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.1.tgz", + "integrity": "sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.1.tgz", + "integrity": "sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.1.tgz", + "integrity": "sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.1.tgz", + "integrity": "sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.1.tgz", + "integrity": "sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.1.tgz", + "integrity": "sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.1.tgz", + "integrity": "sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.1.tgz", + "integrity": "sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.1.tgz", + "integrity": "sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.1.tgz", + "integrity": "sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.1.tgz", + "integrity": "sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.1.tgz", + "integrity": "sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==", + "dev": true, + "optional": true + }, + "@rushstack/eslint-patch": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.7.2.tgz", + "integrity": "sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==" + }, + "@scena/dragscroll": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scena/dragscroll/-/dragscroll-1.4.0.tgz", + "integrity": "sha512-3O8daaZD9VXA9CP3dra6xcgt/qrm0mg0xJCwiX6druCteQ9FFsXffkF8PrqxY4Z4VJ58fFKEa0RlKqbsi/XnRA==", + "requires": { + "@daybrush/utils": "^1.6.0", + "@scena/event-emitter": "^1.0.2" + } + }, + "@scena/event-emitter": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@scena/event-emitter/-/event-emitter-1.0.5.tgz", + "integrity": "sha512-AzY4OTb0+7ynefmWFQ6hxDdk0CySAq/D4efljfhtRHCOP7MBF9zUfhKG3TJiroVjASqVgkRJFdenS8ArZo6Olg==", + "requires": { + "@daybrush/utils": "^1.1.1" + } + }, + "@scena/matrix": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scena/matrix/-/matrix-1.1.1.tgz", + "integrity": "sha512-JVKBhN0tm2Srl+Yt+Ywqu0oLgLcdemDQlD1OxmN9jaCTwaFPZ7tY8n6dhVgMEaR9qcR7r+kAlMXnSfNyYdE+Vg==", + "requires": { + "@daybrush/utils": "^1.4.0" + } + }, + "@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==" + }, + "@size-limit/esbuild": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@size-limit/esbuild/-/esbuild-11.0.2.tgz", + "integrity": "sha512-67p+y+wkMBJJegLZUp1X3v1YEvgGSbbAukFbHtxJ1c/DTj/ApiHvtgMzvA5ij+A5UOay+jSU4bXetpNJlUK3Ow==", + "requires": { + "esbuild": "^0.19.11", + "nanoid": "^5.0.4" + } + }, + "@size-limit/esbuild-why": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@size-limit/esbuild-why/-/esbuild-why-11.0.2.tgz", + "integrity": "sha512-pYm1z5F4XXhg609qnh/VWe52o0T5Z3YjIQlZ9lgxchTYXUskVnRUDqRLKXC3NHuEqHdMtg13Du3rpaGvXMTyuw==", + "requires": { + "esbuild-visualizer": "^0.6.0", + "open": "^10.0.3" + } + }, + "@size-limit/file": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@size-limit/file/-/file-11.0.2.tgz", + "integrity": "sha512-874lrMtWYRL+xb/6xzejjwD+krfHTOo+2uFGpZfJScvuNv91Ni2O7k0o09zC70VzCYBGkXquV92ln/H+/ognGg==", + "requires": {} + }, + "@storybook/csf": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.1.tgz", + "integrity": "sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "requires": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" + }, + "@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + } + }, + "@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "requires": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "requires": { + "@babel/types": "^7.12.6" + } + }, + "@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "requires": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + } + }, + "@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "requires": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + } + }, + "@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" + }, + "@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/cytoscape": { + "version": "3.19.16", + "resolved": "https://registry.npmjs.org/@types/cytoscape/-/cytoscape-3.19.16.tgz", + "integrity": "sha512-A3zkjaZ6cOGyqEvrVuC1YUgiRSJhDZOj8Qhd1ALH2/+YxH2za1BOmR4RWQsKYHsc+aMP/IWoqg1COuUbZ39t/g==", + "dev": true + }, + "@types/d3": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "requires": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "@types/d3-array": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", + "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==" + }, + "@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "requires": { + "@types/d3-selection": "*" + } + }, + "@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "requires": { + "@types/d3-selection": "*" + } + }, + "@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==" + }, + "@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==" + }, + "@types/d3-contour": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", + "requires": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==" + }, + "@types/d3-dispatch": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz", + "integrity": "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==" + }, + "@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "requires": { + "@types/d3-selection": "*" + } + }, + "@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==" + }, + "@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==" + }, + "@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "requires": { + "@types/d3-dsv": "*" + } + }, + "@types/d3-force": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.9.tgz", + "integrity": "sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==" + }, + "@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==" + }, + "@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "requires": { + "@types/geojson": "*" + } + }, + "@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==" + }, + "@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "requires": { + "@types/d3-color": "*" + } + }, + "@types/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==" + }, + "@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==" + }, + "@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==" + }, + "@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==" + }, + "@types/d3-scale": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", + "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", + "requires": { + "@types/d3-time": "*" + } + }, + "@types/d3-scale-chromatic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz", + "integrity": "sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==" + }, + "@types/d3-selection": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.10.tgz", + "integrity": "sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==" + }, + "@types/d3-shape": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz", + "integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==", + "requires": { + "@types/d3-path": "*" + } + }, + "@types/d3-time": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz", + "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==" + }, + "@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==" + }, + "@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==" + }, + "@types/d3-transition": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.8.tgz", + "integrity": "sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==", + "requires": { + "@types/d3-selection": "*" + } + }, + "@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "requires": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, + "@types/eslint": { + "version": "8.56.5", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.5.tgz", + "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.43", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", + "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "@types/geojson": { + "version": "7946.0.14", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", + "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" + }, + "@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + }, + "@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/js-cookie": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.6.tgz", + "integrity": "sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "@types/lodash": { + "version": "4.14.202", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" + }, + "@types/lodash.mergewith": { + "version": "4.6.7", + "resolved": "https://registry.npmjs.org/@types/lodash.mergewith/-/lodash.mergewith-4.6.7.tgz", + "integrity": "sha512-3m+lkO5CLRRYU0fhGRp7zbsGi6+BZj0uTVSwvcKU+nSlhjA9/QRNfuSGnD2mX6hQA7ZbmcCkzk5h4ZYGOtk14A==", + "requires": { + "@types/lodash": "*" + } + }, + "@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + }, + "@types/node": { + "version": "20.11.25", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.25.tgz", + "integrity": "sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==", + "requires": { + "undici-types": "~5.26.4" + } + }, + "@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + }, + "@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" + }, + "@types/prop-types": { + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", + "devOptional": true + }, + "@types/q": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" + }, + "@types/qs": { + "version": "6.9.12", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.12.tgz", + "integrity": "sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==" + }, + "@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + }, + "@types/react": { + "version": "18.2.64", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.64.tgz", + "integrity": "sha512-MlmPvHgjj2p3vZaxbQgFUQFvD8QiZwACfGqEdDSWou5yISWxDQ4/74nCAwsUiX7UFLKZz3BbVSPj+YxeoGGCfg==", + "devOptional": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-cytoscapejs": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/react-cytoscapejs/-/react-cytoscapejs-1.2.5.tgz", + "integrity": "sha512-G9VcGQOlER3njklOu5D0FDGHYfkQJ3yEL95kGbgI/MR08N5dQ7IbLSZI8WqaB4fG0zOURIg0BUtOCrbE5HRZEQ==", + "dev": true, + "requires": { + "@types/cytoscape": "*", + "@types/react": "*" + } + }, + "@types/react-dom": { + "version": "18.2.21", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.21.tgz", + "integrity": "sha512-gnvBA/21SA4xxqNXEwNiVcP0xSGHh/gi1VhWv9Bl46a0ItbTT5nFY+G9VSQpaG/8N/qdJpJ+vftQ4zflTtnjLw==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "requires": { + "@types/node": "*" + } + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", + "devOptional": true + }, + "@types/seedrandom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.8.tgz", + "integrity": "sha512-TY1eezMU2zH2ozQoAFAQFOPpvP15g+ZgSfTZt31AUUH/Rxtnz3H+A/Sv1Snw2/amp//omibc+AEkTaA8KUeOLQ==", + "dev": true + }, + "@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + }, + "@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "requires": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "requires": { + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" + }, + "@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" + }, + "@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", + "dev": true + }, + "@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "requires": { + "@types/node": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "requires": { + "@typescript-eslint/utils": "5.62.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "requires": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==" + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@uiw/codemirror-extensions-basic-setup": { + "version": "4.21.25", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-extensions-basic-setup/-/codemirror-extensions-basic-setup-4.21.25.tgz", + "integrity": "sha512-eeUKlmEE8aSoSgelS8OR2elcPGntpRo669XinAqPCLa0eKorT2B0d3ts+AE+njAeGk744tiyAEbHb2n+6OQmJw==", + "requires": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/commands": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/search": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" + } + }, + "@uiw/codemirror-extensions-zebra-stripes": { + "version": "4.21.24", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-extensions-zebra-stripes/-/codemirror-extensions-zebra-stripes-4.21.24.tgz", + "integrity": "sha512-6CdWPp8RZ23alLTrAquIyPsHc1oVFpI6m+WbihUdJ6D2x7CmiR7rtcPLiYVR711SH0sVZiDouPV737871tOJtw==", + "requires": {} + }, + "@uiw/codemirror-theme-github": { + "version": "4.21.24", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-theme-github/-/codemirror-theme-github-4.21.24.tgz", + "integrity": "sha512-BggG0qiLpg5j9ijY4DJDnANefLADKh8FseH28J1ljvwtnvlR1GGnO+RZzOl11gLpDqb2DUM5xIaxmbLcKWljUg==", + "requires": { + "@uiw/codemirror-themes": "4.21.24" + } + }, + "@uiw/codemirror-themes": { + "version": "4.21.24", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-themes/-/codemirror-themes-4.21.24.tgz", + "integrity": "sha512-InY24KWP8YArDBACWHKFZ6ZU+WCvRHf3ZB2cCVxMVN35P1ANUmRzpAP2ernZQ5OIriL1/A/kXgD0Zg3Y65PNgg==", + "requires": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" + } + }, + "@uiw/react-codemirror": { + "version": "4.21.25", + "resolved": "https://registry.npmjs.org/@uiw/react-codemirror/-/react-codemirror-4.21.25.tgz", + "integrity": "sha512-mBrCoiffQ+hbTqV1JoixFEcH7BHXkS3PjTyNH7dE8Gzf3GSBRazhtSM5HrAFIiQ5FIRGFs8Gznc4UAdhtevMmw==", + "requires": { + "@babel/runtime": "^7.18.6", + "@codemirror/commands": "^6.1.0", + "@codemirror/state": "^6.1.1", + "@codemirror/theme-one-dark": "^6.0.0", + "@uiw/codemirror-extensions-basic-setup": "4.21.25", + "codemirror": "^6.0.0" + } + }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, + "@vitest/expect": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.1.tgz", + "integrity": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==", + "dev": true, + "requires": { + "@vitest/spy": "1.3.1", + "@vitest/utils": "1.3.1", + "chai": "^4.3.10" + } + }, + "@vitest/runner": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.1.tgz", + "integrity": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==", + "dev": true, + "requires": { + "@vitest/utils": "1.3.1", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "dependencies": { + "p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dev": true, + "requires": { + "yocto-queue": "^1.0.0" + } + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true + } + } + }, + "@vitest/snapshot": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.1.tgz", + "integrity": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==", + "dev": true, + "requires": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "@vitest/spy": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.1.tgz", + "integrity": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==", + "dev": true, + "requires": { + "tinyspy": "^2.2.0" + } + }, + "@vitest/utils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.1.tgz", + "integrity": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==", + "dev": true, + "requires": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0" + } + }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "@zag-js/dom-query": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@zag-js/dom-query/-/dom-query-0.16.0.tgz", + "integrity": "sha512-Oqhd6+biWyKnhKwFFuZrrf6lxBz2tX2pRQe6grUnYwO6HJ8BcbqZomy2lpOdr+3itlaUqx+Ywj5E5ZZDr/LBfQ==" + }, + "@zag-js/element-size": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.10.5.tgz", + "integrity": "sha512-uQre5IidULANvVkNOBQ1tfgwTQcGl4hliPSe69Fct1VfYb2Fd0jdAcGzqQgPhfrXFpR62MxLPB7erxJ/ngtL8w==" + }, + "@zag-js/focus-visible": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.16.0.tgz", + "integrity": "sha512-a7U/HSopvQbrDU4GLerpqiMcHKEkQkNPeDZJWz38cw/6Upunh41GjHetq5TB84hxyCaDzJ6q2nEdNoBQfC0FKA==", + "requires": { + "@zag-js/dom-query": "0.16.0" + } + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "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==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "requires": {} + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + }, + "address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" + }, + "adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + } + }, + "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==", + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "requires": {} + }, + "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==", + "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==" + } + } + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "requires": { + "tslib": "^2.0.0" + } + }, + "aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "requires": { + "dequal": "^2.0.3" + } + }, + "array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "requires": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + } + }, + "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==" + }, + "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.prototype.filter": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.3.tgz", + "integrity": "sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "array.prototype.findlast": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.4.tgz", + "integrity": "sha512-BMtLxpV+8BD+6ZPFIWmnUBpQoy+A+ujcg4rhp2iwCRJYA7PEh2MS4NL3lz8EiDlLrJPp2hg9qWihr5pd//jcGw==", + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "array.prototype.findlastindex": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz", + "integrity": "sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==", + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "requires": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "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 + }, + "ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" + }, + "async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + }, + "asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "requires": { + "has-symbols": "^1.0.3" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "autoprefixer": { + "version": "10.4.18", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz", + "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", + "requires": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001591", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "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==", + "requires": { + "possible-typed-array-names": "^1.0.0" + } + }, + "axe-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==" + }, + "axios": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "requires": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "requires": { + "dequal": "^2.0.3" + } + }, + "babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + } + }, + "babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "requires": {} + }, + "babel-plugin-named-exports-order": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-named-exports-order/-/babel-plugin-named-exports-order-0.0.2.tgz", + "integrity": "sha512-OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw==", + "dev": true + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", + "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.5.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==" + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", + "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.5.0", + "core-js-compat": "^3.34.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.5.0" + } + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "requires": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "bfj": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "requires": { + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "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.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "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==", + "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==" + } + } + }, + "bonjour-service": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "requires": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "requires": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "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==" + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==" + }, + "bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "requires": { + "run-applescript": "^7.0.0" + } + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" + }, + "bytes-iec": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bytes-iec/-/bytes-iec-3.1.1.tgz", + "integrity": "sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==" + }, + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true + }, + "call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001596", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001596.tgz", + "integrity": "sha512-zpkZ+kEr6We7w63ORkoJ2pOfBwBkY/bJrG/UZ90qNb45Isblu8wzDgevEOrRL1r9dWayHjYiiyCMEXPn4DweGQ==" + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==" + }, + "chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "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.0.8" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + }, + "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" + } + }, + "check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true + }, + "check-types": { + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==" + }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "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" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chromatic": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/chromatic/-/chromatic-6.24.1.tgz", + "integrity": "sha512-XbpdWWHvFpEHtcq1Km71UcuQ07effB+8q8L47E1Y7HJmJ4ZCoKCuPd8liNrbnvwEAxqfBZvTcONYU/3BPz2i5w==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + }, + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==" + }, + "cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" + }, + "classcat": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/classcat/-/classcat-5.0.5.tgz", + "integrity": "sha512-JhZUT7JFcQy/EzW605k/ktHtncoo9vnyW/2GspNYwFlN1C/WmjuV/xtS04e9SOkL2sTdw0VAZ2UGCcQ9lR6p6w==" + }, + "clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "requires": { + "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==" + } + } + }, + "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==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "clsx": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==" + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "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==", + "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==", + "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==", + "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==" + }, + "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==" + }, + "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==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "codemirror": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz", + "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==", + "requires": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/commands": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/search": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" + } + }, + "collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" + }, + "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==", + "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==" + }, + "color2k": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/color2k/-/color2k-2.0.3.tgz", + "integrity": "sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog==" + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "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==" + }, + "common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "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==" + }, + "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==" + } + } + }, + "compute-scroll-into-view": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.0.3.tgz", + "integrity": "sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "concurrently": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz", + "integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==", + "dev": true, + "requires": { + "chalk": "^4.1.2", + "date-fns": "^2.30.0", + "lodash": "^4.17.21", + "rxjs": "^7.8.1", + "shell-quote": "^1.8.1", + "spawn-command": "0.0.2", + "supports-color": "^8.1.1", + "tree-kill": "^1.2.2", + "yargs": "^17.7.2" + }, + "dependencies": { + "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" + } + } + } + }, + "confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" + }, + "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==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "requires": { + "toggle-selection": "^1.0.6" + } + }, + "core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==" + }, + "core-js-compat": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", + "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", + "requires": { + "browserslist": "^4.22.3" + } + }, + "core-js-pure": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.0.tgz", + "integrity": "sha512-cN28qmhRNgbMZZMc/RFu5w8pK9VJzpb2rJVR/lHuZJKwmXnoWOpXmMkxqBB514igkp1Hu8WGROsiOAzUcKdHOQ==" + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "crelt": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", + "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==" + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + }, + "css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-box-model": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz", + "integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==", + "requires": { + "tiny-invariant": "^1.0.6" + } + }, + "css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "requires": {} + }, + "css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-loader": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", + "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.4", + "postcss-modules-scope": "^3.1.1", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + } + }, + "css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "requires": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "requires": {} + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "css-styled": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/css-styled/-/css-styled-1.0.8.tgz", + "integrity": "sha512-tCpP7kLRI8dI95rCh3Syl7I+v7PP+2JYOzWkl0bUEoSbJM+u8ITbutjlQVf0NC2/g4ULROJPi16sfwDIO8/84g==", + "requires": { + "@daybrush/utils": "^1.13.0" + } + }, + "css-to-mat": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/css-to-mat/-/css-to-mat-1.1.1.tgz", + "integrity": "sha512-kvpxFYZb27jRd2vium35G7q5XZ2WJ9rWjDUMNT36M3Hc41qCrLXFM5iEKMGXcrPsKfXEN+8l/riB4QzwwwiEyQ==", + "requires": { + "@daybrush/utils": "^1.13.0", + "@scena/matrix": "^1.0.0" + } + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "cssdb": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.11.1.tgz", + "integrity": "sha512-F0nEoX/Rv8ENTHsjMPGHd9opdjGfXkgRBafSUGnQKPzGZFB7Lm0BbT10x21TMOCrKLbVsJ0NoCDMk6AfKqw8/A==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "requires": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + } + } + }, + "csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "cytoscape": { + "version": "3.28.1", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.28.1.tgz", + "integrity": "sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==", + "peer": true, + "requires": { + "heap": "^0.2.6", + "lodash": "^4.17.21" + } + }, + "cytoscape-cola": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/cytoscape-cola/-/cytoscape-cola-2.5.1.tgz", + "integrity": "sha512-4/2S9bW1LvdsEPmxXN1OEAPFPbk7DvCx2c9d+TblkQAAvptGaSgtPWCByTEGgT8UxCxcVqes2aFPO5pzwo7R2w==", + "requires": { + "webcola": "^3.4.0" + } + }, + "d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==" + }, + "d3-dispatch": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", + "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==" + }, + "d3-drag": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz", + "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==", + "requires": { + "d3-dispatch": "1", + "d3-selection": "1" + }, + "dependencies": { + "d3-selection": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.2.tgz", + "integrity": "sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==" + } + } + }, + "d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==" + }, + "d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "requires": { + "d3-color": "1 - 3" + } + }, + "d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==" + }, + "d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==" + }, + "d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "requires": { + "d3-path": "1" + } + }, + "d3-timer": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", + "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==" + }, + "d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "requires": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "dependencies": { + "d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "requires": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + } + }, + "d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "requires": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + } + } + } + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.21.0" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "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==" + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" + }, + "default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "requires": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + } + }, + "default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==" + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "requires": { + "execa": "^5.0.0" + } + }, + "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==", + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, + "define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==" + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "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==" + } + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + } + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "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==" + }, + "ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "requires": { + "jake": "^10.8.5" + } + }, + "electron-to-chromium": { + "version": "1.4.698", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.698.tgz", + "integrity": "sha512-f9iZD1t3CLy1AS6vzM5EKGa6p9pRcOeEFXRFbaG2Ta+Oe7MkfRQ3fsvPYidzHe1h4i0JvIvpcY55C+B6BZNGtQ==" + }, + "email-addresses": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", + "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "enhanced-resolve": { + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.1.tgz", + "integrity": "sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg==", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "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==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "requires": { + "stackframe": "^1.3.4" + } + }, + "es-abstract": { + "version": "1.22.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz", + "integrity": "sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==", + "requires": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.1", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.0", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.5", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.14" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + }, + "es-iterator-helpers": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz", + "integrity": "sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==", + "requires": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.4", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.2", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.0" + } + }, + "es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" + }, + "es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "requires": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + } + }, + "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==", + "requires": { + "hasown": "^2.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "requires": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "esbuild-visualizer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/esbuild-visualizer/-/esbuild-visualizer-0.6.0.tgz", + "integrity": "sha512-oNK3JAhC7+re93VTtUdWJKTDVnA2qXPAjCAoaw9OxEFUXztszw3kcaK46u1U790T8FdUBAWv6F9Xt59P8nJCVA==", + "requires": { + "open": "^8.4.0", + "picomatch": "^2.3.1", + "yargs": "^17.6.2" + }, + "dependencies": { + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + } + } + }, + "escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + }, + "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==" + }, + "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==" + }, + "escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + } + } + }, + "eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@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" + } + }, + "eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "requires": {} + }, + "eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "requires": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + } + }, + "eslint-import-resolver-alias": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-alias/-/eslint-import-resolver-alias-1.1.2.tgz", + "integrity": "sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==", + "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==", + "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==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "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==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "requires": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + } + }, + "eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "requires": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "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.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "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==", + "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==", + "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==" + } + } + }, + "eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "requires": { + "@typescript-eslint/experimental-utils": "^5.0.0" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", + "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "requires": { + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" + } + }, + "eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-react": { + "version": "7.34.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.0.tgz", + "integrity": "sha512-MeVXdReleBTdkz/bvcQMSnCXGi+c9kvy51IpinjnJgutl3YTHWsDdke7Z1ufZpGfDG8xduBDKyjtB9JH1eBKIQ==", + "requires": { + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.17", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.10" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "requires": {} + }, + "eslint-plugin-simple-import-sort": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz", + "integrity": "sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==", + "dev": true, + "requires": {} + }, + "eslint-plugin-storybook": { + "version": "0.6.15", + "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.6.15.tgz", + "integrity": "sha512-lAGqVAJGob47Griu29KXYowI4G7KwMoJDOkEip8ujikuDLxU+oWJ1l0WL6F2oDO4QiyUFXvtDkEkISMOPzo+7w==", + "dev": true, + "requires": { + "@storybook/csf": "^0.0.1", + "@typescript-eslint/utils": "^5.45.0", + "requireindex": "^1.1.0", + "ts-dedent": "^2.2.0" + } + }, + "eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "requires": { + "@typescript-eslint/utils": "^5.58.0" + } + }, + "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==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "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==" + }, + "eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "requires": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "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==" + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "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==", + "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==" + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==", + "dev": true, + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" + }, + "express": { + "version": "4.18.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", + "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "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==" + } + } + }, + "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==" + }, + "fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "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.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "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==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "requires": { + "bser": "2.1.1" + } + }, + "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==", + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "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==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true + }, + "filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + } + }, + "filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "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==", + "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==" + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "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==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==" + }, + "focus-lock": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-1.3.4.tgz", + "integrity": "sha512-Gv0N3mvej3pD+HWkNryrF8sExzEHqhQ6OSFxD4DPxm9n5HGCaHme98ZMBZroNEAJcsdtHxk+skvThGKyUeoEGA==", + "requires": { + "tslib": "^2.0.3" + } + }, + "follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + } + } + }, + "fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + } + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==" + }, + "framer-motion": { + "version": "10.18.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-10.18.0.tgz", + "integrity": "sha512-oGlDh1Q1XqYPksuTD/usb0I70hq95OUzmL9+6Zd+Hs4XV0oaISBa/UUMSjYiq6m8EUF32132mOJ8xVZS+I0S6w==", + "requires": { + "@emotion/is-prop-valid": "^0.8.2", + "tslib": "^2.4.0" + }, + "dependencies": { + "@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "optional": true, + "requires": { + "@emotion/memoize": "0.7.4" + } + }, + "@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "optional": true + } + } + }, + "framesync": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz", + "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==", + "requires": { + "tslib": "2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "framework-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/framework-utils/-/framework-utils-1.1.0.tgz", + "integrity": "sha512-KAfqli5PwpFJ8o3psRNs8svpMGyCSAe8nmGcjQ0zZBWN2H6dZDnq+ABp3N3hdUmFeMrLtjOCTXD4yplUJIWceg==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", + "dev": true + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + } + }, + "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==" + }, + "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==" + }, + "gesto": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/gesto/-/gesto-1.19.4.tgz", + "integrity": "sha512-hfr/0dWwh0Bnbb88s3QVJd1ZRJeOWcgHPPwmiH6NnafDYvhTsxg+SLYu+q/oPNh9JS3V+nlr6fNs8kvPAtcRDQ==", + "requires": { + "@daybrush/utils": "^1.13.0", + "@scena/event-emitter": "^1.0.2" + } + }, + "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==" + }, + "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.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==" + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + }, + "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==" + }, + "get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "requires": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + } + }, + "gh-pages": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-6.1.1.tgz", + "integrity": "sha512-upnohfjBwN5hBP9w2dPE7HO5JJTHzSGMV1JrLrHvNuqmjoYHg6TBrCcnEoorjG/e0ejbuvnwyKMdTyM40PEByw==", + "dev": true, + "requires": { + "async": "^3.2.4", + "commander": "^11.0.0", + "email-addresses": "^5.0.0", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^11.1.1", + "globby": "^6.1.0" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true + }, + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + } + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "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": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "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==", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "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==", + "requires": { + "type-fest": "^0.20.2" + } + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "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==" + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "requires": { + "duplexer": "^0.1.2" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "es-define-property": "^1.0.0" + } + }, + "has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "requires": { + "has-symbols": "^1.0.3" + } + }, + "hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "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==" + }, + "heap": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", + "peer": true + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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==" + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==" + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "requires": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "dependencies": { + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + } + } + }, + "html-webpack-plugin": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", + "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "requires": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "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==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "requires": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + } + }, + "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==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "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==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "requires": {} + }, + "idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "requires": { + "harmony-reflect": "^1.4.6" + } + }, + "ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==" + }, + "immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "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==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "requires": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==" + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.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==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "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==" + }, + "is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "requires": { + "hasown": "^2.0.0" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "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==" + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "requires": { + "is-docker": "^3.0.0" + } + }, + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "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==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" + }, + "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==" + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" + }, + "is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" + }, + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" + }, + "is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "requires": { + "call-bind": "^1.0.7" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "requires": { + "which-typed-array": "^1.1.14" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "requires": { + "is-inside-container": "^1.0.0" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==" + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "requires": { + "semver": "^7.5.3" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "requires": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + } + }, + "jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "dependencies": { + "@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "requires": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + } + }, + "@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "requires": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*" + } + } + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + } + }, + "@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "requires": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + } + }, + "@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "requires": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + } + }, + "@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*" + } + }, + "jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + } + }, + "jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "requires": {} + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + }, + "jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "requires": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==" + }, + "joi": { + "version": "17.12.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", + "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "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==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "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==" + }, + "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==" + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "requires": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + }, + "dependencies": { + "esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==" + } + } + }, + "jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" + }, + "jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + } + }, + "keycode": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.1.tgz", + "integrity": "sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==" + }, + "keycon": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/keycon/-/keycon-1.4.0.tgz", + "integrity": "sha512-p1NAIxiRMH3jYfTeXRs2uWbVJ1WpEjpi8ktzUyBJsX7/wn2qu2VRXktneBLNtKNxJmlUYxRi9gOJt1DuthXR7A==", + "requires": { + "@cfcs/core": "^0.0.6", + "@daybrush/utils": "^1.7.1", + "@scena/event-emitter": "^1.0.2", + "keycode": "^2.2.0" + } + }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "requires": { + "json-buffer": "3.0.1" + } + }, + "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==" + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==" + }, + "language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + }, + "language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "requires": { + "language-subtag-registry": "^0.3.20" + } + }, + "launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "requires": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dev": true, + "requires": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + } + }, + "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==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "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==" + }, + "lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^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": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "requires": { + "tslib": "^2.0.3" + } + }, + "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==", + "requires": { + "yallist": "^3.0.2" + } + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "requires": { + "tmpl": "1.0.5" + } + }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", + "dev": true + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "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==" + }, + "memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "requires": { + "fs-monkey": "^1.0.4" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "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==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "mini-css-extract-plugin": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.1.tgz", + "integrity": "sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==", + "requires": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.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==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "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==" + }, + "minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==" + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "mlly": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", + "dev": true, + "requires": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanoid": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.6.tgz", + "integrity": "sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==" + }, + "nanospinner": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/nanospinner/-/nanospinner-1.1.0.tgz", + "integrity": "sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==", + "requires": { + "picocolors": "^1.0.0" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "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==" + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "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==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" + }, + "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==" + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" + }, + "object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "requires": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + } + }, + "object.groupby": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.2.tgz", + "integrity": "sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==", + "requires": { + "array.prototype.filter": "^1.0.3", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.0.0" + } + }, + "object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "requires": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "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==", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/open/-/open-10.0.4.tgz", + "integrity": "sha512-oujJ/FFr7ra6/7gJuQ4ZJJ8Gf2VHM0J3J/W7IvH++zaqEzacWVxzK++NiVY5NLHTTj7u/jNH5H3Ei9biL31Lng==", + "requires": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + } + }, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "overlap-area": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/overlap-area/-/overlap-area-1.1.0.tgz", + "integrity": "sha512-3dlJgJCaVeXH0/eZjYVJvQiLVVrPO4U1ZGqlATtx6QGO3b5eNM6+JgUKa7oStBTdYuGTk7gVoABCW6Tp+dhRdw==", + "requires": { + "@daybrush/utils": "^1.7.1" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "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==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "requires": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + } + }, + "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==" + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "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==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "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==" + }, + "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==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "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==" + }, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "requires": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" + } + } + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", + "dev": true, + "requires": { + "through": "~2.3" + } + }, + "peggy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/peggy/-/peggy-4.0.2.tgz", + "integrity": "sha512-j4cepPgB20V7honmTAI+7U022y/n/wVi7Rbbd2QrMl2nifFECpngvA6Zhrz/JdmZ5LIBoTdkgHcDzzaA6C4ABg==", + "requires": { + "@peggyjs/from-mem": "1.2.1", + "commander": "^12.0.0", + "source-map-generator": "0.8.0" + }, + "dependencies": { + "commander": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.0.0.tgz", + "integrity": "sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==" + } + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "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.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==" + }, + "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==", + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "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==", + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dev": true, + "requires": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "requires": { + "find-up": "^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==", + "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==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.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==", + "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==" + } + } + }, + "possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==" + }, + "postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "dependencies": { + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + } + } + }, + "postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "requires": {} + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "requires": {} + }, + "postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "requires": {} + }, + "postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "requires": {} + }, + "postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "requires": {} + }, + "postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "requires": {} + }, + "postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "requires": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "dependencies": { + "lilconfig": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==" + }, + "yaml": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", + "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==" + } + } + }, + "postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + } + }, + "postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "requires": {} + }, + "postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "requires": {} + }, + "postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + } + }, + "postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "requires": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", + "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", + "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "requires": { + "postcss-selector-parser": "^6.0.11" + } + }, + "postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "requires": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "requires": {} + }, + "postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "requires": {} + }, + "postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "requires": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "requires": {} + }, + "postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + } + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + }, + "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-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" + }, + "pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + } + } + }, + "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==" + }, + "promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "requires": { + "asap": "~2.0.6" + } + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "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==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "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==" + } + } + }, + "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==" + }, + "ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "requires": { + "event-stream": "=3.3.4" + } + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "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==" + }, + "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==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "requires": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + } + } + }, + "react-clientside-effect": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz", + "integrity": "sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==", + "requires": { + "@babel/runtime": "^7.12.13" + } + }, + "react-css-styled": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/react-css-styled/-/react-css-styled-1.1.9.tgz", + "integrity": "sha512-M7fJZ3IWFaIHcZEkoFOnkjdiUFmwd8d+gTh2bpqMOcnxy/0Gsykw4dsL4QBiKsxcGow6tETUa4NAUcmJF+/nfw==", + "requires": { + "css-styled": "~1.0.8", + "framework-utils": "^1.1.0" + } + }, + "react-cytoscapejs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-cytoscapejs/-/react-cytoscapejs-2.0.0.tgz", + "integrity": "sha512-t3SSl1DQy7+JQjN+8QHi1anEJlM3i3aAeydHTsJwmjo/isyKK7Rs7oCvU6kZsB9NwZidzZQR21Vm2PcBLG/Tjg==", + "requires": { + "prop-types": "^15.8.1" + } + }, + "react-data-grid": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/react-data-grid/-/react-data-grid-7.0.0-beta.42.tgz", + "integrity": "sha512-N5ToEOxMlQGkRYhed3ahFz34fgJTccrCA9PZqIGVoO1vsZADNISXk6ywODJOdCz/1yB78MLu+T7q6cnJd2024A==", + "requires": { + "clsx": "^2.0.0" + } + }, + "react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "requires": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" + }, + "open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + } + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "react-focus-lock": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.11.2.tgz", + "integrity": "sha512-DDTbEiov0+RthESPVSTIdAWPPKic+op3sCcP+icbMRobvQNt7LuAlJ3KoarqQv5sCgKArru3kXmlmFTa27/CdQ==", + "requires": { + "@babel/runtime": "^7.0.0", + "focus-lock": "^1.3.2", + "prop-types": "^15.6.2", + "react-clientside-effect": "^1.2.6", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + } + }, + "react-icons": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz", + "integrity": "sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==", + "requires": {} + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "react-moveable": { + "version": "0.54.2", + "resolved": "https://registry.npmjs.org/react-moveable/-/react-moveable-0.54.2.tgz", + "integrity": "sha512-NGaVLbn0i9pb3+BWSKGWFqI/Mgm4+WMeWHxXXQ4Qi1tHxWCXrUrbGvpxEpt69G/hR7dez+/m68ex+fabjnvcUg==", + "requires": { + "@daybrush/utils": "^1.13.0", + "@egjs/agent": "^2.2.1", + "@egjs/children-differ": "^1.0.1", + "@egjs/list-differ": "^1.0.0", + "@scena/dragscroll": "^1.4.0", + "@scena/event-emitter": "^1.0.5", + "@scena/matrix": "^1.1.1", + "css-to-mat": "^1.1.1", + "framework-utils": "^1.1.0", + "gesto": "^1.19.0", + "overlap-area": "^1.1.0", + "react-css-styled": "^1.1.9", + "react-selecto": "^1.25.0" + } + }, + "react-nanny": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/react-nanny/-/react-nanny-2.15.0.tgz", + "integrity": "sha512-fn6tAnJ+UEdD0pq5YytlZJb5XmjVcvXoxq3i2r1o/BavgipwRWsw7oOXNJ8bJd33iedlkNyAQMXVC6qTl0Hv4A==", + "requires": {} + }, + "react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" + }, + "react-remove-scroll": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.7.tgz", + "integrity": "sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==", + "requires": { + "react-remove-scroll-bar": "^2.3.4", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + } + }, + "react-remove-scroll-bar": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.5.tgz", + "integrity": "sha512-3cqjOqg6s0XbOjWvmasmqHch+RLxIEk2r/70rzGXuz3iIGQsQheEQyqYCBb5EECoD01Vo2SIbDqW4paLeLTASw==", + "requires": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + } + }, + "react-router": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", + "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", + "requires": { + "@remix-run/router": "1.15.3" + } + }, + "react-router-dom": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", + "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", + "requires": { + "@remix-run/router": "1.15.3", + "react-router": "6.22.3" + } + }, + "react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "requires": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "fsevents": "^2.3.2", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "dependencies": { + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "requires": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + } + }, + "@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "requires": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + } + }, + "@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + } + }, + "@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "requires": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + } + }, + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + }, + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "requires": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "requires": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "requires": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + } + }, + "jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "requires": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + } + }, + "jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + } + }, + "jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "requires": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + } + }, + "jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "requires": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "requires": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*" + } + }, + "jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "requires": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + } + }, + "jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + } + }, + "jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + } + }, + "jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + } + }, + "jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "requires": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "requires": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "requires": { + "@jest/schemas": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==" + }, + "jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==" + }, + "jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "requires": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "dependencies": { + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "requires": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" + }, + "string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "requires": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "char-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==" + } + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + } + } + } + } + }, + "jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "requires": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + }, + "v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + } + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "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" + } + }, + "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==" + } + } + }, + "react-selecto": { + "version": "1.26.3", + "resolved": "https://registry.npmjs.org/react-selecto/-/react-selecto-1.26.3.tgz", + "integrity": "sha512-Ubik7kWSnZyQEBNro+1k38hZaI1tJarE+5aD/qsqCOA1uUBSjgKVBy3EWRzGIbdmVex7DcxznFZLec/6KZNvwQ==", + "requires": { + "selecto": "~1.26.3" + } + }, + "react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "requires": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + } + }, + "react-use-error-boundary": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-use-error-boundary/-/react-use-error-boundary-3.0.0.tgz", + "integrity": "sha512-5urkfyU3ZzInEMSHe1gxtDzlQAHs0krTt0V6h8H2L5nXhDKq3OYXnCs9lGHDkEkYvLmsphw8ap5g8uYfvrkJng==", + "requires": {} + }, + "reactflow": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/reactflow/-/reactflow-11.11.0.tgz", + "integrity": "sha512-DGA5x/zB+lyHZxu9j6k5kmz9ECk4k/ZtLU1cdd7a3sZgl3Jy7i7NKtOL0cdkSVVu8Bi96286idyMszveSozufA==", + "requires": { + "@reactflow/background": "11.3.10", + "@reactflow/controls": "11.2.10", + "@reactflow/core": "11.11.0", + "@reactflow/minimap": "11.7.10", + "@reactflow/node-resizer": "2.2.10", + "@reactflow/node-toolbar": "1.3.10" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "requires": { + "pify": "^2.3.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==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "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==", + "requires": { + "minimatch": "^3.0.5" + } + }, + "reflect.getprototypeof": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz", + "integrity": "sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==", + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.0.0", + "get-intrinsic": "^1.2.3", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "requires": { + "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==" + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", + "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==" + }, + "regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "requires": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + } + }, + "regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "requires": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" + }, + "renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "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==" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "requireindex": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", + "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } + } + }, + "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==" + }, + "resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "requires": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==" + }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "dependencies": { + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + } + } + }, + "run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==" + }, + "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==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-array-concat": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", + "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", + "requires": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + } + }, + "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==" + }, + "safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + }, + "sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "seedrandom": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==" + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "selecto": { + "version": "1.26.3", + "resolved": "https://registry.npmjs.org/selecto/-/selecto-1.26.3.tgz", + "integrity": "sha512-gZHgqMy5uyB6/2YDjv3Qqaf7bd2hTDOpPdxXlrez4R3/L0GiEWDCFaUfrflomgqdb3SxHF2IXY0Jw0EamZi7cw==", + "requires": { + "@daybrush/utils": "^1.13.0", + "@egjs/children-differ": "^1.0.1", + "@scena/dragscroll": "^1.4.0", + "@scena/event-emitter": "^1.0.5", + "css-styled": "^1.0.8", + "css-to-mat": "^1.1.1", + "framework-utils": "^1.1.0", + "gesto": "^1.19.4", + "keycon": "^1.2.0", + "overlap-area": "^1.1.0" + } + }, + "selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "requires": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "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==", + "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==" + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-function-length": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "requires": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + } + }, + "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==", + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "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==", + "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==" + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" + }, + "side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + } + }, + "siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, + "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==" + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "size-limit": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/size-limit/-/size-limit-11.0.2.tgz", + "integrity": "sha512-iFZ8iTR/3zPqxSwEIdGnTVYVU0F2nhodLQG/G6zpi/NxECYAK9ntq2lNr+prXH7h3gyBjx2Umt2D/oS2Qzz+eg==", + "requires": { + "bytes-iec": "^3.1.1", + "chokidar": "^3.5.3", + "globby": "^14.0.0", + "lilconfig": "^3.0.0", + "nanospinner": "^1.1.0", + "picocolors": "^1.0.0" + }, + "dependencies": { + "globby": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz", + "integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==", + "requires": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + } + }, + "lilconfig": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==" + }, + "path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==" + }, + "slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==" + } + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, + "source-map-generator": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/source-map-generator/-/source-map-generator-0.8.0.tgz", + "integrity": "sha512-psgxdGMwl5MZM9S3FWee4EgsEaIjahYV5AzGnwUvPhWeITz/j6rKpysQHlQ4USdxvINlb8lKfWGIXwfkrgtqkA==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "requires": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + } + }, + "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==", + "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==" + } + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "spawn-command": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", + "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==", + "dev": true, + "requires": { + "through": "2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, + "stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, + "stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "start-server-and-test": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.0.3.tgz", + "integrity": "sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==", + "dev": true, + "requires": { + "arg": "^5.0.2", + "bluebird": "3.7.2", + "check-more-types": "2.24.0", + "debug": "4.3.4", + "execa": "5.1.1", + "lazy-ass": "1.6.0", + "ps-tree": "1.2.0", + "wait-on": "7.2.0" + } + }, + "static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "requires": { + "escodegen": "^1.8.1" + }, + "dependencies": { + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "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==", + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": 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==", + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==", + "dev": true, + "requires": { + "duplexer": "~0.1.1" + } + }, + "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==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, + "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==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "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==" + } + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "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==" + } + } + }, + "string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "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==" + }, + "strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "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==" + }, + "strip-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz", + "integrity": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==", + "dev": true, + "requires": { + "js-tokens": "^8.0.2" + }, + "dependencies": { + "js-tokens": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz", + "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==", + "dev": true + } + } + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + }, + "dependencies": { + "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 + } + } + }, + "style-loader": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", + "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "requires": {} + }, + "style-mod": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", + "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==" + }, + "stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "requires": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + } + }, + "stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, + "sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + }, + "glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "requires": { + "brace-expansion": "^2.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==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.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==" + }, + "svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "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==", + "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==" + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + } + } + }, + "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==" + }, + "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==" + }, + "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==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "tailwindcss": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "requires": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + }, + "temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" + }, + "tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "requires": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "dependencies": { + "type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" + } + } + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "5.29.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.1.tgz", + "integrity": "sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==", + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "requires": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "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==" + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + }, + "tinybench": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz", + "integrity": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==", + "dev": true + }, + "tinypool": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", + "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", + "dev": true + }, + "tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "dev": true + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + }, + "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==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" + } + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "requires": { + "punycode": "^2.1.1" + } + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + }, + "dependencies": { + "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 + } + } + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true + }, + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "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==", + "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==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "tsconfig-paths-webpack-plugin": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz", + "integrity": "sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.7.0", + "tsconfig-paths": "^4.1.2" + }, + "dependencies": { + "tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "requires": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + } + } + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + }, + "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==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "requires": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "requires": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-length": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz", + "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==", + "requires": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + } + }, + "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==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", + "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==" + }, + "ufo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz", + "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + }, + "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==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" + }, + "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==" + }, + "unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==" + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use-callback-ref": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.1.tgz", + "integrity": "sha512-Lg4Vx1XZQauB42Hw3kK7JM6yjVjgFmFC5/Ab797s79aARomD2nEErc4mCgM8EZrARLmmbWpi5DGCadmK50DcAQ==", + "requires": { + "tslib": "^2.0.0" + } + }, + "use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "requires": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + } + }, + "use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "requires": {} + }, + "util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "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==" + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "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==" + }, + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "vite": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.5.tgz", + "integrity": "sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==", + "dev": true, + "requires": { + "esbuild": "^0.19.3", + "fsevents": "~2.3.3", + "postcss": "^8.4.35", + "rollup": "^4.2.0" + }, + "dependencies": { + "rollup": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.1.tgz", + "integrity": "sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.12.1", + "@rollup/rollup-android-arm64": "4.12.1", + "@rollup/rollup-darwin-arm64": "4.12.1", + "@rollup/rollup-darwin-x64": "4.12.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.12.1", + "@rollup/rollup-linux-arm64-gnu": "4.12.1", + "@rollup/rollup-linux-arm64-musl": "4.12.1", + "@rollup/rollup-linux-riscv64-gnu": "4.12.1", + "@rollup/rollup-linux-x64-gnu": "4.12.1", + "@rollup/rollup-linux-x64-musl": "4.12.1", + "@rollup/rollup-win32-arm64-msvc": "4.12.1", + "@rollup/rollup-win32-ia32-msvc": "4.12.1", + "@rollup/rollup-win32-x64-msvc": "4.12.1", + "@types/estree": "1.0.5", + "fsevents": "~2.3.2" + } + } + } + }, + "vite-node": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.3.1.tgz", + "integrity": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==", + "dev": true, + "requires": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + } + }, + "vitest": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.3.1.tgz", + "integrity": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==", + "dev": true, + "requires": { + "@vitest/expect": "1.3.1", + "@vitest/runner": "1.3.1", + "@vitest/snapshot": "1.3.1", + "@vitest/spy": "1.3.1", + "@vitest/utils": "1.3.1", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.2", + "vite": "^5.0.0", + "vite-node": "1.3.1", + "why-is-node-running": "^2.2.2" + }, + "dependencies": { + "acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "dev": true + }, + "execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + } + }, + "get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true + }, + "human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true + }, + "magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true + }, + "npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "requires": { + "path-key": "^4.0.0" + } + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true + } + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "wait-on": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", + "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", + "dev": true, + "requires": { + "axios": "^1.6.1", + "joi": "^17.11.0", + "lodash": "^4.17.21", + "minimist": "^1.2.8", + "rxjs": "^7.8.1" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "requires": { + "makeerror": "1.0.12" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webcola": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/webcola/-/webcola-3.4.0.tgz", + "integrity": "sha512-4BiLXjXw3SJHo3Xd+rF+7fyClT6n7I+AR6TkBqyQ4kTsePSAMDLRCXY1f3B/kXJeP9tYn4G1TblxTO+jAt0gaw==", + "requires": { + "d3-dispatch": "^1.0.3", + "d3-drag": "^1.0.4", + "d3-shape": "^1.3.5", + "d3-timer": "^1.0.5" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "webpack": { + "version": "5.90.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", + "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "requires": {} + } + } + }, + "webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "requires": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.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==" + }, + "webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + } + } + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "requires": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + } + }, + "which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, + "which-typed-array": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", + "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", + "requires": { + "available-typed-arrays": "^1.0.6", + "call-bind": "^1.0.5", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.1" + } + }, + "why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dev": true, + "requires": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + } + }, + "word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==" + }, + "workbox-background-sync": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "workbox-broadcast-update": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-build": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", + "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "requires": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "dependencies": { + "@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "requires": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + } + }, + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "requires": { + "whatwg-url": "^7.0.0" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "workbox-cacheable-response": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" + }, + "workbox-expiration": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "workbox-google-analytics": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "requires": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "workbox-navigation-preload": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-precaching": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "requires": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "workbox-range-requests": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-recipes": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "requires": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "workbox-routing": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", + "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-strategies": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-streams": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", + "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "requires": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "workbox-sw": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" + }, + "workbox-webpack-plugin": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "requires": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.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==" + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } + } + }, + "workbox-window": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", + "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "requires": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, + "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==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "requires": {} + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "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==" + }, + "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==" + }, + "zustand": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.2.tgz", + "integrity": "sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==", + "requires": { + "use-sync-external-store": "1.2.0" + } + } + } +} diff --git a/go-virtual-machine-main/package.json b/go-virtual-machine-main/package.json new file mode 100644 index 0000000..27f3201 --- /dev/null +++ b/go-virtual-machine-main/package.json @@ -0,0 +1,103 @@ +{ + "name": "go-virtual-machine", + "description": "", + "homepage": "https://huajun07.github.io/go-virtual-machine", + "scripts": { + "predeploy": "npm run build", + "deploy": "gh-pages -d build", + "local": "npm run generate-parser && react-scripts start", + "dev": "NODE_ENV=dev && concurrently \"npm run generate-parser-watch\" \"react-scripts start\"", + "build": "npm run generate-parser && react-scripts build", + "test": "npm run generate-parser && vitest", + "eject": "react-scripts eject", + "lint-no-fix": "eslint ./ --ignore-path .gitignore && prettier . -c", + "lint": "eslint ./ --ignore-path .gitignore --fix && prettier . -c --write", + "generate-parser": "npx peggy --format es -o src/virtual-machine/parser/golang_parser.js src/virtual-machine/parser/parser.peggy", + "generate-parser-watch": "npx peggy -m -w --format es -o src/virtual-machine/parser/golang_parser.js src/virtual-machine/parser/parser.peggy" + }, + "author": "", + "license": "ISC", + "dependencies": { + "@chakra-ui/icons": "^2.0.19", + "@chakra-ui/react": "^2.6.1", + "@chakra-ui/theme": "^3.1.1", + "@chakra-ui/theme-tools": "^2.0.17", + "@choc-ui/chakra-autocomplete": "^5.1.7", + "@codemirror/lang-go": "^6.0.0", + "@emotion/react": "^11.11.0", + "@emotion/styled": "^11.11.0", + "@uiw/codemirror-extensions-zebra-stripes": "^4.20.2", + "@uiw/codemirror-theme-github": "^4.20.2", + "@uiw/react-codemirror": "^4.21.25", + "axios": "^1.4.0", + "cytoscape-cola": "^2.5.1", + "d3-selection": "^3.0.0", + "d3-zoom": "^3.0.0", + "framer-motion": "^10.12.14", + "js-cookie": "^3.0.5", + "peggy": "^4.0.2", + "react": "^18.2.0", + "react-cytoscapejs": "^2.0.0", + "react-data-grid": "^7.0.0-beta.34", + "react-dom": "^18.2.0", + "react-icons": "^4.10.1", + "react-moveable": "^0.54.1", + "react-router-dom": "^6.11.2", + "react-scripts": "^5.0.1", + "react-selecto": "^1.26.0", + "react-use-error-boundary": "^3.0.0", + "reactflow": "^11.11.0", + "seedrandom": "^3.0.5", + "util": "^0.12.5", + "uuid": "^9.0.0", + "zustand": "^4.5.2" + }, + "devDependencies": { + "@types/js-cookie": "^3.0.6", + "@types/react-cytoscapejs": "^1.2.2", + "@types/react-dom": "^18.2.4", + "@types/seedrandom": "^3.0.8", + "@types/uuid": "^9.0.2", + "babel-plugin-named-exports-order": "^0.0.2", + "chromatic": "^6.19.9", + "concurrently": "^8.2.2", + "eslint": "^8.41.0", + "eslint-config-prettier": "^8.8.0", + "eslint-import-resolver-alias": "^1.1.2", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-simple-import-sort": "^10.0.0", + "eslint-plugin-storybook": "^0.6.12", + "gh-pages": "^6.1.1", + "prettier": "^2.8.8", + "prop-types": "^15.8.1", + "start-server-and-test": "^2.0.0", + "tsconfig-paths-webpack-plugin": "^4.1.0", + "typescript": "^5.0.4", + "vitest": "^1.3.1", + "webpack": "^5.88.2" + }, + "overrides": { + "react-scripts": { + "typescript": "^5" + } + }, + "eslintConfig": { + "extends": [ + "react-app" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "version": "", + "readme": "ERROR: No README data found!" +} diff --git a/go-virtual-machine-main/public/cs.png b/go-virtual-machine-main/public/cs.png new file mode 100644 index 0000000000000000000000000000000000000000..dbabf5c3d70fac8ccbf4ff41d8312da220cb61bc GIT binary patch literal 2210 zcmai$YdjN-0>(uYH6kkwBQckbTN{()wz-=-MK8IR* zay#y8_=vg_DSqBTF5BDNJJ{FPXKrqupPvr~gE<^dU0vPFmoN48^%oWv3JVKaEEX1v z9T*ruqtU;9{Su4COG`^|IJ~;L+Sk{2czAgK{{7?Q<1H;M_V)H{Hv8<^v+3#S=gyro zF)?v>cLxH2<>lpBSy|4`&M`4DH();-Yf!b_D{sp=lTq8yYg#h=vN4ZIgqWph~xK^5i?3q$KjH_Kk^=b}wt3 z+vvrl#9O&$0}CwP1S9nKq*f-nOSslL5Y|$y&H9hk2Lyg>w6!gBxbwy+9<_QKV0{#A zJ$A3QQ<`;{R0E*D3ZH-Sv=G41rqtZ6mlz+1Y9cp2T}x~AjGIat&DLU);%a{z$2+wO z_{b76?+bHcmZQ|DO2t))41St0mfjdCGY4%BEVY37SSO%OzF^x5 z5P>f!1t>6;7|C&|lUGCrsy4jm-bU$BiJwj-^h4ADo#VnH6og6)Ssh0iQ9;=mIB!Yz zJ;u?l_Fc5IuwH9^Jh?E0hOz(=5w>$I4_8E@4mFV>m}?u@!BkUgF}e~}ulp5kq?OR* zUz!H%trJ`-7C?5(^{=7K`fQvBXI1D(7u^B+G7l;>!7!z(cCZhcOR_mCj)d2~_ zI1=I*Mk0v#ftH;XsHMYp{XiGkQDxFQkYLnxyD+^Hh$Gmv%NJuQ z^-?^~>a1uKv-RZ2B@Jdu!W;^A-vpfunvPe$E0JdW*n|0ge%aTIF9*X#NKmlwRt zoU7r?WQ#L|OUaUbgR9$duqp#NiUB;4z`?MVR}@Lv_wr6&iju~JTQcaHo7hRx>}vcQ z4bvo+M@CQEvgH+BR~YQzU=eb2$?97R*ZBKZbeEenS=X#Y1popx0q&YSg&2blH($?} zAP~tR6=65uUG6>~GjvNONrCi*L;B3t2au+~Kl!bE_hT`QyB7JvQXGM(N`Ae_{Vr|E6q=_;&J0q{&%h_$Qf;h)DY;5gHr zcky^<`wnFoH*>uNj=x5K)mH6B>3hHAu2KIQ8&I~`x^3msK_|_i@yu`9QAk9xYJ^)| zm=#)QYcpf=BZT<~zGVK=!nxB;=OMmU;~2;@vgkR$W@*!FzG&twUv}$!LSCRH<7i+I z@XPIuRb=a@=RK-&%7&tYYCdcg=?^gxz_ZRgf5zsooN)QyB2Tje>=J^VO=Oll$|}PC z>a^dkh&^cLqC?y&cq;eI&r_F%zAK9`R(Vq5-{V$3aUEb$IRLSK8&U57>z3 z`_C`pm5APd)RrZOd-HluaKD{)C!?mXSUg54=PXP~yD{leYTPp&Jw4Qh<+yJFbmG&*>)bQYs!Q#xzT2A#9A5#KXnukUu zN1sa!8WP7Irj*y11&)OhCggZirRE&}=5gV)G`)JTyWgHRvYwQZR=I#l){)9gK)6gR zfAtQ+-9~!tNU=Qj822(=$|l`g7AKO8w=0%+T(<8qzhzfhODGh5-#P;+JvLm|v zGF|^?#0XfwR?CT*F+TUAYhAtXKg|R-WGa*?&A?E*Y0=G3g zn42Kbe27ZR2+b3i@?(x^o(5tmd{Sg$Ugr! z#kfX=Kq0e)big#XDr(E6-bC3mujdG1x^T_bz9Tg}7$qpyI1RLJr2RJXrI1xut2h|m en-oXK%{@I95B()rSjo=QknwQwLAE+aX8!}uPBX;- literal 0 HcmV?d00001 diff --git a/go-virtual-machine-main/public/gopher.png b/go-virtual-machine-main/public/gopher.png new file mode 100644 index 0000000000000000000000000000000000000000..9b9e43ea7e927e794a1d0c4700946c002558cac6 GIT binary patch literal 137116 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

    ?5hy~jA-ocO_Z&+=$Q0$Q)a;` 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 ZoSvKmmOt)n*alo2U2OxcN)7vn{{xaN0!#n^ literal 0 HcmV?d00001 diff --git a/go-virtual-machine-main/public/index.html b/go-virtual-machine-main/public/index.html new file mode 100644 index 0000000..4aafce4 --- /dev/null +++ b/go-virtual-machine-main/public/index.html @@ -0,0 +1,43 @@ + + + + + + + + + + + Go-VM + + + +

    + + + diff --git a/go-virtual-machine-main/public/manifest.json b/go-virtual-machine-main/public/manifest.json new file mode 100644 index 0000000..6414a4e --- /dev/null +++ b/go-virtual-machine-main/public/manifest.json @@ -0,0 +1,16 @@ +{ + "short_name": "Go VM", + "name": "Go Virtual Machine", + "icons": [ + { + "src": "/cs.png", + "sizes": "32x32", + "type": "image/png", + "density": "1.0" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/go-virtual-machine-main/public/robots.txt b/go-virtual-machine-main/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/go-virtual-machine-main/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/go-virtual-machine-main/src/frontend/app/App.tsx b/go-virtual-machine-main/src/frontend/app/App.tsx new file mode 100644 index 0000000..2eda9bb --- /dev/null +++ b/go-virtual-machine-main/src/frontend/app/App.tsx @@ -0,0 +1,15 @@ +import { ChakraProvider } from '@chakra-ui/react' + +import { NavBar } from '../components' +import { theme } from '../theme' + +import { Router } from './Router' + +export const App = () => { + return ( + + + + + ) +} diff --git a/go-virtual-machine-main/src/frontend/app/Router.tsx b/go-virtual-machine-main/src/frontend/app/Router.tsx new file mode 100644 index 0000000..ea15044 --- /dev/null +++ b/go-virtual-machine-main/src/frontend/app/Router.tsx @@ -0,0 +1,29 @@ +import { Route, Routes } from 'react-router-dom' + +import { Main } from '../pages/Main' + +interface RouteType { + path: string + component: JSX.Element +} + +export const routes: RouteType[] = [ + { + path: '/', + component:
    , + }, + { + path: '/go-virtual-machine', + component:
    , + }, +] + +export const Router = () => { + return ( + + {routes.map((r) => ( + + ))} + + ) +} diff --git a/go-virtual-machine-main/src/frontend/app/index.ts b/go-virtual-machine-main/src/frontend/app/index.ts new file mode 100644 index 0000000..5bfcd16 --- /dev/null +++ b/go-virtual-machine-main/src/frontend/app/index.ts @@ -0,0 +1 @@ +export { App } from './App' diff --git a/go-virtual-machine-main/src/frontend/components/CodeIDE/CodeIDE.tsx b/go-virtual-machine-main/src/frontend/components/CodeIDE/CodeIDE.tsx new file mode 100644 index 0000000..bcbc41d --- /dev/null +++ b/go-virtual-machine-main/src/frontend/components/CodeIDE/CodeIDE.tsx @@ -0,0 +1,123 @@ +import { useEffect, useRef } from 'react' +import { useColorModeValue } from '@chakra-ui/react' +import { go } from '@codemirror/lang-go' +import { Prec, StateEffect, StateField } from '@codemirror/state' +import { Decoration, keymap } from '@codemirror/view' +import { zebraStripes } from '@uiw/codemirror-extensions-zebra-stripes' +import { githubDark, githubLight } from '@uiw/codemirror-theme-github' +import CodeMirror, { EditorView } from '@uiw/react-codemirror' + +import { useExecutionStore } from '../../stores' + +interface codeIDEProps { + code: string + setCode: (code: string) => void + lineHighlight?: (number | number[])[] + run: () => void + editable: boolean +} + +export const CodeIDE = (props: codeIDEProps) => { + const { location } = useExecutionStore((state) => ({ + location: state.location, + })) + const placeholder = 'Enter your go code here!' + const { code, setCode, lineHighlight } = props + const editorView = useRef(null) + // const [loaded, setLoaded] = useState(false) + + // code mirror effect that you will use to define the effect you want (the decoration) + const highlight_effect = StateEffect.define<{ from: number; to: number }>({ + map: ({ from, to }, change) => ({ + from: change.mapPos(from), + to: change.mapPos(to), + }), + }) + + const highlightField = StateField.define({ + create() { + return Decoration.none + }, + update(highlights, tr) { + highlights = highlights.map(tr.changes) + for (const e of tr.effects) + if (e.is(highlight_effect)) { + highlights = highlights.update({ + add: [highlightMark.range(e.value.from, e.value.to)], + }) + } + return highlights + }, + provide: (f) => EditorView.decorations.from(f), + }) + + const highlightMark = Decoration.mark({ class: 'cm-highlighted' }) + const highlightTheme = EditorView.baseTheme({ + '.cm-highlighted': { + background: useColorModeValue('#F9ffab', '#7c05a2'), + fontWeight: 'bold', + }, + }) + + useEffect(() => { + if (editorView.current && location) { + const effects: StateEffect[] = [ + highlight_effect.of({ + from: location.start.offset, + to: location.end.offset, + }), + ] + effects.push( + StateEffect.appendConfig.of([highlightField, highlightTheme]), + ) + editorView.current.dispatch({ effects }) + } + }, [ + location, + highlightField, + highlightTheme, + highlightMark, + highlight_effect, + ]) + + return ( + { + editorView.current = view + }} + extensions={[ + zebraStripes({ + lineNumber: lineHighlight, + lightColor: '#aca2ff33', + darkColor: '#aca2ff40', + }), + go(), + Prec.high( + keymap.of([ + { + key: 'Shift-Enter', + run: () => { + props.run() + return true + }, + }, + ]), + ), + ]} + onChange={setCode} + theme={useColorModeValue(githubLight, githubDark)} + /> + ) +} diff --git a/go-virtual-machine-main/src/frontend/components/CodeIDE/CodeIDEButtons.tsx b/go-virtual-machine-main/src/frontend/components/CodeIDE/CodeIDEButtons.tsx new file mode 100644 index 0000000..2041868 --- /dev/null +++ b/go-virtual-machine-main/src/frontend/components/CodeIDE/CodeIDEButtons.tsx @@ -0,0 +1,66 @@ +import { AiFillCaretRight } from 'react-icons/ai' +import { MdEdit } from 'react-icons/md' +import { + Box, + Button, + Flex, + Icon, + NumberDecrementStepper, + NumberIncrementStepper, + NumberInput, + NumberInputField, + NumberInputStepper, + Spacer, + Tooltip, + useColorModeValue, +} from '@chakra-ui/react' + +interface CodeIDEButtonProps { + isDisabled: boolean + editing: boolean + toggleMode: () => void + heapsize: number + setHeapsize: (x: number) => void +} + +export const CodeIDEButtons = (props: CodeIDEButtonProps) => { + return ( + <> + + Heap Size: + props.setHeapsize(parseInt(value))} + > + + + + + + + + + + + + + ) +} diff --git a/go-virtual-machine-main/src/frontend/components/CodeIDE/index.tsx b/go-virtual-machine-main/src/frontend/components/CodeIDE/index.tsx new file mode 100644 index 0000000..481f046 --- /dev/null +++ b/go-virtual-machine-main/src/frontend/components/CodeIDE/index.tsx @@ -0,0 +1,2 @@ +export * from './CodeIDE' +export * from './CodeIDEButtons' diff --git a/go-virtual-machine-main/src/frontend/components/ControlBar.tsx b/go-virtual-machine-main/src/frontend/components/ControlBar.tsx new file mode 100644 index 0000000..f509117 --- /dev/null +++ b/go-virtual-machine-main/src/frontend/components/ControlBar.tsx @@ -0,0 +1,175 @@ +import { useState } from 'react' +import { FaForward, FaPause, FaPlay } from 'react-icons/fa' +import { ArrowBackIcon, ArrowForwardIcon } from '@chakra-ui/icons' +import { + Box, + Flex, + IconButton, + Slider, + SliderFilledTrack, + SliderThumb, + SliderTrack, + Spacer, + Stack, + Switch, + Tooltip, + useColorModeValue, +} from '@chakra-ui/react' +import { shallow } from 'zustand/shallow' + +import { useExecutionStore } from '../stores' + +interface ControlBarProps { + playing: boolean + length: number + curSpeed: number + disabled: boolean + wasPlaying: boolean + setSpeed: (speed: number) => void + togglePlaying: () => void + setWasPlaying: (newVal: boolean) => void + moveStep: (forward: boolean) => void + toggleVisual: () => void + visual: boolean +} + +export const ControlBar = (props: ControlBarProps) => { + const { currentStep, setStep } = useExecutionStore( + (state) => ({ + currentStep: state.currentStep, + setStep: state.setStep, + }), + shallow, + ) + const buttonColor = useColorModeValue('#3182ce', '#90cdf4') + const [showTooltip, setShowTooltip] = useState(false) + const [showTooltipMain, setShowTooltipMain] = useState(false) + return ( + <> + + + setShowTooltipMain(true)} + onMouseLeave={() => setShowTooltipMain(false)} + onChangeStart={ + props.playing + ? () => { + props.setWasPlaying(true) + props.togglePlaying() + } + : void 0 + } + onChangeEnd={ + props.wasPlaying + ? () => { + props.setWasPlaying(false) + props.togglePlaying() + } + : void 0 + } + > + + + + + + + + + + + + + + props.setSpeed(Number(v))} + onMouseEnter={() => setShowTooltip(true)} + onMouseLeave={() => setShowTooltip(false)} + isDisabled={props.disabled} + w="120px" + > + + + + + + + + + + + } + onClick={() => props.moveStep(false)} + /> + + ) : ( + + ) + } + onClick={props.togglePlaying} + /> + } + onClick={() => props.moveStep(true)} + /> + + + + Enable Visuals? + + + + + + ) +} diff --git a/go-virtual-machine-main/src/frontend/components/IO/TextIDE.tsx b/go-virtual-machine-main/src/frontend/components/IO/TextIDE.tsx new file mode 100644 index 0000000..d57151a --- /dev/null +++ b/go-virtual-machine-main/src/frontend/components/IO/TextIDE.tsx @@ -0,0 +1,37 @@ +import { useColorModeValue } from '@chakra-ui/react' +import { githubDark, githubLight } from '@uiw/codemirror-theme-github' +import CodeMirror from '@uiw/react-codemirror' + +export interface textIDEProps { + placeholder?: string + setText?: (text: string) => void + text: string + editable: boolean +} + +export const TextIDE = (props: textIDEProps) => { + return ( + + ) +} diff --git a/go-virtual-machine-main/src/frontend/components/IO/index.tsx b/go-virtual-machine-main/src/frontend/components/IO/index.tsx new file mode 100644 index 0000000..5423c31 --- /dev/null +++ b/go-virtual-machine-main/src/frontend/components/IO/index.tsx @@ -0,0 +1,22 @@ +import { Box } from '@chakra-ui/react' + +import { useExecutionStore } from '../../stores' + +import { TextIDE } from './TextIDE' + +export const IO = () => { + const { output } = useExecutionStore((state) => ({ + output: state.output, + })) + return ( + <> + + + + + ) +} diff --git a/go-virtual-machine-main/src/frontend/components/NavBar.tsx b/go-virtual-machine-main/src/frontend/components/NavBar.tsx new file mode 100644 index 0000000..015f4bb --- /dev/null +++ b/go-virtual-machine-main/src/frontend/components/NavBar.tsx @@ -0,0 +1,50 @@ +import { MoonIcon, SunIcon } from '@chakra-ui/icons' +import { + Box, + Button, + Flex, + Heading, + Image, + Stack, + useColorMode, + useColorModeValue, +} from '@chakra-ui/react' + +export const NavBar = () => { + const { colorMode, toggleColorMode } = useColorMode() + return ( + <> + + + + Go Virtual Machine + + + + + + + + + + + + ) +} diff --git a/go-virtual-machine-main/src/frontend/components/Visual/EnvNode.tsx b/go-virtual-machine-main/src/frontend/components/Visual/EnvNode.tsx new file mode 100644 index 0000000..eefc9e4 --- /dev/null +++ b/go-virtual-machine-main/src/frontend/components/Visual/EnvNode.tsx @@ -0,0 +1,76 @@ +import { Edge, Handle, MarkerType, Node, NodeProps, Position } from 'reactflow' +import { Box } from '@chakra-ui/react' + +import { EnvironmentInfo } from '../../../virtual-machine/executor/debugger' + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type Nodes = Node[] + +export const EnvNode = (props: NodeProps) => { + const { cur, vars, name } = props.data + return ( + <> + + + + {name} + + + {vars.map((x, idx) => ( + + {x.name} = {x.val} + + ))} + + + + + ) +} + +export const addEnvs = ( + env: EnvironmentInfo, + topOffset: number, + leftOffset: number, + nodes: Nodes, + edges: Edge[], +) => { + nodes.push({ + id: 'env ' + env.addr.toString(), + data: { + ...env, + }, + position: { x: leftOffset, y: topOffset }, + type: 'EnvNode', + style: { + width: 200, + height: 40 + env.vars.length * 26, + }, + }) + topOffset += 40 + env.vars.length * 30 + 20 + let sibling = false + for (const child of env.children) { + edges.push({ + id: env.addr.toString() + '->' + child.addr.toString(), + source: 'env ' + env.addr.toString(), + target: 'env ' + child.addr.toString(), + markerEnd: { + type: MarkerType.ArrowClosed, + width: 30, + height: 20, + }, + }) + if (sibling) leftOffset = nodes[nodes.length - 1].position.x + 220 + addEnvs(child, topOffset, leftOffset, nodes, edges) + sibling = true + } +} diff --git a/go-virtual-machine-main/src/frontend/components/Visual/VisualArea.tsx b/go-virtual-machine-main/src/frontend/components/Visual/VisualArea.tsx new file mode 100644 index 0000000..a98374a --- /dev/null +++ b/go-virtual-machine-main/src/frontend/components/Visual/VisualArea.tsx @@ -0,0 +1,167 @@ +import 'reactflow/dist/style.css' +import './nodes.css' + +import { useEffect, useMemo, useState } from 'react' +import ReactFlow, { Background, Controls, Edge } from 'reactflow' +import { LockIcon } from '@chakra-ui/icons' +import { + Box, + Flex, + Tab, + TabList, + TabPanel, + TabPanels, + Tabs, + useColorModeValue, +} from '@chakra-ui/react' + +import { ContextInfo } from '../../../virtual-machine/executor/debugger' +import { useExecutionStore } from '../../stores' + +import { addEnvs, EnvNode, Nodes } from './EnvNode' + +// import { useExecutionStore } from '../../stores' + +export const VisualArea = () => { + const { cur_data } = useExecutionStore((state) => ({ + cur_data: state.cur_data, + })) + const nodeTypes = useMemo( + () => ({ + EnvNode: EnvNode, + }), + [], + ) + const genVisual = (info: ContextInfo) => { + const instrNodes = () => { + return info.instrs.map((instr, idx) => { + const bgColor = instr.cur ? '#Caf7cb' : 'white' + return { + id: 'instr ' + instr.idx.toString(), + data: { label: instr.idx.toString() + ': ' + instr.val }, + position: { x: 12.5, y: 30 * (idx + 1) }, + parentId: 'instr', + style: { + width: 200, + height: 30, + padding: '5px', + backgroundColor: bgColor, + }, + } + }) + } + + const osNodes = () => { + const valNodes = info.OS.map((os, idx) => { + return { + id: 'os ' + os.addr.toString(), + data: { label: os.val }, + position: { x: 12.5, y: 30 * (idx + 1) }, + parentId: 'OS', + style: { + width: 200, + height: 30, + padding: '5px', + borderColor: os.modified ? 'red' : 'black', + color: os.modified ? 'red' : 'black', + fontWeight: os.modified ? 'bold' : 'normal', + }, + } + }) + return [ + { + id: 'OS', + data: { label: 'Operand Stack' }, + position: { x: 10, y: 275 }, + className: 'light', + style: { + backgroundColor: '#Cadbf7', + width: 225, + height: 40 + info.OS.length * 30, + padding: '5px', + }, + }, + ...valNodes, + ] + } + + const envNodes: Nodes = [] + const envEdges: Edge[] = [] + if (info.envs.children.length) { + addEnvs(info.envs.children[0], 10, 250, envNodes, envEdges) + } + + const nodes: Nodes = [ + { + id: 'instr', + data: { label: 'Instructions' }, + position: { x: 10, y: 10 }, + className: 'light', + style: { + backgroundColor: '#Cadbf7', + width: 225, + height: 250, + padding: '5px', + }, + }, + ...(cur_data.length ? instrNodes() : []), + ...(cur_data.length ? osNodes() : []), + ...envNodes, + ] + const edges = [...envEdges] + return { nodes, edges } + } + const visualBgColor = useColorModeValue('white', 'gray.800') + const [tabIndex, setTabIndex] = useState(0) + useEffect(() => { + if (tabIndex >= cur_data.length) setTabIndex(0) + }, [tabIndex, cur_data]) + return ( + <> + + + setTabIndex(index)} + h="100%" + > + + {cur_data.map((ctx, idx) => { + return ( + + {ctx.blocked && } Thread {ctx.id} + + ) + })} + + + {cur_data.map((ctx, idx) => { + const { nodes, edges } = genVisual(ctx) + return ( + +
    + + + + +
    +
    + ) + })} +
    +
    +
    +
    + + ) +} diff --git a/go-virtual-machine-main/src/frontend/components/Visual/index.tsx b/go-virtual-machine-main/src/frontend/components/Visual/index.tsx new file mode 100644 index 0000000..52cbcc7 --- /dev/null +++ b/go-virtual-machine-main/src/frontend/components/Visual/index.tsx @@ -0,0 +1 @@ +export * from './VisualArea' diff --git a/go-virtual-machine-main/src/frontend/components/Visual/nodes.css b/go-virtual-machine-main/src/frontend/components/Visual/nodes.css new file mode 100644 index 0000000..11c0bf4 --- /dev/null +++ b/go-virtual-machine-main/src/frontend/components/Visual/nodes.css @@ -0,0 +1,3 @@ +.react-flow__handle { + opacity: 0; +} diff --git a/go-virtual-machine-main/src/frontend/components/index.ts b/go-virtual-machine-main/src/frontend/components/index.ts new file mode 100644 index 0000000..3b1eeae --- /dev/null +++ b/go-virtual-machine-main/src/frontend/components/index.ts @@ -0,0 +1,5 @@ +export * from './CodeIDE' +export * from './ControlBar' +export * from './IO' +export * from './NavBar' +export * from './Visual' diff --git a/go-virtual-machine-main/src/frontend/pages/Main.tsx b/go-virtual-machine-main/src/frontend/pages/Main.tsx new file mode 100644 index 0000000..1623f37 --- /dev/null +++ b/go-virtual-machine-main/src/frontend/pages/Main.tsx @@ -0,0 +1,263 @@ +import { createContext, useEffect, useState } from 'react' +import { + Box, + Center, + Flex, + Image, + keyframes, + useInterval, + useToast, +} from '@chakra-ui/react' +import Cookies from 'js-cookie' + +import { runCode } from '../../virtual-machine' +import { CompileError } from '../../virtual-machine/compiler' +import { + CodeIDE, + CodeIDEButtons, + ControlBar, + IO, + VisualArea, +} from '../components' +import { useExecutionStore } from '../stores' + +export const LoaderContext = createContext< + React.Dispatch> | undefined +>(undefined) + +const COOKIE_NAME = 'code_value' +const VISUAL_MODE = 'visual_mode' + +export const Main = () => { + const { setVisualData, currentStep, setStep, data, setOutput, setLocation } = + useExecutionStore((state) => ({ + data: state.data, + setVisualData: state.setVisualData, + currentStep: state.currentStep, + setStep: state.setStep, + setOutput: state.setOutput, + setLocation: state.setLocation, + })) + const [editing, setEditing] = useState(true) + const [isPlaying, setPlaying] = useState(false) + const [wasPlaying, setWasPlaying] = useState(false) + const [speed, setSpeed] = useState(1) + const [loading, setLoading] = useState(false) + const [code, setCode] = useState('') + const [heapsize, setHeapsize] = useState(2048) + const [visualMode, setVisualMode] = useState(false) + + useEffect(() => { + // Get the value from the cookie + const oldCode = Cookies.get(COOKIE_NAME) + const visualMode = Cookies.get(VISUAL_MODE) + // Update state if the cookie exists + if (oldCode) { + try { + setCode(atob(oldCode)) + } catch (_err) { + Cookies.remove(COOKIE_NAME) + } + } + if (visualMode === 'true') { + setVisualMode(true) + } + }, []) + + const modifyCode = (code: string) => { + Cookies.set(COOKIE_NAME, btoa(code)) + setCode(code) + resetErrors() + resetMarking() + } + + const toggleVisualMode = () => { + Cookies.set(VISUAL_MODE, (!visualMode).toString()) + setVisualMode(!visualMode) + } + + const toast = useToast() + const makeToast = ( + msg: string | undefined, + title = 'An Error Has Occured!', + ) => { + toast({ + title, + description: msg, + status: 'error', + duration: 2000, + isClosable: true, + containerStyle: { + whiteSpace: 'pre-line', + }, + }) + } + + /** + * Interval hook to increment the step counter while the execution is playing + */ + useInterval( + () => { + // sanity check + if (currentStep >= 0 && currentStep + 1 < data.length) { + setStep(currentStep + 1) + } + if (currentStep >= data.length - 1) { + // End of execution + setPlaying(false) + } + }, + isPlaying ? Math.ceil(1000 / speed) : null, + ) + + const moveStep = (forward: boolean) => { + const newStep = Math.min( + data.length, + Math.max(0, (forward ? 1 : -1) * speed + currentStep), + ) + setStep(newStep) + if (newStep >= data.length) { + setPlaying(false) + } + } + + const [lineHighlight, setLineHighlight] = useState<(number | number[])[]>([0]) + + const resetErrors = () => { + setLineHighlight([0]) + } + + const resetMarking = () => { + setLocation(null) + } + const toggleEditing = async () => { + if (editing) { + // Start playing + setLoading(true) + if (code === '') { + setLoading(false) + makeToast('Code cannot be empty!') + return + } + // Retrieve instructions from endpoint + setOutput('Compiling and Running your code...') + const { + error, + output: newOutput, + visualData, + } = runCode(code, heapsize, visualMode) + if (error) { + const errorTitle = { + parse: 'Syntax Error', + compile: 'Compile Error', + runtime: 'Runtime Error', + }[error.type] + setLoading(false) + makeToast(error.message, errorTitle) + + if (error.type === 'compile') { + // Highlight compile error in source code. + const details = error.details as CompileError + const startLine = details.sourceLocation.start.line + let endLine = details.sourceLocation.end.line + if (details.sourceLocation.end.column === 1) { + // When parsing, the token's end location may spill into the next line. + // If so, then we should ignore the last line. + endLine-- + } + setLineHighlight([[startLine, endLine]]) + } + } else { + resetErrors() + } + console.log(error, !error, error?.type === 'runtime') + if (!error || error.type === 'runtime') { + setEditing(!editing) + + // Set instructions and update components to start playing mode + setVisualData(visualData) + if (visualData.length === 0) setOutput(newOutput || '') + setPlaying(true) + setWasPlaying(false) + setTimeout(function () { + setLoading(false) + }, 500) + } + } else { + // Stop playing + setPlaying(false) + setEditing(!editing) + } + } + + const spin = keyframes` + from {transform: rotate(0deg);} + to {transform: rotate(360deg)} + ` + + return ( + + {loading ? ( +
    + +
    + ) : null} + + + + + + + + + + + + + + { + if (isPlaying || currentStep < data.length) + setPlaying(!isPlaying) + }} + disabled={data.length === 0 || editing} + wasPlaying={wasPlaying} + setWasPlaying={setWasPlaying} + moveStep={moveStep} + toggleVisual={toggleVisualMode} + visual={visualMode} + /> + + + + + +
    + ) +} diff --git a/go-virtual-machine-main/src/frontend/stores/executionStore.ts b/go-virtual-machine-main/src/frontend/stores/executionStore.ts new file mode 100644 index 0000000..9e51742 --- /dev/null +++ b/go-virtual-machine-main/src/frontend/stores/executionStore.ts @@ -0,0 +1,74 @@ +import { shallow } from 'zustand/shallow' +import { createWithEqualityFn } from 'zustand/traditional' + +import { ContextInfo, StateInfo } from '../../virtual-machine/executor/debugger' +import { TokenLocation } from '../../virtual-machine/parser/tokens' + +export interface ExecutionState { + currentStep: number + setStep: (step: number) => void + data: StateInfo[] + setVisualData: (data: StateInfo[]) => void + cur_data: ContextInfo[] + output: string + setOutput: (output: string) => void + setLocation: (location: TokenLocation | null) => void + location: TokenLocation | null +} + +const defaultValues = { + currentStep: 0, + data: [], + cur_data: [], + output: '', + location: null, +} + +/** + * Factory function for execution store + * with option to seed inital values (For automated tests) + * @param initalValues Initial Values (optional) + * @returns + */ +export const createExecutionStore = (initialState: Partial) => { + return createWithEqualityFn( + (set, get) => ({ + ...defaultValues, + /** + * Change the current execution step to given value. + * Note this operation updates all related variables like table data + * @param step + */ + setStep: (step: number) => { + if (step < get().data.length) { + set({ + currentStep: step, + cur_data: get().data[step].contexts, + output: get().data[step].output, + location: get().data[step].location, + }) + } + }, + /** + * Resets the execution from the start with new instructions. + * @param instructions New instructions + */ + setVisualData: (data: StateInfo[]) => { + set({ + currentStep: 0, + data, + }) + }, + setOutput: (output: string) => { + set({ output }) + }, + setLocation: (location: TokenLocation | null) => { + set({ location }) + }, + ...initialState, + }), + shallow, + ) +} + +export const useExecutionStore = createExecutionStore({}) diff --git a/go-virtual-machine-main/src/frontend/stores/index.ts b/go-virtual-machine-main/src/frontend/stores/index.ts new file mode 100644 index 0000000..6233b37 --- /dev/null +++ b/go-virtual-machine-main/src/frontend/stores/index.ts @@ -0,0 +1 @@ +export * from './executionStore' diff --git a/go-virtual-machine-main/src/frontend/theme/index.ts b/go-virtual-machine-main/src/frontend/theme/index.ts new file mode 100644 index 0000000..fc6c2f6 --- /dev/null +++ b/go-virtual-machine-main/src/frontend/theme/index.ts @@ -0,0 +1 @@ +export * from './theme' diff --git a/go-virtual-machine-main/src/frontend/theme/theme.ts b/go-virtual-machine-main/src/frontend/theme/theme.ts new file mode 100644 index 0000000..fb242ec --- /dev/null +++ b/go-virtual-machine-main/src/frontend/theme/theme.ts @@ -0,0 +1,17 @@ +import { extendTheme } from '@chakra-ui/react' + +export const theme = extendTheme({ + styles: { + global: { + '#root': { + display: 'flex', + flexDirection: 'column', + minHeight: '100vh', + }, + }, + }, + fonts: { + heading: `'Open Sans', sans-serif`, + body: `'Raleway', sans-serif`, + }, +}) diff --git a/go-virtual-machine-main/src/frontend/types/cytoscape-cola/index.d.ts b/go-virtual-machine-main/src/frontend/types/cytoscape-cola/index.d.ts new file mode 100644 index 0000000..908139b --- /dev/null +++ b/go-virtual-machine-main/src/frontend/types/cytoscape-cola/index.d.ts @@ -0,0 +1 @@ +declare module 'cytoscape-cola' diff --git a/go-virtual-machine-main/src/frontend/types/global.d.ts b/go-virtual-machine-main/src/frontend/types/global.d.ts new file mode 100644 index 0000000..6c344ed --- /dev/null +++ b/go-virtual-machine-main/src/frontend/types/global.d.ts @@ -0,0 +1 @@ +declare module '*.module.css' diff --git a/go-virtual-machine-main/src/frontend/utils/error.ts b/go-virtual-machine-main/src/frontend/utils/error.ts new file mode 100644 index 0000000..4f134ac --- /dev/null +++ b/go-virtual-machine-main/src/frontend/utils/error.ts @@ -0,0 +1,10 @@ +/** + * Extract printable string from JS Error + * @param error Thrown Error + * @returns Error message if exist else stringify error + */ +export function getErrorMessage(error: unknown) { + console.log(error) + if (error instanceof Error) return error.message + return String(error) +} diff --git a/go-virtual-machine-main/src/index.tsx b/go-virtual-machine-main/src/index.tsx new file mode 100644 index 0000000..c038e52 --- /dev/null +++ b/go-virtual-machine-main/src/index.tsx @@ -0,0 +1,14 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import { BrowserRouter } from 'react-router-dom' + +import { App } from './frontend/app' + +const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement) +root.render( + + + + + , +) diff --git a/go-virtual-machine-main/src/virtual-machine/compiler/environment.ts b/go-virtual-machine-main/src/virtual-machine/compiler/environment.ts new file mode 100644 index 0000000..45467a6 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/compiler/environment.ts @@ -0,0 +1,96 @@ +import { JumpInstruction } from './instructions/control' + +class CompileEnvironment { + frames: string[][] + constructor(parent?: CompileEnvironment) { + if (!parent) { + this.frames = [[]] + } else { + this.frames = parent.frames.slice() + this.frames.push([]) + } + } + + find_var(name: string) { + let frame_idx = 0 + const frame_sz = this.frames.length - 1 + while (frame_sz >= frame_idx) { + let var_idx = this.frames[frame_sz - frame_idx].length - 1 + while (var_idx >= 0) { + if (this.frames[frame_sz - frame_idx][var_idx] === name) + return [frame_idx, var_idx] + var_idx-- + } + frame_idx++ + } + throw Error('Unable to find variable: ' + name) + } + + declare_var(name: string) { + const frame_idx = this.frames.length - 1 + for (const var_name of this.frames[frame_idx]) { + if (var_name === name) throw Error('Variable already declared') + } + const new_len = this.frames[frame_idx].push(name) + return [0, new_len - 1] + } + + get_frame() { + const frame_idx = this.frames.length - 1 + return this.frames[frame_idx] + } +} + +class LoopMarker { + break_instrs: JumpInstruction[] + cont_instrs: JumpInstruction[] + constructor() { + this.break_instrs = [] + this.cont_instrs = [] + } +} + +export class CompileContext { + env: CompileEnvironment + env_stack: CompileEnvironment[] + loop_stack: LoopMarker[] + constructor() { + this.env = new CompileEnvironment() + this.env_stack = [this.env] + this.loop_stack = [] + } + + push_env() { + const new_env = new CompileEnvironment(this.env) + this.env_stack.push(this.env) + this.env = new_env + } + + pop_env() { + const old_env = this.env_stack.pop() + if (!old_env) throw Error('Compile Env Stack Empty!') + this.env = old_env + } + + push_loop() { + this.loop_stack.push(new LoopMarker()) + } + + add_break(instr: JumpInstruction) { + this.loop_stack[this.loop_stack.length - 1].break_instrs.push(instr) + } + add_continue(instr: JumpInstruction) { + this.loop_stack[this.loop_stack.length - 1].cont_instrs.push(instr) + } + + pop_loop(pre_addr: number, post_addr: number) { + const old_loop = this.loop_stack.pop() + if (!old_loop) throw Error('Compile Loop Stack Empty!') + for (const instr of old_loop.cont_instrs) { + instr.set_addr(pre_addr) + } + for (const instr of old_loop.break_instrs) { + instr.set_addr(post_addr) + } + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/compiler/index.ts b/go-virtual-machine-main/src/virtual-machine/compiler/index.ts new file mode 100644 index 0000000..4a4296e --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/compiler/index.ts @@ -0,0 +1,38 @@ +import { Token, TokenLocation } from '../parser/tokens' + +import { TypeEnvironment } from './typing/type_environment' +import { CompileContext } from './environment' +import { DoneInstruction, Instruction } from './instructions' + +export class CompileError extends Error { + constructor(message: string, public sourceLocation: TokenLocation) { + super(message) + } +} + +export class Compiler { + instructions: Instruction[] = [] + symbols: (TokenLocation | null)[] = [] + context = new CompileContext() + type_environment = new TypeEnvironment() + + compile_program(token: Token) { + token.compile(this) + this.instructions.push(new DoneInstruction()) + } + + throwCompileError(message: string, sourceLocation: TokenLocation): never { + throw new CompileError(message, sourceLocation) + } +} + +const compile_tokens = (token: Token) => { + const compiler = new Compiler() + compiler.compile_program(token) + return { + instructions: compiler.instructions, + symbols: compiler.symbols, + } +} + +export { compile_tokens } diff --git a/go-virtual-machine-main/src/virtual-machine/compiler/instructions/base.ts b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/base.ts new file mode 100644 index 0000000..55c0d82 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/base.ts @@ -0,0 +1,43 @@ +import { Process } from '../../executor/process' + +export abstract class Instruction { + tag: string + + constructor(tag: string) { + this.tag = tag + } + + abstract execute(process: Process): void + + toString(): string { + return this.tag + } +} + +export class DoneInstruction extends Instruction { + constructor() { + super('DONE') + } + + static is(instr: Instruction): instr is DoneInstruction { + return instr.tag === 'DONE' + } + + override execute(_process: Process): void { + // Do nothing. + } +} + +export class PopInstruction extends Instruction { + constructor() { + super('POP') + } + + static is(instr: Instruction): instr is DoneInstruction { + return instr.tag === 'POP' + } + + override execute(process: Process): void { + process.context.popOS() + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/compiler/instructions/block.ts b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/block.ts new file mode 100644 index 0000000..76c90ff --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/block.ts @@ -0,0 +1,85 @@ +import { Process } from '../../executor/process' +import { FrameNode } from '../../heap/types/environment' +import { Type } from '../typing' + +import { Instruction } from './base' + +export class BlockInstruction extends Instruction { + frame: Type[] = [] + identifiers: string[] = [] + constructor(public name: string, public for_block = false) { + super('BLOCK') + } + + set_frame(frame: Type[]) { + this.frame = [...frame] + } + + set_identifiers(identifiers: string[]) { + this.identifiers = [...identifiers] + } + + override toString(): string { + return super.toString() + ' ' + this.name + } + + override execute(process: Process): void { + const new_frame = FrameNode.create(this.frame.length, process.heap) + process.heap.temp_push(new_frame.addr) + for (let i = 0; i < this.frame.length; i++) { + const T = this.frame[i] + new_frame.set_idx(T.defaultNodeCreator()(process.heap), i) + } + const new_env = process.context + .E() + .extend_env(new_frame.addr, this.for_block).addr + process.context.pushRTS(new_env) + process.heap.temp_pop() + + if (process.debug_mode) { + process.debugger.env_alloc_map.set(new_env, process.runtime_count) + process.debugger.env_name_map.set(new_env, this.name) + const children = new_frame.get_children() + for (let i = 0; i < children.length; i++) { + process.debugger.identifier_map.set(children[i], this.identifiers[i]) + } + } + } +} +export class FuncBlockInstruction extends BlockInstruction { + constructor(public args: number) { + super('ANONY FUNC', false) + this.tag = 'FUNC_BLOCK' + } + + override toString(): string { + return this.tag + } + + override execute(process: Process): void { + super.execute(process) + for (let i = this.args - 1; i >= 0; i--) { + const src = process.context.popOS() + const dst = process.context.E().get_frame().get_idx(i) + process.heap.copy(dst, src) + } + // Pop function in stack + const id = process.context.popOS() + if (process.debug_mode) { + const identifier = process.debugger.identifier_map.get(id) + if (identifier) { + process.debugger.env_name_map.set(process.context.E().addr, identifier) + } + } + } +} + +export class ExitBlockInstruction extends Instruction { + constructor() { + super('EXIT_BLOCK') + } + + override execute(process: Process): void { + process.context.popRTS() + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/compiler/instructions/builtin.ts b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/builtin.ts new file mode 100644 index 0000000..9c2e0a8 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/builtin.ts @@ -0,0 +1,39 @@ +import { Process } from '../../executor/process' +import { ArrayNode, SliceNode } from '../../heap/types/array' +import { IntegerNode } from '../../heap/types/primitives' + +import { Instruction } from './base' + +/** Takes an object address from the OS, and returns the length of that object. */ +export class BuiltinLenInstruction extends Instruction { + constructor() { + super('BUILTIN_LEN') + } + + override execute(process: Process): void { + const node = process.heap.get_value(process.context.popOS()) + if (node instanceof ArrayNode || node instanceof SliceNode) { + const length = node.length() + process.context.pushOS(IntegerNode.create(length, process.heap).addr) + } else { + throw new Error('Unreachable') + } + } +} + +/** Takes an object address from the OS, and returns the capacity of that object. */ +export class BuiltinCapInstruction extends Instruction { + constructor() { + super('BUILTIN_CAP') + } + + override execute(process: Process): void { + const node = process.heap.get_value(process.context.popOS()) + if (node instanceof ArrayNode || node instanceof SliceNode) { + const capacity = node.capacity() + process.context.pushOS(IntegerNode.create(capacity, process.heap).addr) + } else { + throw new Error('Unreachable') + } + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/compiler/instructions/concurrent.ts b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/concurrent.ts new file mode 100644 index 0000000..0a4f86b --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/concurrent.ts @@ -0,0 +1,163 @@ +import { Process } from '../../executor/process' +import { ArrayNode } from '../../heap/types/array' +import { + ChannelNode, + ChannelReqNode, + ReqInfoNode, +} from '../../heap/types/channel' +import { IntegerNode } from '../../heap/types/primitives' + +import { Instruction } from './base' + +export class ForkInstruction extends Instruction { + addr: number + + constructor(addr = 0) { + super('FORK') + this.addr = addr + } + + set_addr(addr: number) { + this.addr = addr + } + + override execute(process: Process): void { + const new_context = process.context.fork().addr + process.contexts.push(new_context) + process.context.set_PC(this.addr) + if (process.debug_mode) { + process.debugger.context_id_map.set( + new_context, + process.debugger.context_id++, + ) + } + } +} + +export class LoadChannelInstruction extends Instruction { + constructor() { + super('LDCH') + } + + override toString(): string { + return 'LOAD CHANNEL' + } + + override execute(process: Process): void { + const buffer_sz = new IntegerNode( + process.heap, + process.context.popOS(), + ).get_value() + process.context.pushOS(ChannelNode.create(buffer_sz, process.heap).addr) + } +} + +export class LoadChannelReqInstruction extends Instruction { + constructor(public recv: boolean, public PC: number) { + super('LDCR') + } + + override toString(): string { + return 'LOAD CHAN ' + (this.recv ? 'RECV' : 'SEND') + ' REQ' + } + + override execute(process: Process): void { + const clone = process.heap.clone(process.context.peekOS()) + process.heap.temp_push(clone) + const req = ReqInfoNode.create( + clone, + process.context.addr, + this.PC, + this.recv, + process.heap, + ) + process.heap.temp_pop() + process.context.popOS() + process.heap.temp_push(req.addr) + const chan = new ChannelNode(process.heap, process.context.popOS()) + const chan_req = ChannelReqNode.create(chan.addr, req.addr, process.heap) + process.heap.temp_pop() + process.context.pushOS(chan_req.addr) + } +} + +export class TryChannelReqInstruction extends Instruction { + constructor() { + super('TRY_CHAN_REQ') + } + override execute(process: Process): void { + const chan_req = new ChannelReqNode(process.heap, process.context.popOS()) + process.heap.temp_push(chan_req.addr) + const chan = chan_req.channel() + const req = chan_req.req() + if (!chan.try(req)) { + process.context.set_waitlist(ArrayNode.create(2, process.heap).addr) + process.context.waitlist().set_child(0, chan.wait(req)) + process.context + .waitlist() + .set_child( + 1, + process.heap.blocked_contexts.push_back(process.context.addr), + ) + process.context.set_blocked(true) + } else { + process.context.set_PC(req.PC()) + if (req.is_recv()) process.context.pushOS(req.io()) + } + process.heap.temp_pop() + } +} + +export class SelectInstruction extends Instruction { + constructor(public cases: number, public default_case: boolean) { + super('SELECT CASES') + } + override execute(process: Process): void { + let pc = -1 + if (this.default_case) { + pc = new IntegerNode(process.heap, process.context.popOS()).get_value() + } + let cases = [] + for (let i = 0; i < this.cases; i++) { + cases.push(new ChannelReqNode(process.heap, process.context.peekOS())) + process.heap.temp_push(process.context.popOS()) + } + cases = cases + .map((a) => ({ sort: process.generator(), value: a })) + .sort((a, b) => a.sort - b.sort) + .map((a) => a.value) + let done = false + for (const cas of cases) { + const chan = cas.channel() + const req = cas.req() + if (chan.try(req)) { + done = true + process.context.set_PC(req.PC()) + if (req.is_recv()) process.context.pushOS(req.io()) + break + } + } + if (!done) { + if (pc !== -1) { + process.context.set_PC(pc) + } else { + process.context.set_blocked(true) + process.context.set_waitlist( + ArrayNode.create(cases.length + 1, process.heap).addr, + ) + for (let i = 0; i < cases.length; i++) { + const chan = cases[i].channel() + const req = cases[i].req() + process.context.waitlist().set_child(i, chan.wait(req)) + } + process.context + .waitlist() + .set_child( + cases.length, + process.heap.blocked_contexts.push_back(process.context.addr), + ) + } + } + for (let i = 0; i < cases.length; i++) process.heap.temp_pop() + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/compiler/instructions/control.ts b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/control.ts new file mode 100644 index 0000000..3dd547a --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/control.ts @@ -0,0 +1,53 @@ +import { Process } from '../../executor/process' +import { BoolNode } from '../../heap/types/primitives' + +import { Instruction } from './base' + +export class JumpInstruction extends Instruction { + addr: number + + constructor(addr = 0) { + super('JUMP') + this.addr = addr + } + + override toString(): string { + return super.toString() + ' ' + this.addr.toString() + } + + set_addr(addr: number) { + this.addr = addr + } + + override execute(process: Process): void { + process.context.set_PC(this.addr) + } +} + +export class JumpIfFalseInstruction extends JumpInstruction { + constructor(addr = 0) { + super(addr) + this.tag = 'JUMP_IF_FALSE' + } + + override execute(process: Process): void { + const pred = ( + process.heap.get_value(process.context.popOS()) as BoolNode + ).get_value() + if (!pred) process.context.set_PC(this.addr) + } +} + +export class ExitLoopInstruction extends JumpInstruction { + constructor(addr = 0) { + super(addr) + this.tag = 'JUMP_LOOP' + } + + override execute(process: Process): void { + while (!process.context.E().if_for_block()) { + process.context.popRTS() + } + process.context.set_PC(this.addr) + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/compiler/instructions/funcs.ts b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/funcs.ts new file mode 100644 index 0000000..f655545 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/funcs.ts @@ -0,0 +1,164 @@ +import { Process } from '../../executor/process' +import { + CallRefNode, + DeferFuncNode, + DeferMethodNode, + FuncNode, + MethodNode, +} from '../../heap/types/func' + +import { Instruction } from './base' + +export class LoadFuncInstruction extends Instruction { + PC: number + constructor(PC: number) { + super('LF') + this.PC = PC + } + + override toString(): string { + return 'LOAD FUNC' + } + + static is(instr: Instruction): instr is LoadFuncInstruction { + return instr.tag === 'LF' + } + + override execute(process: Process): void { + process.context.pushOS( + FuncNode.create(this.PC, process.context.E().addr, process.heap).addr, + ) + } +} + +export class CallInstruction extends Instruction { + constructor(public args: number) { + super('CALL') + } + + override toString(): string { + return 'CALL ' + this.args.toString() + ' ARGS' + } + + static is(instr: Instruction): instr is CallInstruction { + return instr.tag === 'CALL' + } + + override execute(process: Process): void { + const func = process.heap.get_value(process.context.peekOSIdx(this.args)) + if (!(func instanceof FuncNode) && !(func instanceof MethodNode)) + throw Error('Stack does not contain closure') + + if (func instanceof FuncNode) { + process.context.pushDeferStack() + process.context.pushRTS( + CallRefNode.create(process.context.PC(), process.heap).addr, + ) + process.context.pushRTS(func.E()) + process.context.set_PC(func.PC()) + } else { + const receiver = func.receiver() + receiver.handleMethodCall(process, func.identifier(), this.args) + } + } +} + +export class DeferredCallInstruction extends Instruction { + constructor(public args: number) { + super('DEFERRED_CALL') + } + + override toString(): string { + return 'DEFER CALL ' + this.args.toString() + ' ARGS' + } + + static fromCallInstruction(call: CallInstruction): DeferredCallInstruction { + return new DeferredCallInstruction(call.args) + } + + static is(instr: Instruction): instr is DeferredCallInstruction { + return instr.tag === 'DEFERRED_CALL' + } + + override execute(process: Process): void { + const func = process.heap.get_value(process.context.peekOSIdx(this.args)) + if (!(func instanceof FuncNode) && !(func instanceof MethodNode)) + throw Error('Stack does not contain closure') + + let deferNode + if (func instanceof FuncNode) { + deferNode = DeferFuncNode.create(this.args, process) + } else { + deferNode = DeferMethodNode.create(this.args, process) + } + process.context.peekDeferStack().push(deferNode.addr) + } +} + +export class ReturnInstruction extends Instruction { + constructor() { + super('RET') + } + + static is(instr: Instruction): instr is ReturnInstruction { + return instr.tag === 'RET' + } + + override execute(process: Process): void { + // Clear remnant environment nodes on the RTS (e.g. from blocks). + while (!(process.context.peekRTS() instanceof CallRefNode)) { + process.context.popRTS() + } + + const defers = process.context.peekDeferStack() + if (defers.sz()) { + // There are still deferred calls to be carried out. + const deferNode = process.heap.get_value(defers.pop()) + if ( + !(deferNode instanceof DeferFuncNode) && + !(deferNode instanceof DeferMethodNode) + ) { + throw new Error('Unreachable') + } + + // Push everything back onto OS before resuming the call. + if (deferNode instanceof DeferFuncNode) { + process.context.pushOS(deferNode.funcAddr()) + while (deferNode.stack().sz()) { + process.context.pushOS(deferNode.stack().pop()) + } + process.context.pushDeferStack() + process.context.pushRTS( + CallRefNode.create(process.context.PC() - 1, process.heap).addr, + ) + process.context.pushRTS(deferNode.func().E()) + process.context.set_PC(deferNode.func().PC()) + } else { + const methodNode = deferNode.methodNode() + process.context.pushOS(methodNode.addr) + process.context.pushOS(methodNode.receiverAddr()) + const argCount = deferNode.stack().sz() + while (deferNode.stack().sz()) { + process.context.pushOS(deferNode.stack().pop()) + } + methodNode + .receiver() + .handleMethodCall(process, methodNode.identifier(), argCount) + + // Since methods are hardcoded and don't behave like functions, they don't jump back to an address. + // Manually decrement PC here so that the next executor step will return to this instruction. + process.context.set_PC(process.context.PC() - 1) + } + + // Return here to account for this as one instruction, + // to avoid hogging the CPU while going through deferred calls. + return + } else { + process.context.popDeferStack() + } + + const callRef = process.heap.get_value(process.context.popRTS()) + if (!(callRef instanceof CallRefNode)) throw new Error('Unreachable') + process.context.set_PC(callRef.PC()) + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/compiler/instructions/index.ts b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/index.ts new file mode 100644 index 0000000..86a5d3e --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/index.ts @@ -0,0 +1,9 @@ +export * from './base' +export * from './block' +export * from './builtin' +export * from './concurrent' +export * from './control' +export * from './funcs' +export * from './load' +export * from './operator' +export * from './store' diff --git a/go-virtual-machine-main/src/virtual-machine/compiler/instructions/load.ts b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/load.ts new file mode 100644 index 0000000..59dca95 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/load.ts @@ -0,0 +1,188 @@ +import { Process } from '../../executor/process' +import { ArrayNode, SliceNode } from '../../heap/types/array' +import { FmtPkgNode } from '../../heap/types/fmt' +import { + BoolNode, + FloatNode, + IntegerNode, + StringNode, +} from '../../heap/types/primitives' +import { BoolType, Float64Type, Int64Type, StringType, Type } from '../typing' + +import { Instruction } from './base' + +export class LoadConstantInstruction extends Instruction { + val: number | string | boolean + data_type: Type + constructor(val: number | string | boolean, data_type: Type) { + super('LDC') + this.val = val + this.data_type = data_type + } + + override toString(): string { + return 'LOAD ' + this.val.toString() + } + + static is(instr: Instruction): instr is LoadConstantInstruction { + return instr.tag === 'LDC' + } + + override execute(process: Process): void { + if (this.data_type instanceof BoolType) { + process.context.pushOS( + BoolNode.create(this.val as boolean, process.heap).addr, + ) + } else if (this.data_type instanceof Float64Type) { + process.context.pushOS( + FloatNode.create(this.val as number, process.heap).addr, + ) + } else if (this.data_type instanceof Int64Type) { + const temp = IntegerNode.create(this.val as number, process.heap).addr + process.context.pushOS(temp) + } else if (this.data_type instanceof StringType) { + process.context.pushOS( + StringNode.create(this.val as string, process.heap).addr, + ) + } + } +} + +/** Loads a default value of the given type onto the OS. */ +export class LoadDefaultInstruction extends Instruction { + constructor(public dataType: Type) { + super('LDD') + } + + override toString(): string { + return 'LOAD DEFAULT ' + this.dataType.toString() + } + + override execute(process: Process): void { + const defaultNodeAddress = this.dataType.defaultNodeCreator()(process.heap) + process.context.pushOS(defaultNodeAddress) + } +} + +/** + * Creates an array on the heap, with element addresses taken from the OS (starting from the back). + * Pushes the address of the array back onto the OS. + */ +export class LoadArrayInstruction extends Instruction { + constructor(public length: number) { + super('LDA') + } + + override toString(): string { + return 'LOAD ARRAY ' + this.length.toString() + } + + override execute(process: Process): void { + const arrayNode = ArrayNode.create(this.length, process.heap) + for (let i = this.length - 1; i >= 0; i--) { + arrayNode.set_child(i, process.context.popOS()) + } + process.context.pushOS(arrayNode.addr) + } +} + +/** Takes the index, then array from the heap, and loads the element at the index onto the OS. */ +export class LoadArrayElementInstruction extends Instruction { + constructor() { + super('LDAE') + } + + override toString(): string { + return 'LOAD ARRAY ENTRY' + } + + override execute(process: Process): void { + const indexNode = new IntegerNode(process.heap, process.context.popOS()) + const index = indexNode.get_value() + const array = new ArrayNode(process.heap, process.context.popOS()) + if (index < 0 || index >= array.length()) { + throw new Error( + `Index out of range [${index}] with length ${array.length()}`, + ) + } + const element = array.get_child(index) + process.context.pushOS(element) + } +} +/** Takes the index, then array from the heap, and loads the element at the index onto the OS. */ +export class LoadSliceElementInstruction extends Instruction { + constructor() { + super('LDAE') + } + + override execute(process: Process): void { + const index = process.context.popOSNode(IntegerNode).get_value() + const slice = process.context.popOSNode(SliceNode) + const array = slice.arrayNode() + if (index < 0 || index >= array.length()) { + throw new Error( + `Index out of range [${index}] with length ${array.length()}`, + ) + } + const element = array.get_child(index) + process.context.pushOS(element) + } +} + +/** + * Creates a slice on the heap, with the following arguments taken from the OS (bottom to top). + * - Array address + * - Start index of the slice. + * - End index of the slice. + * Pushes the address of the slice back onto the OS. + */ +export class LoadSliceInstruction extends Instruction { + constructor() { + super('LDS') + } + + override execute(process: Process): void { + const end = process.context.popOSNode(IntegerNode).get_value() + const start = process.context.popOSNode(IntegerNode).get_value() + const array = process.context.popOS() + const sliceNode = SliceNode.create(array, start, end, process.heap) + process.context.pushOS(sliceNode.addr) + } +} + +export class LoadVariableInstruction extends Instruction { + constructor( + public frame_idx: number, + public var_idx: number, + public id: string, + ) { + super('LD') + } + + override toString() { + return 'LOAD VAR ' + this.id + } + + override execute(process: Process): void { + process.context.pushOS( + process.context.E().get_var(this.frame_idx, this.var_idx), + ) + } +} + +/** + * Takes a package name (string literal) from the OS and loads the corresponding package node back onto the OS. + * Currently this is only implemented for `fmt`, as it is the only package requiring runtime values. + */ +export class LoadPackageInstruction extends Instruction { + constructor() { + super('LDP') + } + + override execute(process: Process): void { + const packageName = process.context.popOSNode(StringNode).get_value() + if (packageName !== 'fmt') throw new Error('Unreachable') + const packageNode = FmtPkgNode.default(process.heap) + process.context.pushOS(packageNode.addr) + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/compiler/instructions/operator.ts b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/operator.ts new file mode 100644 index 0000000..93e9730 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/operator.ts @@ -0,0 +1,135 @@ +import { Process } from '../../executor/process' +import { ArrayNode, SliceNode } from '../../heap/types/array' +import { + IntegerNode, + PrimitiveNode, + StringNode, +} from '../../heap/types/primitives' + +import { Instruction } from './base' + +export abstract class OpInstruction extends Instruction { + op: string + + constructor(tag: string, op: string) { + super(tag) + this.op = op + } +} + +export class UnaryInstruction extends OpInstruction { + constructor(op: string) { + super('UNARY', op) + } + + override toString(): string { + return 'UNARY ' + this.op + } + + override execute(process: Process): void { + const arg1 = process.heap.get_value( + process.context.popOS(), + ) as PrimitiveNode + process.context.pushOS(arg1.apply_unary(this.op).addr) + } +} + +export class BinaryInstruction extends OpInstruction { + constructor(op: string) { + super('BINOP', op) + } + + override toString(): string { + return 'BINOP ' + this.op + } + + override execute(process: Process): void { + const arg2 = process.heap.get_value( + process.context.popOS(), + ) as PrimitiveNode + const arg1 = process.heap.get_value( + process.context.popOS(), + ) as PrimitiveNode + process.context.pushOS(arg1.apply_binop(arg2, this.op).addr) + } +} + +/** + * Takes its arguments from the OS, and pushes a new slice onto the OS. + * - Node address: Address of the node to slice. + * - Low: A number for the starting index (non-integer if the start). + * - High: A number for the ending index (non-integer if the end). + */ +export class SliceOperationInstruction extends Instruction { + constructor() { + super('SLICEOP') + } + + override execute(process: Process): void { + const highNode = process.heap.get_value(process.context.popOS()) + const lowNode = process.heap.get_value(process.context.popOS()) + const node = process.heap.get_value(process.context.popOS()) + const low = lowNode instanceof IntegerNode ? lowNode.get_value() : 0 + // If high is not provided, its default value will be resolved later on in the code. + const high = highNode instanceof IntegerNode ? highNode.get_value() : null + + if (node instanceof ArrayNode) { + process.context.pushOS(this.sliceArray(process, node, low, high)) + } else if (node instanceof SliceNode) { + process.context.pushOS(this.sliceSlice(process, node, low, high)) + } else { + throw new Error('Unreachable') + } + } + + private sliceArray( + process: Process, + array: ArrayNode, + low: number, + high: number | null, + ): number { + low ??= 0 + high ??= array.length() + this.checkSliceRange(low, high, array.length()) + const newSlice = SliceNode.create(array.addr, low, high, process.heap) + return newSlice.addr + } + + private sliceSlice( + process: Process, + slice: SliceNode, + low: number, + high: number | null, + ): number { + low ??= 0 + high ??= slice.capacity() + this.checkSliceRange(low, high, slice.capacity()) + const start = low + slice.start() + const end = high + slice.start() + const newSlice = SliceNode.create(slice.array(), start, end, process.heap) + return newSlice.addr + } + + /** Checks that the slice [low:high] is valid on an underlying container with given length. */ + private checkSliceRange(low: number, high: number, length: number) { + if (low < 0 || low > length || high < 0 || high > length || high < low) { + throw new Error('Slice bounds out of range') + } + } +} + +/** + * Takes its operand and identifier string from the OS, + * and selects the given identifier from the operand. + */ +export class SelectorOperationInstruction extends Instruction { + constructor() { + super('SELECTOP') + } + + override execute(process: Process): void { + const identifier = process.context.popOSNode(StringNode).get_value() + const node = process.heap.get_value(process.context.popOS()) + node.select(process, identifier) + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/compiler/instructions/store.ts b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/store.ts new file mode 100644 index 0000000..227acb1 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/compiler/instructions/store.ts @@ -0,0 +1,19 @@ +import { Process } from '../../executor/process' + +import { Instruction } from './base' + +export class StoreInstruction extends Instruction { + constructor() { + super('STORE') + } + + override execute(process: Process): void { + const dst = process.context.popOS() + const src = process.context.popOS() + process.heap.copy(dst, src) + + if (process.debug_mode) { + process.debugger.modified_buffer.add(dst) + } + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/compiler/typing/index.ts b/go-virtual-machine-main/src/virtual-machine/compiler/typing/index.ts new file mode 100644 index 0000000..9b3990d --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/compiler/typing/index.ts @@ -0,0 +1,343 @@ +import { Heap } from '../../heap' +import { ArrayNode, SliceNode } from '../../heap/types/array' +import { ChannelNode } from '../../heap/types/channel' +import { PkgNode } from '../../heap/types/fmt' +import { FuncNode } from '../../heap/types/func' +import { + BoolNode, + FloatNode, + IntegerNode, + StringNode, +} from '../../heap/types/primitives' + +export abstract class Type { + abstract isPrimitive(): boolean + abstract toString(): string + abstract equals(t: Type): boolean + + /** Returns true if `t` can be assigned to this type. */ + assignableBy(t: Type): boolean { + return this.equals(t) + } + + /** Returns a function that creates a default node of this type on the heap, and returns its address. */ + abstract defaultNodeCreator(): (heap: Heap) => number + + /** Returns the type of selecting an identifier on the given type. */ + select(identifier: string): Type { + throw new Error( + `undefined (type ${this} has no field or method ${identifier})`, + ) + } +} + +/** This type represents things that don't have an associated type, like statements. */ +export class NoType extends Type { + isPrimitive(): boolean { + return false + } + + toString(): string { + return '' + } + + override equals(t: Type): boolean { + return t instanceof NoType + } + + override defaultNodeCreator(): (heap: Heap) => number { + throw new Error('Cannot create values of type NoType') + } +} + +export class BoolType extends Type { + isPrimitive(): boolean { + return true + } + + toString(): string { + return 'bool' + } + + override equals(t: Type): boolean { + return t instanceof BoolType + } + + override defaultNodeCreator(): (heap: Heap) => number { + return (heap) => BoolNode.default(heap).addr + } +} + +export class Int64Type extends Type { + isPrimitive(): boolean { + return true + } + + toString(): string { + return 'int64' + } + + override equals(t: Type): boolean { + return t instanceof Int64Type + } + + override defaultNodeCreator(): (heap: Heap) => number { + return (heap) => IntegerNode.default(heap).addr + } +} + +export class Float64Type extends Type { + isPrimitive(): boolean { + return true + } + + toString(): string { + return 'float64' + } + + override equals(t: Type): boolean { + return t instanceof Float64Type + } + + override defaultNodeCreator(): (heap: Heap) => number { + return (heap) => FloatNode.default(heap).addr + } +} + +export class StringType extends Type { + isPrimitive(): boolean { + return true + } + + toString(): string { + return 'string' + } + + override equals(t: Type): boolean { + return t instanceof StringType + } + + override defaultNodeCreator(): (heap: Heap) => number { + return (heap) => StringNode.default(heap).addr + } +} + +export class ArrayType extends Type { + constructor(public element: Type, public length: number) { + super() + } + + isPrimitive(): boolean { + return false + } + + toString(): string { + return `[${this.length}]${this.element.toString()}` + } + + override equals(t: Type): boolean { + return ( + t instanceof ArrayType && + this.element.equals(t.element) && + this.length === t.length + ) + } + + override defaultNodeCreator(): (heap: Heap) => number { + const elementCreator = this.element.defaultNodeCreator() + return (heap) => ArrayNode.default(this.length, elementCreator, heap).addr + } +} + +export class SliceType extends Type { + constructor(public element: Type) { + super() + } + + isPrimitive(): boolean { + return false + } + + toString(): string { + return `[]${this.element.toString()}` + } + + override equals(t: Type): boolean { + return t instanceof SliceType && this.element.equals(t.element) + } + + override defaultNodeCreator(): (heap: Heap) => number { + return (heap) => SliceNode.default(heap).addr + } +} + +export class ParameterType extends Type { + constructor(public identifier: string | null, public type: Type) { + super() + } + + override isPrimitive(): boolean { + return false + } + + toString(): string { + return this.identifier === null + ? `${this.type}` + : `${this.identifier} ${this.type}` + } + + override equals(t: Type): boolean { + return t instanceof ParameterType && this.type.equals(t.type) + } + + override defaultNodeCreator(): (heap: Heap) => number { + // Do nothing. + return (_) => 0 + } +} + +export class FunctionType extends Type { + constructor( + public parameters: ParameterType[], + public results: ReturnType, + public variadic: boolean = false, + ) { + super() + } + + override isPrimitive(): boolean { + return false + } + + toString(): string { + const parametersString = TypeUtility.arrayToString(this.parameters) + return `func(${parametersString}) ${this.results}` + } + + override equals(t: Type): boolean { + return ( + t instanceof FunctionType && + this.parameters.length === t.parameters.length && + this.parameters.every((p, index) => p.equals(t.parameters[index])) && + this.results.equals(t.results) + ) + } + + override defaultNodeCreator(): (heap: Heap) => number { + return (heap) => FuncNode.default(heap).addr + } +} + +export class ChannelType extends Type { + constructor( + public element: Type, + public readable: boolean, + public writable: boolean, + ) { + super() + } + + override isPrimitive(): boolean { + return false + } + + override toString(): string { + if (this.readable && this.writable) { + return `chan ${this.element}` + } else if (this.readable) { + return `<-chan ${this.element}` + } else { + return `chan<- ${this.element}` + } + } + + override equals(t: Type): boolean { + return ( + t instanceof ChannelType && + this.readable === t.readable && + this.writable === t.writable && + this.element.equals(t.element) + ) + } + + override assignableBy(t: Type): boolean { + return ( + this.equals(t) || + (this.readable && + this.writable && + t instanceof ChannelType && + this.element.equals(t.element)) + ) + } + + override defaultNodeCreator(): (heap: Heap) => number { + return (heap) => ChannelNode.default(heap).addr + } +} + +export class ReturnType extends Type { + constructor(public types: Type[]) { + super() + } + + override isPrimitive(): boolean { + return false + } + + override toString(): string { + return `(${TypeUtility.arrayToString(this.types)})` + } + + override equals(t: Type): boolean { + return ( + t instanceof ReturnType && + t.types.length === this.types.length && + this.types.every((r, index) => r.equals(t.types[index])) + ) + } + + override defaultNodeCreator(): (_heap: Heap) => number { + // Return values are pushed onto the OS, and should not be allocated. + throw Error('Unreachable') + } + + isVoid(): boolean { + return this.types.length === 0 + } +} + +export class PackageType extends Type { + constructor(public name: string, public types: Record) { + super() + } + + override isPrimitive(): boolean { + return false + } + + override toString(): string { + return `package ${this.name}` + } + + override equals(t: Type): boolean { + return t instanceof PackageType && t.name === this.name + } + + override defaultNodeCreator(): (_heap: Heap) => number { + return (heap) => PkgNode.default(heap).addr + } + + override select(identifier: string): Type { + if (!(identifier in this.types)) { + throw new Error(`undefined: ${this.name}.${identifier}`) + } + return this.types[identifier] + } +} + +export const TypeUtility = { + // Similar to Array.toString(), but adds a space after each comma. + arrayToString(types: Type[] | null) { + return (types ?? []).map((t) => t.toString()).join(', ') + }, +} diff --git a/go-virtual-machine-main/src/virtual-machine/compiler/typing/packages.ts b/go-virtual-machine-main/src/virtual-machine/compiler/typing/packages.ts new file mode 100644 index 0000000..4565dbe --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/compiler/typing/packages.ts @@ -0,0 +1,82 @@ +import { Heap } from '../../heap' +import { WaitGroupNode } from '../../heap/types/waitGroup' +import { + LoadConstantInstruction, + LoadPackageInstruction, + LoadVariableInstruction, + StoreInstruction, +} from '../instructions' +import { Compiler } from '..' + +import { + FunctionType, + Int64Type, + PackageType, + ParameterType, + ReturnType, + StringType, + Type, +} from '.' + +export class WaitGroupType extends Type { + override isPrimitive(): boolean { + return false + } + + override toString(): string { + return `sync.WaitGroup` + } + + override equals(t: Type): boolean { + return t instanceof WaitGroupType + } + + override defaultNodeCreator(): (heap: Heap) => number { + return (heap) => WaitGroupNode.default(heap).addr + } + + override select(identifier: string): Type { + if (identifier === 'Add') { + return new FunctionType( + [new ParameterType(null, new Int64Type())], + new ReturnType([]), + ) + } else if (identifier === 'Done') { + return new FunctionType([], new ReturnType([])) + } else if (identifier === 'Wait') { + return new FunctionType([], new ReturnType([])) + } + throw new Error( + `.${identifier} undefined (type ${this} has no field or method ${identifier})`, + ) + } +} + +/** + * Builtin packages are functions that take in a single `compiler` argument, + * and does all the package setup within itself. + */ +export const builtinPackages = { + fmt: (compiler: Compiler): Type => { + const pkg = new PackageType('fmt', { + Println: new FunctionType([], new ReturnType([]), true), + }) + compiler.type_environment.addType('fmt', pkg) + const [frame_idx, var_idx] = compiler.context.env.declare_var('fmt') + compiler.instructions.push( + new LoadConstantInstruction('fmt', new StringType()), + new LoadPackageInstruction(), + new LoadVariableInstruction(frame_idx, var_idx, 'fmt'), + new StoreInstruction(), + ) + compiler.symbols.push(...Array(4).fill(null)) + return pkg + }, + sync: (compiler: Compiler): Type => { + const pkg = new PackageType('sync', { + WaitGroup: new WaitGroupType(), + }) + compiler.type_environment.addType('sync', pkg) + return pkg + }, +} diff --git a/go-virtual-machine-main/src/virtual-machine/compiler/typing/type_environment.ts b/go-virtual-machine-main/src/virtual-machine/compiler/typing/type_environment.ts new file mode 100644 index 0000000..232b10e --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/compiler/typing/type_environment.ts @@ -0,0 +1,45 @@ +import { ReturnType, Type } from '.' + +export class TypeEnvironment { + parent?: TypeEnvironment + typings: Record + expectedReturn: ReturnType + + constructor(parent?: TypeEnvironment) { + this.parent = parent + this.typings = {} + this.expectedReturn = parent?.expectedReturn ?? new ReturnType([]) + } + + addType(name: string, type: Type) { + this.typings[name] = type + } + + /** Returns an extended type environment. */ + extend(): TypeEnvironment { + const newTypeEnvironment = new TypeEnvironment(this) + return newTypeEnvironment + } + + pop(): TypeEnvironment { + if (!this.parent) { + throw Error('Type environment stack is empty when popped.') + } + return this.parent + } + + /** Returns the type of the variable with the given name. */ + get(name: string): Type { + if (name in this.typings) { + return this.typings[name] + } + if (this.parent === undefined) { + throw Error(`Variable ${name} not found`) + } + return this.parent.get(name) + } + + updateReturnType(newType: ReturnType) { + this.expectedReturn = newType + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/executor/debugger.ts b/go-virtual-machine-main/src/virtual-machine/executor/debugger.ts new file mode 100644 index 0000000..e2c78ef --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/executor/debugger.ts @@ -0,0 +1,236 @@ +import { Instruction } from '../compiler/instructions' +import { Heap } from '../heap' +import { ContextNode } from '../heap/types/context' +import { EnvironmentNode } from '../heap/types/environment' +import { TokenLocation } from '../parser/tokens' + +export type OSInfo = { + val: string + addr: number + modified: boolean +} + +export type VarInfo = { + name: string + val: string + modified: boolean +} + +export type EnvironmentInfo = { + name: string + addr: number + vars: VarInfo[] + alloc_time: number + children: EnvironmentInfo[] + cur: boolean +} + +export type InstructionInfo = { + val: string + idx: number + cur: boolean +} + +export type ContextInfo = { + blocked: boolean + id: number + addr: number + OS: OSInfo[] + instrs: InstructionInfo[] + envs: EnvironmentInfo +} + +export type StateInfo = { + contexts: ContextInfo[] + output: string + location: TokenLocation | null +} + +export class Debugger { + // Maps addr of variables to identifier + identifier_map = new Map() + // Maps addr of environments to identifer + env_name_map = new Map() + // Maps addr of environment to allocation time + env_alloc_map = new Map() + // Maps context to thread id (starting from 0) + context_id_map = new Map() + context_id = 1 + data: StateInfo[] = [] + modified_buffer = new Set() + constructor( + public heap: Heap, + public instructions: Instruction[], + public symbols: (TokenLocation | null)[], + ) {} + + /** + * Finds all environments that can be reached from a given addr + * @param addr Current Address + * @param vis Set of visited addresses + * @param envs Output set of environments + * @returns + */ + get_all_env(addr: number, vis: Set, envs: Set) { + if (addr === -1) return + vis.add(addr) + const val = this.heap.get_value(addr) + if (val instanceof EnvironmentNode) envs.add(addr) + const children = val.get_children() + for (const child of children) { + if (!vis.has(child)) this.get_all_env(child, vis, envs) + } + } + + /** + * Traverse through environments constructing a tree-like object structure + * @param env Current Env + * @param adj Adjacency List of env addr => children env addrs + * @param cur Context active environment addr + * @returns + */ + dfs_env( + env: number, + adj: Map, + cur: number, + ): EnvironmentInfo { + // Sort the env by allocation time and get their envInfo + const child_envs = (adj.get(env) || []) + .map((child) => { + return [this.env_alloc_map.get(child) || -1, child] + }) + .sort((a, b) => a[0] - b[0]) + .map((x) => x[1]) + .map((child) => this.dfs_env(child, adj, cur)) + const env_node = new EnvironmentNode(this.heap, env) + const var_info = env_node + .get_frame() + .get_children() + .map((val) => { + return { + name: this.identifier_map.get(val), + val: this.heap.get_value(val).toString(), + modified: this.modified_buffer.has(val), + } as VarInfo + }) + return { + addr: env, + name: this.env_name_map.get(env), + vars: var_info, + alloc_time: this.env_alloc_map.get(env), + children: child_envs, + cur: env === cur, + } as EnvironmentInfo + } + + generate_state(pc: number, output: string) { + const contexts = [ + ...this.heap.contexts.list().get_children(), + ...this.heap.blocked_contexts.get_items(), + ].map((x) => new ContextNode(this.heap, x)) + const state: ContextInfo[] = [] + const prevContexts = new Set() + let first = true + for (const context of contexts) { + if (prevContexts.has(context.addr)) continue + prevContexts.add(context.addr) + /** + * Generate OS Info + */ + const OS = context + .OS() + .list() + .get_children() + .map((x) => { + const var_name = this.identifier_map.get(x) + return { + val: + (var_name ? var_name + ': ' : '') + + this.heap.get_value(x).toString(), + addr: x, + } as OSInfo + }) + + /** + * Check if the OS values are newly added + * - Iterate through previous os stack values check if addr differ + */ + if (this.data.length) { + const prev = this.data[this.data.length - 1].contexts + let prev_state = undefined + for (const ctx of prev) { + if (ctx.addr === context.addr) prev_state = ctx + } + if (prev_state) { + let same = true + for (let i = 0; i < OS.length; i++) { + if (i >= prev_state.OS.length) same = false + else if (prev_state.OS[i].addr !== OS[i].addr) same = false + if (!same) OS[i].modified = true + } + } else for (const os of OS) os.modified = true + } else { + for (const os of OS) os.modified = true + } + /** + * Generate Instruction Info + */ + const instrs = [] + const context_pc = first ? pc : context.PC() + first = false + let lo = 0, + hi = this.instructions.length - 1 + if (context_pc < 3) { + lo = 0 + hi = 6 + } else if (context_pc + 3 >= this.instructions.length) { + lo = this.instructions.length - 7 + hi = this.instructions.length - 1 + } else { + lo = context_pc - 3 + hi = context_pc + 3 + } + for (let i = lo; i <= hi; i++) { + instrs.push({ + val: this.instructions[i].toString(), + idx: i, + cur: i === context_pc, + }) + } + /** + * Generate Env Info from a traversal + * - Get environments reachable from context + * - Generate adjacancy list + * - Construct tree-like object tree + */ + const envs = new Set() + const vis = new Set() + this.get_all_env(context.addr, vis, envs) + const adj = new Map() + for (const env of envs) adj.set(env, []) + let global_env = 0 + for (const env of envs) { + const envNode = new EnvironmentNode(this.heap, env) + const par = envNode.get_parent(0) + if (par) adj.get(par.addr)?.push(envNode.addr) + else global_env = env + } + + const env_info = this.dfs_env(global_env, adj, context.E().addr) + state.push({ + OS, + id: this.context_id_map.get(context.addr) || -1, + addr: context.addr, + blocked: context.is_blocked(), + instrs, + envs: env_info, + }) + } + this.data.push({ + contexts: state, + output, + location: this.symbols[pc], + }) + this.modified_buffer.clear() + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/executor/index.ts b/go-virtual-machine-main/src/virtual-machine/executor/index.ts new file mode 100644 index 0000000..f49d23e --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/executor/index.ts @@ -0,0 +1,16 @@ +import { Instruction } from '../compiler/instructions' +import { TokenLocation } from '../parser/tokens' + +import { Process } from './process' + +const execute_instructions = ( + instrs: Instruction[], + heapsize: number, + symbols: (TokenLocation | null)[], + visualisation = false, +) => { + const process = new Process(instrs, heapsize, symbols, visualisation) + return process.start() +} + +export { execute_instructions } diff --git a/go-virtual-machine-main/src/virtual-machine/executor/ops.ts b/go-virtual-machine-main/src/virtual-machine/executor/ops.ts new file mode 100644 index 0000000..4bdf5b8 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/executor/ops.ts @@ -0,0 +1,79 @@ +type AnyToBoolFunc = ( + x: number | string | boolean, + y: number | string | boolean, +) => boolean +type BinaryOpToBoolType = Record + +export const AnyBinaryToBoolOp: BinaryOpToBoolType = { + equal: (x: number | string | boolean, y: number | string | boolean) => + x === y, + not_equal: (x: number | string | boolean, y: number | string | boolean) => + x !== y, +} + +type NumStrToBoolFunc = (x: number | string, y: number | string) => boolean +type NumStrBinaryOpToBoolType = Record + +export const NumStrBinaryToBoolOp: NumStrBinaryOpToBoolType = { + less: (x: number | string, y: number | string) => x < y, + less_or_equal: (x: number | string, y: number | string) => x <= y, + greater: (x: number | string, y: number | string) => x > y, + greater_or_equal: (x: number | string, y: number | string) => x >= y, + ...AnyBinaryToBoolOp, +} + +// ---------------- [ Number Ops] ------------------- + +type NumFunc = (x: number, y: number) => number +type NumBinaryOpType = Record + +export const NumBinaryOp: NumBinaryOpType = { + sum: (x: number, y: number) => x + y, + difference: (x: number, y: number) => x - y, + bitwise_or: (x: number, y: number) => x | y, + bitwise_xor: (x: number, y: number) => x ^ y, + product: (x: number, y: number) => x * y, + quotient: (x: number, y: number) => x / y, + remainder: (x: number, y: number) => x % y, + left_shift: (x: number, y: number) => x << y, + right_shift: (x: number, y: number) => x >> y, + bitwise_and: (x: number, y: number) => x & y, + bit_clear: (x: number, y: number) => x & ~y, +} + +// ---------------- [ Boolean Ops] ------------------- + +type BoolFunc = (x: boolean, y: boolean) => boolean +type BoolBinaryOpType = Record + +export const BoolBinaryOp: BoolBinaryOpType = { + conditional_or: (x: boolean, y: boolean) => x || y, + conditional_and: (x: boolean, y: boolean) => x && y, + ...AnyBinaryToBoolOp, +} + +// ---------------- [ String Ops] ------------------- + +type StrFunc = (x: string, y: string) => string +type StrBinaryOpType = Record + +export const StrBinaryOp: StrBinaryOpType = { + sum: (x: string, y: string) => x + y, +} + +type NumUnaryOpFunc = (x: number) => number +type NumUnaryOpType = Record + +// NOTE: Leaving out "indirection", "address" and "receive" unary op to be implemented as an exception in executor +export const NumUnaryOp: NumUnaryOpType = { + plus: (x: number) => x, + negation: (x: number) => -x, + bitwise_complement: (x: number) => ~x, +} + +type BoolUnaryOpFunc = (x: boolean) => boolean +type BoolUnaryOpType = Record + +export const BoolUnaryOp: BoolUnaryOpType = { + not: (x: boolean) => !x, +} diff --git a/go-virtual-machine-main/src/virtual-machine/executor/process.ts b/go-virtual-machine-main/src/virtual-machine/executor/process.ts new file mode 100644 index 0000000..ee40b74 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/executor/process.ts @@ -0,0 +1,124 @@ +import * as seedrandom from 'seedrandom' + +import { DoneInstruction, Instruction } from '../compiler/instructions' +import { Heap } from '../heap' +import { ContextNode } from '../heap/types/context' +import { EnvironmentNode, FrameNode } from '../heap/types/environment' +import { QueueNode } from '../heap/types/queue' +import { TokenLocation } from '../parser/tokens' + +import { Debugger, StateInfo } from './debugger' + +type ProcessOutput = { + stdout: string + visual_data: StateInfo[] + errorMessage?: string +} + +export class Process { + instructions: Instruction[] + heap: Heap + context: ContextNode + contexts: QueueNode + stdout: string + generator: seedrandom.PRNG + debug_mode: boolean + debugger: Debugger + runtime_count = 0 + constructor( + instructions: Instruction[], + heapsize: number, + symbols: (TokenLocation | null)[], + visualmode = false, + ) { + this.instructions = instructions + this.heap = new Heap(heapsize) + this.contexts = this.heap.contexts + this.context = new ContextNode(this.heap, this.contexts.peek()) + this.stdout = '' + console.log(this.heap.mem_left) + const base_frame = FrameNode.create(0, this.heap) + const base_env = EnvironmentNode.create( + base_frame.addr, + [], + false, + this.heap, + ) + this.context.set_E(base_env.addr) + const randomSeed = Math.random().toString(36).substring(2) + this.generator = seedrandom.default(randomSeed) + + this.debug_mode = visualmode + this.debugger = new Debugger(this.heap, this.instructions, symbols) + if (this.debug_mode) + this.debugger.context_id_map.set( + this.context.addr, + this.debugger.context_id++, + ) + this.heap.debugger = this.debugger + } + + start(): ProcessOutput { + try { + const time_quantum = 30 + this.runtime_count = 0 + let completed = false + const main_context = this.contexts.peek() + while (this.contexts.sz()) { + this.context = new ContextNode(this.heap, this.contexts.peek()) + let cur_time = 0 + while (!DoneInstruction.is(this.instructions[this.context.PC()])) { + if (cur_time >= time_quantum) { + // Context Switch + this.contexts.push(this.context.addr) + break + } + const pc = this.context.PC() + const instr = this.instructions[this.context.incr_PC()] + // console.log('ctx:', this.context.addr) + // console.log('Instr:', instr, this.context.PC() - 1) + instr.execute(this) + // this.context.printOS() + // this.context.printRTS() + // this.context.heap.print_freelist() + this.runtime_count += 1 + cur_time += 1 + if (this.debug_mode) this.debugger.generate_state(pc, this.stdout) + if (this.context.is_blocked()) break + } + if ( + DoneInstruction.is(this.instructions[this.context.PC()]) && + this.context.addr === main_context + ) { + completed = true + break + } + this.contexts.pop() + // console.log('%c SWITCH!', 'background: #F7FF00; color: #FF0000') + if (this.runtime_count > 10 ** 5) throw Error('Time Limit Exceeded!') + // console.log('PC', this.contexts.get_vals()) + } + if (!completed && !this.heap.blocked_contexts.is_empty()) + throw Error('All threads are blocked!') + + return { + stdout: this.stdout, + visual_data: this.debug_mode ? this.debugger.data : [], + } + } catch (err) { + console.warn(err) + let errorMessage: string | undefined = undefined + if (err instanceof Error) errorMessage = 'Execution Error: ' + err.message + + return { + stdout: 'An Error Occurred!', + visual_data: this.debug_mode ? this.debugger.data : [], + errorMessage, + } + } + } + + print(string: string) { + this.stdout += string + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/heap/index.ts b/go-virtual-machine-main/src/virtual-machine/heap/index.ts new file mode 100644 index 0000000..148b02c --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/heap/index.ts @@ -0,0 +1,439 @@ +import { Debugger } from '../executor/debugger' + +import { ArrayNode, SliceNode } from './types/array' +import { ChannelNode, ChannelReqNode, ReqInfoNode } from './types/channel' +import { ContextNode } from './types/context' +import { EnvironmentNode, FrameNode } from './types/environment' +import { FmtPkgNode, PkgNode } from './types/fmt' +import { + CallRefNode, + DeferFuncNode, + DeferMethodNode, + FuncNode, + MethodNode, +} from './types/func' +import { LinkedListEntryNode, LinkedListNode } from './types/linkedlist' +import { + BoolNode, + FloatNode, + IntegerNode, + StringListNode, + StringNode, + UnassignedNode, +} from './types/primitives' +import { QueueListNode, QueueNode } from './types/queue' +import { StackListNode, StackNode } from './types/stack' +import { WaitGroupNode } from './types/waitGroup' +import { Memory } from './memory' + +export enum TAG { + UNKNOWN = 0, + BOOLEAN = 1, + NUMBER = 2, + CONTEXT = 3, + FRAME = 4, + ENVIRONMENT = 5, + FLOAT = 6, + STRING = 7, + STRING_LIST = 8, + STACK = 9, + STACK_LIST = 10, + FUNC = 11, + CALLREF = 12, + ARRAY = 13, + QUEUE = 14, + QUEUE_LIST = 15, + LINKED_LIST = 16, + LINKED_LIST_ENTRY = 17, + CHANNEL = 18, + CHANNEL_REQ = 19, + REQ_INFO = 20, + SLICE = 21, + WAIT_GROUP = 22, + METHOD = 23, + DEFER_FUNC = 24, + DEFER_METHOD = 25, + PKG = 26, + FMT_PKG = 27, +} + +export const word_size = 4 + +export class Heap { + // Assume memory is an array of 8 byte words + memory: Memory + size: number + UNASSIGNED: UnassignedNode + freelist: number[] + max_level: number + temp_roots: StackNode + contexts: QueueNode + blocked_contexts: LinkedListNode + mem_left: number + temp = -1 + debugger: Debugger | undefined + constructor(size: number) { + this.size = size + this.mem_left = size + if (this.size % 2 === 1) this.size -= 1 + if (this.size < 34) throw Error('Insufficient Memory') + this.memory = new Memory(size, word_size) + this.max_level = Math.floor(Math.log2(size)) + 1 + this.freelist = [] + for (let i = 0; i < this.max_level; i++) this.freelist.push(-1) + let cur_addr = 0 + while (cur_addr < size) { + this.set_free(cur_addr, true) + const lvl = Math.floor(Math.log2(size - cur_addr)) + this.add_list(cur_addr, lvl) + cur_addr += 2 ** lvl + } + this.UNASSIGNED = UnassignedNode.create(this) + this.temp_roots = StackNode.create(this) + this.contexts = QueueNode.create(this) + this.blocked_contexts = LinkedListNode.create(this) + const context = ContextNode.create(this) + this.contexts.push(context.addr) + } + + get_value(addr: number) { + const tag = this.get_tag(addr) + switch (tag) { + case TAG.UNKNOWN: + return new UnassignedNode(this, addr) + case TAG.NUMBER: + return new IntegerNode(this, addr) + case TAG.FLOAT: + return new FloatNode(this, addr) + case TAG.STRING: + return new StringNode(this, addr) + case TAG.STRING_LIST: + return new StringListNode(this, addr) + case TAG.BOOLEAN: + return new BoolNode(this, addr) + case TAG.CONTEXT: + return new ContextNode(this, addr) + case TAG.FRAME: + return new FrameNode(this, addr) + case TAG.ENVIRONMENT: + return new EnvironmentNode(this, addr) + case TAG.STACK_LIST: + return new StackListNode(this, addr) + case TAG.STACK: + return new StackNode(this, addr) + case TAG.FUNC: + return new FuncNode(this, addr) + case TAG.CALLREF: + return new CallRefNode(this, addr) + case TAG.ARRAY: + return new ArrayNode(this, addr) + case TAG.SLICE: + return new SliceNode(this, addr) + case TAG.QUEUE: + return new QueueNode(this, addr) + case TAG.QUEUE_LIST: + return new QueueListNode(this, addr) + case TAG.LINKED_LIST: + return new LinkedListNode(this, addr) + case TAG.LINKED_LIST_ENTRY: + return new LinkedListEntryNode(this, addr) + case TAG.CHANNEL: + return new ChannelNode(this, addr) + case TAG.CHANNEL_REQ: + return new ChannelReqNode(this, addr) + case TAG.REQ_INFO: + return new ReqInfoNode(this, addr) + case TAG.WAIT_GROUP: + return new WaitGroupNode(this, addr) + case TAG.METHOD: + return new MethodNode(this, addr) + case TAG.DEFER_FUNC: + return new DeferFuncNode(this, addr) + case TAG.DEFER_METHOD: + return new DeferMethodNode(this, addr) + case TAG.PKG: + return new PkgNode(this, addr) + case TAG.FMT_PKG: + return new FmtPkgNode(this, addr) + default: + // return new UnassignedNode(this, addr) + throw Error('Unknown Data Type') + } + } + + // [********** Linked List Helper Funcs ****************] + + /** + * Doubly Linked List Implementation for LogN Freelists + * A Node is the first node if prev_node = cur_addr + * Similarly a node is the last node if next_node = cur_addr + */ + + print_freelist() { + for (let lvl = 0; lvl < this.freelist.length; lvl++) { + let cur = this.freelist[lvl] + const arr = [] + while (cur !== -1) { + arr.push(cur) + const nex = this.get_next(cur) + if (nex === cur) break + cur = nex + } + console.log('LEVEL', lvl, arr) + } + } + + add_list(addr: number, lvl: number) { + this.set_level(addr, lvl) + this.set_prev(addr, addr) + if (this.freelist[lvl] === -1) { + this.set_next(addr, addr) + } else { + this.set_next(addr, this.freelist[lvl]) + this.set_prev(this.freelist[lvl], addr) + } + this.freelist[lvl] = addr + } + + pop_list(addr: number) { + const lvl = this.get_level(addr) + const prev_addr = this.get_prev(addr) + const next_addr = this.get_next(addr) + if (prev_addr === addr) { + // Is head + this.freelist[lvl] = next_addr === addr ? -1 : next_addr + } else { + this.set_next(prev_addr, next_addr === addr ? prev_addr : next_addr) + } + if (next_addr !== addr) { + this.set_prev(next_addr, prev_addr === addr ? next_addr : prev_addr) + } + this.memory.set_word(0, addr) + } + + get_prev(addr: number) { + return this.memory.get_bits(addr, 29, 6) * 2 + } + + set_prev(addr: number, val: number) { + this.memory.set_bits(val / 2, addr, 29, 6) + } + + get_next(addr: number) { + return this.memory.get_bits(addr + 1, 29, 3) * 2 + } + + set_next(addr: number, val: number) { + this.memory.set_bits(val / 2, addr + 1, 29, 3) + } + + set_level(addr: number, lvl: number) { + this.memory.set_bits(lvl, addr, 5, 1) + } + + get_level(addr: number) { + return this.memory.get_bits(addr, 5, 1) + } + + get_size(addr: number) { + return 2 ** this.get_level(addr) + } + + is_free(addr: number) { + return this.memory.get_bits(addr, 1) === 1 + } + + set_free(addr: number, free: boolean) { + this.memory.set_bits(free ? 1 : 0, addr, 1) + } + + // [********** Buddy Block Allocation + Free-ing ****************] + + allocate(size: number) { + const try_allocate = () => { + const lvl = Math.max(1, this.calc_level(size)) + for (let cur_lvl = lvl; cur_lvl < this.freelist.length; cur_lvl++) { + if (this.freelist[cur_lvl] !== -1) { + const addr = this.freelist[cur_lvl] + this.pop_list(addr) + this.set_free(addr, false) + while (cur_lvl > lvl) { + cur_lvl-- + const sibling = addr + 2 ** cur_lvl + this.set_free(sibling, true) + this.add_list(sibling, cur_lvl) + } + this.set_level(addr, lvl) + return addr + } + } + return -1 + } + + let addr = try_allocate() + if (addr === -1) { + this.mark_and_sweep() + addr = try_allocate() + } + if (addr === -1) throw Error('Ran out of memory!') + size = this.get_size(addr) + this.mem_left -= size + return addr + } + + free(addr: number) { + let lvl = this.get_level(addr) + this.mem_left += 2 ** lvl + while (lvl < this.freelist.length) { + const sibling = addr ^ (1 << lvl) + if ( + sibling >= this.size || + !this.is_free(sibling) || + this.get_level(sibling) !== lvl + ) + break + this.set_free(sibling, false) + this.pop_list(sibling) + addr = Math.min(addr, sibling) + lvl++ + } + this.set_free(addr, true) + this.add_list(addr, lvl) + + this.debugger?.identifier_map.delete(addr) + return addr + (1 << lvl) + } + calc_level(x: number) { + return Math.ceil(Math.log2(x)) + } + + temp_push(addr: number) { + this.temp = addr + this.temp_roots.push(addr) + this.temp = -1 + } + + temp_pop() { + this.temp_roots.pop() + } + + // [********** Garbage Collection: Mark and Sweep ****************] + + is_marked(addr: number) { + return this.memory.get_bits(addr, 1, 6) === 1 + } + + set_mark(addr: number, mark: boolean) { + this.memory.set_bits(mark ? 1 : 0, addr, 1, 6) + } + + get_child(addr: number, index: number) { + return this.memory.get_word(addr + index) + } + + set_child(val: number, addr: number, index: number) { + this.memory.set_word(val, addr + index) + } + + set_end_child(addr: number, index: number) { + this.memory.set_number(-1, addr + index) + } + + set_children(addr: number, children: number[], offset = 1) { + const max_size = this.get_size(addr) + addr + addr += offset + if (children.length + addr > max_size) throw Error('Too many children!') + for (let i = 0; i < children.length; i++) { + this.set_child(children[i], addr, i) + } + if (children.length + addr < max_size) { + this.set_end_child(addr, children.length) + } + } + + get_children(addr: number, offset = 1) { + const max_size = this.get_size(addr) + addr + addr += offset + const children: number[] = [] + let idx = 0 + while (idx + addr < max_size) { + if (this.get_child(addr, idx) === -1) break + children.push(this.get_child(addr, idx)) + idx++ + } + return children + } + + mark(addr: number) { + if (addr === -1) return + if (this.is_marked(addr)) return + this.set_mark(addr, true) + const val = this.get_value(addr) + const children = val.get_children() + for (const child of children) { + this.mark(child) + } + } + + mark_and_sweep() { + console.log('CLEAN') + // console.trace() + const roots: number[] = [ + this.contexts.addr, + this.blocked_contexts.addr, + this.temp_roots.addr, + this.UNASSIGNED.addr, + this.temp, + ] + for (const root of roots) { + this.mark(root) + } + for (let cur_addr = 0; cur_addr < this.size; ) { + if (!this.is_free(cur_addr) && !this.is_marked(cur_addr)) { + cur_addr = this.free(cur_addr) + } else { + if (this.is_marked(cur_addr)) this.set_mark(cur_addr, false) + cur_addr += this.get_size(cur_addr) + } + } + return + } + + copy(dst: number, src: number) { + if (dst === -1) return + const sz = this.get_size(src) + for (let i = 0; i < sz; i++) { + this.memory.set_word(this.memory.get_word(src + i), dst + i) + } + } + + clone(addr: number) { + const sz = 2 ** this.get_level(addr) + const res = this.allocate(sz) + // console.log("clone", res) + this.copy(res, addr) + return res + } + + /** + * [ Word Format ] + * + * Free Node: [1 bit free bit] [5 bits Level data] [29 bits Prev Node] [29 bits Next Node] + * Not-Free Node: [1 bit free bit] [5 bits Level data] [1 bit Mark & Sweep] [1 bit Used] + * [1 Byte Type Tag] [2 Bytes Payload - Depends on type] + * + * Assumptions: + * - Address space is 2^32 bytes or 2^29 words max (Browser Memory Limit is 64 GB) + * - Nodes that store data in their adjacent nodes have no children + * Notes: + * - We can actually store the children in ceiling(children/2) words instead + */ + + set_tag(addr: number, tag: number) { + this.memory.set_bytes(tag, addr, 1, 1) + } + + get_tag(addr: number) { + return this.memory.get_bytes(addr, 1, 1) + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/heap/memory.ts b/go-virtual-machine-main/src/virtual-machine/heap/memory.ts new file mode 100644 index 0000000..410a58e --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/heap/memory.ts @@ -0,0 +1,151 @@ +const bytes_in_int = 4 // Number of bytes in int +const bits_in_byte = 8 // Number of bits in byte +const bits_in_int = bytes_in_int * bits_in_byte + +export class Memory { + array: ArrayBuffer + view: DataView + word_size: number + /** + * Constructor for memory + * @param size Number of bytes in memory + * @param word_size How many bytes in a word + */ + constructor(size: number, word_size = 4) { + if (!Number.isInteger(Math.log(word_size) / Math.log(2))) + throw Error('Word Size must be power of 2') + this.word_size = word_size + this.array = new ArrayBuffer(size * word_size) + this.view = new DataView(this.array) + } + + check_valid(num_bits: number, bit_offset: number) { + if (bit_offset >= bits_in_int || num_bits < 0 || bit_offset < 0) + throw Error('Invalid number of bits') + } + + /** + * @param addr Starting Byte of the Memory + * @param num_bits Number of bits to retrieve + * @param bit_offset Bit offset within the byte ([0 - 31]: Defaults to 0) + * @returns Number which is the value at the requested position + */ + get_bits(addr: number, num_bits: number, bit_offset = 0) { + this.check_valid(num_bits, bit_offset) + let val = 0 + let carry = 1 + while (num_bits > 0) { + const effective_bits = Math.min(num_bits, bits_in_int - bit_offset) + const mask = (2 ** num_bits - 1) * 2 ** bit_offset + val += + Math.floor( + ((mask & this.view.getUint32(addr * 4)) >>> 0) / 2 ** bit_offset, + ) * carry + carry *= 2 ** effective_bits + bit_offset = 0 + num_bits -= effective_bits + addr += 1 + } + return val + } + + /** + * @param val Value to update + * @param addr Starting Word of the Memory + * @param num_bits Number of bits to retrieve + * @param bit_offset Bit offset within the byte ([0 - 31]: Defaults to 0) + */ + set_bits(val: number, addr: number, num_bits: number, bit_offset = 0) { + this.check_valid(num_bits, bit_offset) + while (num_bits > 0) { + const effective_bits = Math.min(num_bits, bits_in_int - bit_offset) + const mask = ~((2 ** effective_bits - 1) * 2 ** bit_offset) + const val_mask = + ((2 ** num_bits - 1) & val % 2 ** effective_bits) * 2 ** bit_offset + const temp_val = (this.view.getUint32(addr * 4) & mask) | val_mask + this.view.setUint32(addr * 4, temp_val) + bit_offset = 0 + val = Math.floor(val / 2 ** effective_bits) + num_bits -= effective_bits + addr += 1 + } + } + + /** + * @param val Value to update + * @param addr Starting Word + * @param num_of_bytes Number of bytes to modify + */ + set_bytes(val: number, addr: number, num_of_bytes: number, bytes_offset = 0) { + this.set_bits( + val, + addr, + bits_in_byte * num_of_bytes, + bytes_offset * bits_in_byte, + ) + } + + /** + * @param addr Starting Word + * @param num_of_bytes Number of bytes to retrieve + */ + get_bytes(addr: number, num_of_bytes: number, bytes_offset = 0) { + return this.get_bits( + addr, + bits_in_byte * num_of_bytes, + bytes_offset * bits_in_byte, + ) + } + + /** + * @param val Value to update + * @param addr Starting word index + */ + set_word(val: number, addr: number) { + this.view.setInt32(addr * 4, val >>> 0) + } + + /** + * @param addr Starting word index + */ + get_word(addr: number) { + return this.view.getInt32(addr * 4) + } + + /** + * Print out Heap + */ + print() { + let heap_str = '' + const idx_max_len = this.view.byteLength / 4 + for (let i = 0; i < this.view.byteLength; i += 4) { + let str = (this.view.getUint32(i) >>> 0).toString(2) + if (str.length < bits_in_byte * bytes_in_int) { + str = '0'.repeat(bits_in_byte * bytes_in_int - str.length) + str + } + let idx_str = (i / 4).toString() + if (idx_str.length < idx_max_len) { + idx_str = ' '.repeat(idx_max_len - idx_str.length) + idx_str + } + + heap_str += idx_str + ': ' + str + '\n' + } + console.log(heap_str) + } + + get_number(addr: number) { + return this.view.getInt32(addr * this.word_size) + } + + set_number(val: number, addr: number) { + return this.view.setInt32(addr * this.word_size, val) + } + + get_float(addr: number) { + return this.view.getFloat32(addr * this.word_size) + } + + set_float(val: number, addr: number) { + return this.view.setFloat32(addr * this.word_size, val) + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/heap/types/array.ts b/go-virtual-machine-main/src/virtual-machine/heap/types/array.ts new file mode 100644 index 0000000..1edd4cd --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/heap/types/array.ts @@ -0,0 +1,141 @@ +import { Heap, TAG } from '..' + +import { BaseNode } from './base' + +/** + * Each ArrayNode occupies (2 + `length`) words. + * Word 0: Array tag. + * Word 1: Length of array. + * Remaining `length` words: Each word is the address of an element. + */ +export class ArrayNode extends BaseNode { + static create(length: number, heap: Heap): ArrayNode { + const addr = heap.allocate(2 + length) + heap.set_tag(addr, TAG.ARRAY) + heap.memory.set_number(length, addr + 1) + for (let i = 0; i < length; i++) heap.memory.set_number(-1, addr + i + 2) + return new ArrayNode(heap, addr) + } + + /** + * `defaultCreator` is a function that allocates a default element on the heap, + * and returns its address. + */ + static default( + length: number, + defaultCreator: (heap: Heap) => number, + heap: Heap, + ) { + const addr = heap.allocate(2 + length) + heap.set_tag(addr, TAG.ARRAY) + heap.memory.set_number(length, addr + 1) + heap.temp_push(addr) + for (let i = 0; i < length; i++) heap.memory.set_number(-1, addr + i + 2) + for (let i = 0; i < length; i++) { + heap.memory.set_word(defaultCreator(heap), addr + 2 + i) + } + heap.temp_pop() + return new ArrayNode(heap, addr) + } + + length(): number { + return this.heap.memory.get_number(this.addr + 1) + } + + capacity(): number { + return this.length() + } + + set_child(index: number, address: number) { + this.heap.memory.set_word(address, this.addr + 2 + index) + } + + get_child(index: number): number { + return this.heap.memory.get_word(this.addr + 2 + index) + } + + override get_children(): number[] { + return [...Array(this.length()).keys()].map((x) => this.get_child(x)) + } + + override toString(): string { + const length = this.length() + const elements = [] + for (let i = 0; i < length; i++) { + elements.push(this.heap.get_value(this.get_child(i)).toString()) + } + return `[${elements.join(' ')}]` + } +} + +/** + * Each SliceNode occupies 4 words. + * Word 0: Slice tag. + * Word 1: Underlying array address. + * Word 2: Start (a number), the starting index in the array. + * Word 3: End (a number), the ending index in the array. + */ +export class SliceNode extends BaseNode { + static create( + array: number, + start: number, + end: number, + heap: Heap, + ): SliceNode { + const addr = heap.allocate(5) + heap.set_tag(addr, TAG.SLICE) + heap.memory.set_word(array, addr + 1) + heap.memory.set_number(start, addr + 2) + heap.memory.set_number(end, addr + 3) + return new SliceNode(heap, addr) + } + + static default(heap: Heap): SliceNode { + return SliceNode.create(0, 0, 0, heap) + } + + array(): number { + return this.heap.memory.get_word(this.addr + 1) + } + + arrayNode(): ArrayNode { + return new ArrayNode(this.heap, this.array()) + } + + start(): number { + return this.heap.memory.get_number(this.addr + 2) + } + + end(): number { + return this.heap.memory.get_number(this.addr + 3) + } + + length(): number { + return this.end() - this.start() + } + + capacity(): number { + return this.arrayNode().length() - this.start() + } + + get_child(index: number): number { + return this.arrayNode().get_child(this.start() + index) + } + + set_child(index: number, address: number) { + this.arrayNode().set_child(this.start() + index, address) + } + + override get_children(): number[] { + return [this.array()] + } + + override toString(): string { + const length = this.length() + const elements = [] + for (let i = 0; i < length; i++) { + elements.push(this.heap.get_value(this.get_child(i)).toString()) + } + return `[${elements.join(' ')}]` + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/heap/types/base.ts b/go-virtual-machine-main/src/virtual-machine/heap/types/base.ts new file mode 100644 index 0000000..8149019 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/heap/types/base.ts @@ -0,0 +1,29 @@ +import { Process } from '../../executor/process' +import { Heap } from '..' + +export abstract class BaseNode { + addr = 0 + heap: Heap + constructor(heap: Heap, addr: number) { + this.heap = heap + this.addr = addr + } + + get_children(): number[] { + return [] + } + + // Calls the select operator on this node. + select(_process: Process, _identifier: string): void { + throw new Error('Unreachable') + } + + // Calls the method of this node, with arguments on the OS. + handleMethodCall( + _process: Process, + _identifier: string, + _argCount: number, + ): void { + throw new Error('Unreachable') + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/heap/types/channel.ts b/go-virtual-machine-main/src/virtual-machine/heap/types/channel.ts new file mode 100644 index 0000000..477531d --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/heap/types/channel.ts @@ -0,0 +1,198 @@ +import { Heap, TAG } from '..' + +import { BaseNode } from './base' +import { ContextNode } from './context' +import { LinkedListEntryNode, LinkedListNode } from './linkedlist' +import { QueueNode } from './queue' + +export class ChannelNode extends BaseNode { + static create(buffer: number, heap: Heap) { + const addr = heap.allocate(5) + heap.set_tag(addr, TAG.CHANNEL) + heap.memory.set_number(buffer, addr + 1) + heap.temp_push(addr) + for (let i = 2; i <= 4; i++) heap.memory.set_number(-1, addr + i) + const buffer_queue = QueueNode.create(heap) + heap.memory.set_word(buffer_queue.addr, addr + 2) + const recv_wait_queue = LinkedListNode.create(heap) + heap.memory.set_number(recv_wait_queue.addr, addr + 3) + const send_wait_queue = LinkedListNode.create(heap) + heap.memory.set_number(send_wait_queue.addr, addr + 4) + heap.temp_pop() + return new ChannelNode(heap, addr) + } + static default(heap: Heap) { + return ChannelNode.create(0, heap) + } + + buffer() { + return new QueueNode(this.heap, this.heap.memory.get_number(this.addr + 2)) + } + + wait_queue(recv: boolean) { + return new LinkedListNode( + this.heap, + this.heap.memory.get_number(this.addr + 3 + (recv ? 0 : 1)), + ) + } + + get_buffer_sz() { + return this.heap.memory.get_number(this.addr + 1) + } + + try(req: ReqInfoNode) { + if (req.is_recv()) { + if (this.buffer().sz()) { + // Buffer have entries + const src = this.buffer().pop() + this.heap.copy(req.io(), src) + if (!this.wait_queue(false).is_empty()) { + // If wait queue contain send reqs should unblock since there is space + const send_req = new ReqInfoNode( + this.heap, + this.wait_queue(false).pop_front(), + ) + this.buffer().push(send_req.io()) + send_req.unblock() + } + return true + } + if (!this.wait_queue(false).is_empty()) { + // Case where buffer size is 0 and send reqs in wait queue + const send_req = new ReqInfoNode( + this.heap, + this.wait_queue(false).pop_front(), + ) + this.heap.copy(req.io(), send_req.io()) + send_req.unblock() + return true + } + } else { + if (!this.wait_queue(true).is_empty()) { + // Exist matching recv request (Note assumes wait queue contains no recv req) + const recv_req = new ReqInfoNode( + this.heap, + this.wait_queue(true).pop_front(), + ) + this.heap.copy(recv_req.io(), req.io()) + recv_req.unblock() + return true + } + if (this.buffer().sz() < this.get_buffer_sz()) { + this.buffer().push(req.io()) + return true + } + } + return false + } + wait(req: ReqInfoNode) { + return this.wait_queue(req.is_recv()).push_back(req.addr) + } + + override get_children(): number[] { + return [ + this.buffer().addr, + this.wait_queue(true).addr, + this.wait_queue(false).addr, + ] + } + + override toString(): string { + return 'CHANNEL ' + this.addr.toString() + } +} + +export class ReqInfoNode extends BaseNode { + static create( + io_addr: number, + context: number, + pc: number, + recv: boolean, + heap: Heap, + ) { + const addr = heap.allocate(4) + heap.set_tag(addr, TAG.REQ_INFO) + heap.memory.set_bits(recv ? 1 : 0, addr, 1, 16) + heap.memory.set_number(io_addr, addr + 1) + heap.memory.set_number(context, addr + 2) + heap.memory.set_number(pc, addr + 3) + return new ReqInfoNode(heap, addr) + } + + is_recv() { + return this.heap.memory.get_bits(this.addr, 1, 16) === 1 + } + + io() { + return this.heap.memory.get_number(this.addr + 1) + } + + PC() { + return this.heap.memory.get_number(this.addr + 3) + } + + context() { + return new ContextNode( + this.heap, + this.heap.memory.get_number(this.addr + 2), + ) + } + + unblock() { + const context = this.context() + context.set_PC(this.PC()) + if (this.is_recv()) context.pushOS(this.io()) + const wait_nodes = context.waitlist().get_children() + for (const wait_node of wait_nodes) { + const node = new LinkedListEntryNode(this.heap, wait_node) + node.del() + } + context.set_blocked(false) + this.heap.contexts.push(context.addr) + } + + override get_children(): number[] { + return [this.context().addr, this.io()] + } + + override toString(): string { + return ( + 'CHAN ' + + (this.is_recv() ? 'RECV' : 'SEND') + + '\n' + + this.heap.get_value(this.io()).toString() + ) + } +} + +export class ChannelReqNode extends BaseNode { + static create(channel: number, req: number, heap: Heap) { + const addr = heap.allocate(3) + heap.set_tag(addr, TAG.CHANNEL_REQ) + heap.memory.set_number(channel, addr + 1) + heap.memory.set_number(req, addr + 2) + return new ChannelReqNode(heap, addr) + } + + channel() { + return new ChannelNode( + this.heap, + this.heap.memory.get_number(this.addr + 1), + ) + } + + req() { + return new ReqInfoNode( + this.heap, + this.heap.memory.get_number(this.addr + 2), + ) + } + + override get_children(): number[] { + return [this.channel().addr, this.req().addr] + } + + override toString() { + return this.channel().toString() + '\n' + this.req().toString() + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/heap/types/context.ts b/go-virtual-machine-main/src/virtual-machine/heap/types/context.ts new file mode 100644 index 0000000..70e00ff --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/heap/types/context.ts @@ -0,0 +1,176 @@ +import { Heap, TAG } from '..' + +import { ArrayNode } from './array' +import { BaseNode } from './base' +import { EnvironmentNode } from './environment' +import { CallRefNode } from './func' +import { PrimitiveNode } from './primitives' +import { StackNode } from './stack' + +export class ContextNode extends BaseNode { + // [metadata | blocked?] [PC] [OS] [RTS] [WaitLists] [DeferStack] + static create(heap: Heap) { + const addr = heap.allocate(6) + heap.set_tag(addr, TAG.CONTEXT) + heap.memory.set_number(0, addr + 1) + heap.temp_push(addr) + for (let i = 2; i <= 5; i++) heap.memory.set_number(-1, addr + i) + heap.memory.set_word(StackNode.create(heap).addr, addr + 2) + heap.memory.set_word(StackNode.create(heap).addr, addr + 3) + heap.memory.set_word(StackNode.create(heap).addr, addr + 5) + heap.temp_pop() + return new ContextNode(heap, addr) + } + + is_blocked() { + return this.heap.memory.get_bits(this.addr, 1, 16) === 1 + } + + set_blocked(val: boolean) { + this.heap.memory.set_bits(val ? 1 : 0, this.addr, 1, 16) + } + + set_PC(PC: number) { + this.heap.memory.set_number(PC, this.addr + 1) + } + + PC() { + return this.heap.memory.get_number(this.addr + 1) + } + + OS() { + return new StackNode(this.heap, this.heap.memory.get_word(this.addr + 2)) + } + + E(): EnvironmentNode { + return this.heap.get_value(this.RTS().peek()) as EnvironmentNode + } + + set_E(addr: number) { + this.pushRTS(addr) + } + + RTS() { + return new StackNode(this.heap, this.heap.memory.get_word(this.addr + 3)) + } + + incr_PC() { + const pc = this.PC() + this.set_PC(pc + 1) + return pc + } + + pushOS(addr: number) { + this.heap.temp_push(addr) + this.OS().push(addr) + this.heap.temp_pop() + } + + peekOS() { + return this.OS().peek() + } + + /** + * @param val 0-indexed from the back + * @returns + */ + peekOSIdx(val: number) { + const sz = this.OS().sz() + return this.OS().get_idx(sz - val - 1) + } + + popOS() { + return this.OS().pop() + } + + /** Pops the OS and constructs a node with its address. */ + popOSNode(nodeType: new (heap: Heap, addr: number) => T) { + return new nodeType(this.heap, this.OS().pop()) + } + + printOS() { + console.log('OS:') + for (let i = 0; i < this.OS().sz(); i++) { + const val = this.heap.get_value(this.OS().get_idx(i)) as PrimitiveNode + console.log(val) + // console.log(val.get_value()) + } + } + + pushRTS(addr: number) { + this.heap.temp_push(addr) + this.RTS().push(addr) + this.heap.temp_pop() + } + + popRTS(): number { + const old_E = this.RTS().pop() + return old_E + } + + peekRTS(): EnvironmentNode | CallRefNode { + return this.heap.get_value(this.RTS().peek()) as + | EnvironmentNode + | CallRefNode + } + + printRTS() { + console.log('RTS:') + for (let i = 0; i < this.RTS().sz(); i++) { + const addr = this.RTS().get_idx(i) + const val = addr === -1 ? -1 : this.heap.get_value(addr) + // console.log(val) + let for_block = false + if (val instanceof EnvironmentNode && val.if_for_block()) for_block = true + console.log( + val, + val === -1 ? -1 : val.get_children().slice(1), + for_block ? 'for block' : '', + ) + } + } + + fork() { + const newContext = ContextNode.create(this.heap) + newContext.set_PC(this.PC()) + newContext.set_E(this.E().addr) + return newContext + } + + set_waitlist(addr: number) { + this.heap.memory.set_number(addr, this.addr + 4) + } + + waitlist() { + return new ArrayNode(this.heap, this.heap.memory.get_number(this.addr + 4)) + } + + deferStack(): StackNode { + return new StackNode(this.heap, this.heap.memory.get_number(this.addr + 5)) + } + + pushDeferStack(): void { + const stack = StackNode.create(this.heap) + this.heap.temp_push(stack.addr) + this.deferStack().push(stack.addr) + this.heap.temp_pop() + } + + peekDeferStack(): StackNode { + return new StackNode(this.heap, this.deferStack().peek()) + } + + popDeferStack(): StackNode { + return new StackNode(this.heap, this.deferStack().pop()) + } + + override get_children(): number[] { + const children = [ + this.RTS().addr, + this.OS().addr, + this.waitlist().addr, + this.deferStack().addr, + ] + return children + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/heap/types/environment.ts b/go-virtual-machine-main/src/virtual-machine/heap/types/environment.ts new file mode 100644 index 0000000..634546b --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/heap/types/environment.ts @@ -0,0 +1,92 @@ +import { Heap, TAG } from '..' + +import { BaseNode } from './base' + +export class FrameNode extends BaseNode { + static create(frame_size: number, heap: Heap) { + const addr = heap.allocate(frame_size + 1) + + heap.set_tag(addr, TAG.FRAME) + heap.set_children(addr, Array(frame_size).fill(heap.UNASSIGNED), 1) + return new FrameNode(heap, addr) + } + + set_idx(addr: number, index: number) { + this.heap.set_child(addr, this.addr + 1, index) + } + + get_idx(index: number) { + return this.heap.get_child(this.addr + 1, index) + } + + override get_children(): number[] { + return this.heap.get_children(this.addr, 1) + } +} + +export class EnvironmentNode extends BaseNode { + // [metadata] [frame] [...parents] + // Note parents is terminated by -1 in the heap or by end of node block capacity + static create( + frame: number, + parents: number[], + for_block: boolean, + heap: Heap, + ) { + const addr = heap.allocate(parents.length + 2) + heap.set_tag(addr, TAG.ENVIRONMENT) + heap.memory.set_bits(for_block ? 1 : 0, addr, 1, 16) + heap.memory.set_word(frame, addr + 1) + heap.set_children(addr, parents, 2) + return new EnvironmentNode(heap, addr) + } + + extend_env(frame: number, for_block = false) { + const parents = [this.addr] + let cur_par = new EnvironmentNode(this.heap, this.addr) + let new_par = cur_par.get_parent(parents.length - 1) + while (new_par) { + parents.push(new_par.addr) + cur_par = new_par + new_par = cur_par.get_parent(parents.length - 1) + } + return EnvironmentNode.create(frame, parents, for_block, this.heap) + } + + get_frame() { + return new FrameNode(this.heap, this.heap.memory.get_word(this.addr + 1)) + } + + get_frame_idx(idx: number): FrameNode { + if (idx === 0) return this.get_frame() + const lvl = Math.floor(Math.log2(idx)) + const par = this.get_parent(lvl) + if (!par) throw Error('Execution Error: Invalid frame index') + return par.get_frame_idx(idx - 2 ** lvl) + } + + get_parent(idx: number) { + if ( + idx + 2 >= this.heap.get_size(this.addr) || + this.heap.memory.get_number(this.addr + idx + 2) === -1 + ) + return undefined + else + return new EnvironmentNode( + this.heap, + this.heap.memory.get_number(this.addr + idx + 2), + ) + } + + get_var(frame_idx: number, var_idx: number) { + return this.get_frame_idx(frame_idx).get_idx(var_idx) + } + + if_for_block() { + return this.heap.memory.get_bits(this.addr, 1, 16) === 1 + } + + override get_children(): number[] { + return [this.get_frame().addr, ...this.heap.get_children(this.addr, 2)] + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/heap/types/fmt.ts b/go-virtual-machine-main/src/virtual-machine/heap/types/fmt.ts new file mode 100644 index 0000000..03705d3 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/heap/types/fmt.ts @@ -0,0 +1,77 @@ +import { Process } from '../../executor/process' +import { Heap, TAG } from '..' + +import { BaseNode } from './base' +import { MethodNode } from './func' + +/** + * This node represents an uninitialized package. It only occupies one word, its tag. + */ +export class PkgNode extends BaseNode { + static create(heap: Heap): PkgNode { + const addr = heap.allocate(1) + heap.set_tag(addr, TAG.PKG) + return new PkgNode(heap, addr) + } + + static default(heap: Heap): PkgNode { + return PkgNode.create(heap) + } + + override toString(): string { + return 'PKG' + } +} + +/** + * This node represents the `fmt` package. It only occupies one word, its tag. + */ +export class FmtPkgNode extends BaseNode { + static create(heap: Heap): FmtPkgNode { + const addr = heap.allocate(1) + heap.set_tag(addr, TAG.FMT_PKG) + return new FmtPkgNode(heap, addr) + } + + static default(heap: Heap): FmtPkgNode { + return FmtPkgNode.create(heap) + } + + override select(process: Process, identifier: string): void { + process.context.pushOS( + MethodNode.create(this.addr, identifier, this.heap).addr, + ) + } + + /** Arguments to builtin methods should be on the OS. Remember to pop the receiver from OS. */ + override handleMethodCall( + process: Process, + identifier: string, + argCount: number, + ) { + if (identifier === 'Println') { + this.handlePrintln(process, argCount) + } + } + + handlePrintln(process: Process, argCount: number): void { + const argAddresses = [] + for (let i = 0; i < argCount; i++) { + argAddresses.push(process.context.popOS()) + } + for (let i = argCount - 1; i >= 0; i--) { + const string = process.heap.get_value(argAddresses[i]).toString() + process.print(string) + process.print(i > 0 ? ' ' : '\n') + } + process.context.popOS() + } + + override get_children(): number[] { + return [] + } + + override toString(): string { + return 'FMT PACKAGE' + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/heap/types/func.ts b/go-virtual-machine-main/src/virtual-machine/heap/types/func.ts new file mode 100644 index 0000000..d084396 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/heap/types/func.ts @@ -0,0 +1,195 @@ +import { Process } from '../../executor/process' +import { Heap, TAG } from '..' + +import { BaseNode } from './base' +import { StringNode } from './primitives' +import { StackNode } from './stack' + +export class FuncNode extends BaseNode { + static create(PC: number, env: number, heap: Heap) { + const addr = heap.allocate(3) + + heap.set_tag(addr, TAG.FUNC) + heap.memory.set_word(PC, addr + 1) + heap.memory.set_word(env, addr + 2) + return new FuncNode(heap, addr) + } + + static default(heap: Heap) { + return FuncNode.create(-1, -1, heap) + } + + PC() { + return this.heap.memory.get_word(this.addr + 1) + } + + E() { + return this.heap.memory.get_word(this.addr + 2) + } + + override get_children(): number[] { + return [this.E()] + } + + override toString(): string { + return 'CLOSURE' + } +} + +export class CallRefNode extends BaseNode { + static create(PC: number, heap: Heap) { + const addr = heap.allocate(2) + + heap.set_tag(addr, TAG.CALLREF) + heap.memory.set_word(PC, addr + 1) + return new CallRefNode(heap, addr) + } + PC() { + return this.heap.memory.get_word(this.addr + 1) + } +} + +/** + * Represents a hardcoded method. + * Word 0 - MethodNode tag. + * Word 1 - Receiver address. + * Word 2 - String literal address, representing the method name. + * */ +export class MethodNode extends BaseNode { + static create(receiver: number, identifier: string, heap: Heap): MethodNode { + const addr = heap.allocate(3) + heap.set_tag(addr, TAG.METHOD) + heap.temp_push(addr) + heap.memory.set_number(-1, addr + 2) + heap.memory.set_word(receiver, addr + 1) + heap.memory.set_word(StringNode.create(identifier, heap).addr, addr + 2) + heap.temp_pop() + return new MethodNode(heap, addr) + } + + receiverAddr(): number { + return this.heap.memory.get_word(this.addr + 1) + } + + receiver(): BaseNode { + return this.heap.get_value(this.receiverAddr()) + } + + identifierAddr(): number { + return this.heap.memory.get_word(this.addr + 2) + } + + identifier(): string { + return new StringNode(this.heap, this.identifierAddr()).get_value() + } + + override get_children(): number[] { + return [this.receiverAddr(), this.identifierAddr()] + } + + override toString(): string { + return this.identifier() + } +} + +/** + * Stores the function literal and arguments of a deferred function call. + * Word 0: DeferFuncNode tag. + * Word 1: Function literal address. + * Word 2: Address of a stack containing all the arguments (first argument at the top). + */ +export class DeferFuncNode extends BaseNode { + static create(argCount: number, process: Process): DeferFuncNode { + const addr = process.heap.allocate(3) + process.heap.temp_push(addr) + process.heap.set_tag(addr, TAG.DEFER_FUNC) + process.heap.memory.set_word(-1, addr + 2) + + const stack = StackNode.create(process.heap) + process.heap.memory.set_word(stack.addr, addr + 2) + for (let i = 0; i < argCount; i++) stack.push(process.context.popOS()) + + process.heap.memory.set_word(process.context.popOS(), addr + 1) + + process.heap.temp_pop() + return new DeferFuncNode(process.heap, addr) + } + + funcAddr(): number { + return this.heap.memory.get_word(this.addr + 1) + } + + func(): FuncNode { + return new FuncNode(this.heap, this.funcAddr()) + } + + argCount(): number { + return this.heap.memory.get_number(this.addr + 2) + } + + stackAddr(): number { + return this.heap.memory.get_word(this.addr + 3) + } + + stack(): StackNode { + return new StackNode(this.heap, this.stackAddr()) + } + + override get_children(): number[] { + return [this.funcAddr(), this.stackAddr()] + } + + override toString(): string { + return 'DEFER ' + this.func().toString() + } +} + +/** + * Stores the MethodNode and arguments of a deferred method call. + * Word 0: DeferMethodNode tag. + * Word 1: MethodNode address. + * Word 2: Address of a stack containing all the arguments (first argument at the top). + */ +export class DeferMethodNode extends BaseNode { + static create(argCount: number, process: Process): DeferMethodNode { + const addr = process.heap.allocate(3) + process.heap.set_tag(addr, TAG.DEFER_METHOD) + process.heap.temp_push(addr) + process.heap.memory.set_word(-1, addr + 1) + process.heap.memory.set_word(-1, addr + 2) + + const stack = StackNode.create(process.heap) + process.heap.memory.set_word(stack.addr, addr + 2) + for (let i = 0; i < argCount; i++) stack.push(process.context.popOS()) + + const methodNode = process.context.popOS() + process.heap.memory.set_word(methodNode, addr + 1) + + process.heap.temp_pop() + return new DeferMethodNode(process.heap, addr) + } + + methodAddr(): number { + return this.heap.memory.get_word(this.addr + 1) + } + + methodNode(): MethodNode { + return this.heap.get_value(this.methodAddr()) as MethodNode + } + + stackAddr(): number { + return this.heap.memory.get_word(this.addr + 2) + } + + stack(): StackNode { + return this.heap.get_value(this.stackAddr()) as StackNode + } + + override get_children(): number[] { + return [this.methodAddr(), this.stackAddr()] + } + + override toString(): string { + return 'DEFER ' + this.methodNode().toString() + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/heap/types/linkedlist.ts b/go-virtual-machine-main/src/virtual-machine/heap/types/linkedlist.ts new file mode 100644 index 0000000..82eb333 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/heap/types/linkedlist.ts @@ -0,0 +1,146 @@ +import { Heap, TAG } from '..' + +import { BaseNode } from './base' + +export class LinkedListNode extends BaseNode { + static create(heap: Heap) { + const addr = heap.allocate(3) + heap.set_tag(addr, TAG.LINKED_LIST) + heap.temp_push(addr) + for (let i = 1; i <= 2; i++) heap.memory.set_number(-1, addr + i) + const head = LinkedListEntryNode.create(-1, heap) + heap.memory.set_number(head.addr, addr + 1) + const tail = LinkedListEntryNode.create(-1, heap) + heap.memory.set_number(tail.addr, addr + 2) + heap.temp_pop() + head.set_next(tail.addr) + tail.set_prev(head.addr) + return new LinkedListNode(heap, addr) + } + + head() { + return new LinkedListEntryNode( + this.heap, + this.heap.memory.get_number(this.addr + 1), + ) + } + tail() { + return new LinkedListEntryNode( + this.heap, + this.heap.memory.get_number(this.addr + 2), + ) + } + + is_empty() { + return this.head().next().addr === this.tail().addr + } + + push_back(addr: number) { + const newNode = LinkedListEntryNode.create(addr, this.heap) + const tail = this.tail() + const pre = tail.prev() + pre.set_next(newNode.addr) + tail.set_prev(newNode.addr) + newNode.set_next(tail.addr) + newNode.set_prev(pre.addr) + return newNode.addr + } + + push_front(addr: number) { + const newNode = LinkedListEntryNode.create(addr, this.heap) + const head = this.head() + const nex = head.next() + head.set_next(newNode.addr) + nex.set_prev(newNode.addr) + newNode.set_next(nex.addr) + newNode.set_prev(head.addr) + return newNode.addr + } + + pop_front() { + if (this.is_empty()) throw Error('Linkedlist Empty') + const node = this.tail().prev() + node.del() + return node.get_val() + } + + pop_back() { + if (this.is_empty()) throw Error('Linkedlist Empty') + const node = this.head().next() + node.del() + return node.get_val() + } + + override get_children(): number[] { + return [this.head().addr, this.tail().addr] + } + + get_items() { + const vals = [] + let cur = this.head().next() + while (cur.addr !== this.tail().addr) { + vals.push(cur.get_val()) + cur = cur.next() + } + return vals + } + + print() { + this.head().next().print() + } +} + +export class LinkedListEntryNode extends BaseNode { + static create(val: number, heap: Heap) { + const addr = heap.allocate(4) + heap.set_tag(addr, TAG.LINKED_LIST_ENTRY) + heap.memory.set_number(addr, addr + 1) + heap.memory.set_number(addr, addr + 2) + heap.memory.set_number(val, addr + 3) + return new LinkedListEntryNode(heap, addr) + } + + set_prev(val: number) { + this.heap.memory.set_number(val, this.addr + 1) + } + + prev() { + return new LinkedListEntryNode( + this.heap, + this.heap.memory.get_number(this.addr + 1), + ) + } + + set_next(val: number) { + this.heap.memory.set_number(val, this.addr + 2) + } + + next() { + return new LinkedListEntryNode( + this.heap, + this.heap.memory.get_number(this.addr + 2), + ) + } + + get_val() { + return this.heap.memory.get_number(this.addr + 3) + } + + del() { + const pre = this.prev() + const nex = this.next() + pre.set_next(nex.addr) + nex.set_prev(pre.addr) + } + + override get_children(): number[] { + return [this.prev().addr, this.next().addr, this.get_val()] + } + + print() { + if (this.get_val() === -1) return + const val = this.heap.get_value(this.get_val()) + console.log(val) + this.next().print() + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/heap/types/primitives.ts b/go-virtual-machine-main/src/virtual-machine/heap/types/primitives.ts new file mode 100644 index 0000000..a717368 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/heap/types/primitives.ts @@ -0,0 +1,213 @@ +import { + BoolBinaryOp, + BoolUnaryOp, + NumBinaryOp, + NumStrBinaryToBoolOp, + NumUnaryOp, + StrBinaryOp, +} from '../../executor/ops' +import { Heap, TAG, word_size } from '..' + +import { BaseNode } from './base' + +export abstract class PrimitiveNode extends BaseNode { + abstract apply_binop(operand: PrimitiveNode, operator: string): PrimitiveNode + abstract apply_unary(operator: string): PrimitiveNode + abstract get_value(): number | boolean | string + + override toString(): string { + return this.get_value().toString() + } +} + +export class IntegerNode extends PrimitiveNode { + static create(num: number, heap: Heap) { + const addr = heap.allocate(2) + heap.set_tag(addr, TAG.NUMBER) + heap.memory.set_number(num, addr + 1) + return new IntegerNode(heap, addr) + } + static default(heap: Heap) { + return IntegerNode.create(0, heap) + } + + get_value() { + return this.heap.memory.get_number(this.addr + 1) + } + + override apply_binop(operand: IntegerNode, operator: string): PrimitiveNode { + if (NumBinaryOp[operator]) { + return IntegerNode.create( + NumBinaryOp[operator](this.get_value(), operand.get_value()), + this.heap, + ) + } + if (NumStrBinaryToBoolOp[operator]) { + return BoolNode.create( + NumStrBinaryToBoolOp[operator](this.get_value(), operand.get_value()), + this.heap, + ) + } + throw Error('Invalid Operation') + } + + override apply_unary(operator: string): PrimitiveNode { + if (NumUnaryOp[operator]) { + return IntegerNode.create( + NumUnaryOp[operator](this.get_value()), + this.heap, + ) + } + throw Error('Invalid Operation') + } +} + +export class FloatNode extends PrimitiveNode { + static create(num: number, heap: Heap) { + const addr = heap.allocate(2) + heap.set_tag(addr, TAG.FLOAT) + heap.memory.set_float(num, addr + 1) + return new FloatNode(heap, addr) + } + static default(heap: Heap) { + return FloatNode.create(0.0, heap) + } + + get_value() { + return this.heap.memory.get_float(this.addr + 1) + } + + override apply_binop(operand: FloatNode, operator: string): PrimitiveNode { + if (NumBinaryOp[operator]) { + return FloatNode.create( + NumBinaryOp[operator](this.get_value(), operand.get_value()), + this.heap, + ) + } + if (NumStrBinaryToBoolOp[operator]) { + return BoolNode.create( + NumStrBinaryToBoolOp[operator](this.get_value(), operand.get_value()), + this.heap, + ) + } + throw Error('Invalid Operation') + } + override apply_unary(operator: string): PrimitiveNode { + if (NumUnaryOp[operator]) { + return FloatNode.create(NumUnaryOp[operator](this.get_value()), this.heap) + } + throw Error('Invalid Operation') + } +} + +export class BoolNode extends PrimitiveNode { + static create(val: boolean, heap: Heap) { + const addr = heap.allocate(1) + heap.set_tag(addr, TAG.BOOLEAN) + heap.memory.set_bits(val ? 1 : 0, addr, 1, 16) + return new BoolNode(heap, addr) + } + static default(heap: Heap) { + return BoolNode.create(false, heap) + } + + get_value() { + return this.heap.memory.get_bits(this.addr, 1, 16) === 1 + } + override apply_binop(operand: BoolNode, operator: string): PrimitiveNode { + if (BoolBinaryOp[operator]) { + return BoolNode.create( + BoolBinaryOp[operator](this.get_value(), operand.get_value()), + this.heap, + ) + } + throw Error('Invalid Operation') + } + override apply_unary(operator: string): PrimitiveNode { + if (BoolUnaryOp[operator]) { + return BoolNode.create(BoolUnaryOp[operator](this.get_value()), this.heap) + } + throw Error('Invalid Operation') + } +} + +export class StringNode extends PrimitiveNode { + static create(str: string, heap: Heap) { + const addr = heap.allocate(2) + heap.set_tag(addr, TAG.STRING) + heap.temp_push(addr) + heap.memory.set_number(-1, addr + 1) + const list_addr = heap.allocate(Math.ceil((str.length + 1) / word_size) + 1) + heap.set_tag(list_addr, TAG.STRING_LIST) + heap.memory.set_word(list_addr, addr + 1) + heap.temp_pop() + for (let i = 0; i <= str.length; i++) { + let val = 0 + if (i < str.length) val = str.charCodeAt(i) + heap.memory.set_bytes( + val, + Math.floor(i / word_size) + list_addr + 1, + 1, + i % word_size, + ) + } + return new StringNode(heap, addr) + } + + static default(heap: Heap) { + return StringNode.create('', heap) + } + + get_list() { + return this.heap.memory.get_word(this.addr + 1) + } + + get_value() { + let res = '' + let idx = 0 + const max_sz = (this.heap.get_size(this.get_list()) - 1) * word_size + while (idx < max_sz) { + const val = this.heap.memory.get_bytes( + Math.floor(idx / word_size) + this.get_list() + 1, + 1, + idx % word_size, + ) + if (val === 0) break + res += String.fromCharCode(val) + idx++ + } + return res + } + + override get_children(): number[] { + return [this.get_list()] + } + + override apply_binop(operand: StringNode, operator: string): PrimitiveNode { + if (StrBinaryOp[operator]) { + return StringNode.create( + StrBinaryOp[operator](this.get_value(), operand.get_value()), + this.heap, + ) + } + if (NumStrBinaryToBoolOp[operator]) { + return BoolNode.create( + NumStrBinaryToBoolOp[operator](this.get_value(), operand.get_value()), + this.heap, + ) + } + throw Error('Invalid Operation') + } + override apply_unary(_operator: string): PrimitiveNode { + throw Error('Invalid Opeartion') + } +} +export class StringListNode extends BaseNode {} + +export class UnassignedNode extends BaseNode { + static create(heap: Heap) { + const addr = heap.allocate(1) + heap.set_tag(addr, TAG.UNKNOWN) + return new UnassignedNode(heap, addr) + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/heap/types/queue.ts b/go-virtual-machine-main/src/virtual-machine/heap/types/queue.ts new file mode 100644 index 0000000..e24bf3b --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/heap/types/queue.ts @@ -0,0 +1,146 @@ +import { Heap, TAG } from '..' + +import { BaseNode } from './base' + +export class QueueNode extends BaseNode { + static create(heap: Heap) { + const addr = heap.allocate(2) + heap.set_tag(addr, TAG.QUEUE) + heap.temp_push(addr) + heap.memory.set_number(-1, addr + 1) + const list = QueueListNode.create(heap) + heap.temp_pop() + heap.memory.set_word(list.addr, addr + 1) + return new QueueNode(heap, addr) + } + + list() { + return new QueueListNode( + this.heap, + this.heap.memory.get_word(this.addr + 1), + ) + } + + push(addr: number) { + const list = this.list() + list.push(addr) + this.heap.memory.set_word(list.addr, this.addr + 1) + } + pop() { + const list = this.list() + const res = list.pop() + this.heap.memory.set_word(list.addr, this.addr + 1) + return res + } + peek() { + return this.list().peek() + } + + sz() { + return this.list().get_sz() + } + + get_vals() { + return this.list().get_children() + } + + override get_children(): number[] { + return [this.heap.memory.get_word(this.addr + 1)] + } +} + +export class QueueListNode extends BaseNode { + static init_sz = 8 + static create(heap: Heap) { + const addr = heap.allocate(this.init_sz) + heap.set_tag(addr, TAG.QUEUE_LIST) + heap.memory.set_number(0, addr + 1) + heap.memory.set_number(0, addr + 2) + heap.memory.set_number(0, addr + 3) + return new QueueListNode(heap, addr) + } + + resize(new_size: number) { + const new_pos = this.heap.allocate(new_size) + this.heap.set_tag(new_pos, TAG.QUEUE_LIST) + const newQueueList = new QueueListNode(this.heap, new_pos) + newQueueList.set_sz(this.get_sz()) + newQueueList.set_start(0) + newQueueList.set_end(this.get_sz()) + const start = this.get_start() + const cap = this.get_cap() + for (let x = 0; x < this.get_sz(); x++) { + newQueueList.set_idx(this.get_idx((start + x) % cap), x) + } + this.addr = new_pos + } + + get_cap() { + return this.heap.get_size(this.addr) - 4 + } + + get_sz() { + return this.heap.memory.get_number(this.addr + 1) + } + + set_sz(val: number) { + this.heap.memory.set_number(val, this.addr + 1) + } + + get_start() { + return this.heap.memory.get_number(this.addr + 2) + } + + set_start(val: number) { + this.heap.memory.set_number(val, this.addr + 2) + } + + get_end() { + return this.heap.memory.get_number(this.addr + 3) + } + + set_end(val: number) { + this.heap.memory.set_number(val, this.addr + 3) + } + + push(addr: number) { + const sz = this.get_sz() + const node_sz = this.heap.get_size(this.addr) + if (sz + 5 > node_sz) this.resize(node_sz * 2) + this.set_idx(addr, this.get_end()) + this.set_end((this.get_end() + 1) % this.get_cap()) + this.set_sz(sz + 1) + } + + pop() { + const sz = this.get_sz() + if (sz === 0) throw Error('List Empty!') + const node_sz = this.heap.get_size(this.addr) + const val = this.get_idx(this.get_start()) + this.set_start((this.get_start() + 1) % this.get_cap()) + this.set_sz(sz - 1) + if (4 * (sz + 3) < node_sz) this.resize(node_sz / 2) + return val + } + + peek() { + const sz = this.get_sz() + if (sz === 0) throw Error('Queue List is Empty!') + return this.get_idx(this.get_start()) + } + + get_idx(index: number) { + return this.heap.memory.get_word(this.addr + 4 + index) + } + + set_idx(val: number, index: number) { + return this.heap.memory.set_word(val, this.addr + 4 + index) + } + + override get_children(): number[] { + const sz = this.get_sz() + const start = this.get_start() + const cap = this.get_cap() + return [...Array(sz).keys()].map((x) => this.get_idx((start + x) % cap)) + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/heap/types/stack.ts b/go-virtual-machine-main/src/virtual-machine/heap/types/stack.ts new file mode 100644 index 0000000..62218c8 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/heap/types/stack.ts @@ -0,0 +1,114 @@ +import { Heap, TAG } from '..' + +import { BaseNode } from './base' + +export class StackNode extends BaseNode { + static create(heap: Heap) { + const addr = heap.allocate(2) + heap.set_tag(addr, TAG.STACK) + if (heap.temp_roots) heap.temp_push(addr) + heap.memory.set_number(-1, addr + 1) + const list = StackListNode.create(heap) + if (heap.temp_roots) heap.temp_pop() + heap.memory.set_word(list.addr, addr + 1) + return new StackNode(heap, addr) + } + + list() { + return new StackListNode( + this.heap, + this.heap.memory.get_word(this.addr + 1), + ) + } + + push(addr: number) { + const list = this.list() + list.push(addr) + this.heap.memory.set_word(list.addr, this.addr + 1) + } + pop() { + const list = this.list() + const res = list.pop() + this.heap.memory.set_word(list.addr, this.addr + 1) + return res + } + peek() { + return this.list().peek() + } + get_idx(idx: number) { + return this.list().get_idx(idx) + } + sz() { + return this.list().get_sz() + } + override get_children(): number[] { + return [this.list().addr] + } +} + +export class StackListNode extends BaseNode { + static init_sz = 4 + static create(heap: Heap) { + const addr = heap.allocate(this.init_sz) + heap.set_tag(addr, TAG.STACK_LIST) + heap.memory.set_number(0, addr + 1) + return new StackListNode(heap, addr) + } + + resize(new_size: number) { + const new_pos = this.heap.allocate(new_size) + this.heap.set_tag(new_pos, TAG.STACK_LIST) + const new_list = new StackListNode(this.heap, new_pos) + const sz = this.get_sz() + new_list.set_sz(sz) + for (let i = 0; i < sz; i++) { + new_list.set_idx(this.get_idx(i), i) + } + this.addr = new_pos + } + + get_sz() { + return this.heap.memory.get_number(this.addr + 1) + } + + set_sz(val: number) { + this.heap.memory.set_number(val, this.addr + 1) + } + + push(addr: number) { + const sz = this.get_sz() + const capacity = this.heap.get_size(this.addr) + if (sz + 3 > capacity) this.resize(capacity * 2) + this.set_idx(addr, sz) + this.set_sz(sz + 1) + } + + pop() { + const sz = this.get_sz() + if (sz === 0) throw Error('List Empty!') + const capacity = this.heap.get_size(this.addr) + const val = this.get_idx(sz - 1) + this.set_sz(sz - 1) + if (4 * (sz + 1) < capacity) this.resize(capacity / 2) + return val + } + + peek() { + const sz = this.get_sz() + if (sz === 0) throw Error('List Empty!') + return this.get_idx(sz - 1) + } + + get_idx(index: number) { + return this.heap.memory.get_word(this.addr + 2 + index) + } + + set_idx(val: number, index: number) { + return this.heap.memory.set_word(val, this.addr + 2 + index) + } + + override get_children(): number[] { + const sz = this.get_sz() + return [...Array(sz).keys()].map((x) => this.get_idx(x)) + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/heap/types/waitGroup.ts b/go-virtual-machine-main/src/virtual-machine/heap/types/waitGroup.ts new file mode 100644 index 0000000..7aed023 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/heap/types/waitGroup.ts @@ -0,0 +1,115 @@ +import { Process } from '../../executor/process' +import { Heap, TAG } from '..' + +import { ArrayNode } from './array' +import { BaseNode } from './base' +import { ContextNode } from './context' +import { MethodNode } from './func' +import { LinkedListEntryNode } from './linkedlist' +import { IntegerNode } from './primitives' +import { QueueNode } from './queue' + +/** + * Each WaitGroupNode occupies 3 words. + * Word 0: Wait Group tag. + * Word 1: A non-negative number, representing how number of .Add - number of .Done calls. + * Word 2: The address to a queue of waiting contexts. + */ +export class WaitGroupNode extends BaseNode { + static create(heap: Heap): WaitGroupNode { + const addr = heap.allocate(3) + heap.set_tag(addr, TAG.WAIT_GROUP) + heap.temp_push(addr) + heap.memory.set_number(-1, addr + 2) + heap.memory.set_number(0, addr + 1) + heap.memory.set_word(QueueNode.create(heap).addr, addr + 2) + heap.temp_pop() + return new WaitGroupNode(heap, addr) + } + + static default(heap: Heap): WaitGroupNode { + return WaitGroupNode.create(heap) + } + + count(): number { + return this.heap.memory.get_number(this.addr + 1) + } + + set_count(new_count: number): void { + if (new_count < 0) { + throw new Error('sync: negative WaitGroup counter.') + } + this.heap.memory.set_number(new_count, this.addr + 1) + } + + queue(): QueueNode { + return new QueueNode(this.heap, this.heap.memory.get_word(this.addr + 2)) + } + + override select(process: Process, identifier: string): void { + process.context.pushOS( + MethodNode.create(this.addr, identifier, this.heap).addr, + ) + } + + /** Arguments to builtin methods should be on the OS. Remember to pop the receiver from OS. */ + override handleMethodCall( + process: Process, + identifier: string, + _argCount: number, + ) { + if (identifier === 'Add') { + this.handleAdd(process) + } else if (identifier === 'Done') { + this.handleDone(process) + } else if (identifier === 'Wait') { + this.handleWait(process) + } + } + + handleAdd(process: Process): void { + const amount = process.context.popOSNode(IntegerNode).get_value() + process.context.popOS() + this.set_count(this.count() + amount) + } + + handleDone(process: Process): void { + process.context.popOS() + this.set_count(this.count() - 1) + if (this.count() === 0) { + while (this.queue().sz()) { + const context = new ContextNode(this.heap, this.queue().pop()) + const wait_nodes = context.waitlist().get_children() + for (const wait_node of wait_nodes) { + const node = new LinkedListEntryNode(this.heap, wait_node) + node.del() + } + context.set_blocked(false) + this.heap.contexts.push(context.addr) + } + } + } + + handleWait(process: Process): void { + process.context.popOS() + if (this.count() === 0) return + this.queue().push(process.context.addr) + process.context.set_waitlist(ArrayNode.create(1, process.heap).addr) + process.context + .waitlist() + .set_child( + 0, + process.heap.blocked_contexts.push_back(process.context.addr), + ) + process.context.set_blocked(true) + } + + override get_children(): number[] { + return [this.queue().addr] + } + + override toString(): string { + return 'WG COUNT ' + this.count().toString() + // throw new Error('Unimplemented') + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/index.ts b/go-virtual-machine-main/src/virtual-machine/index.ts new file mode 100644 index 0000000..2b1d206 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/index.ts @@ -0,0 +1,98 @@ +import { Instruction } from './compiler/instructions' +import { StateInfo } from './executor/debugger' +import parser from './parser/parser' +import { SourceFileToken, TokenLocation } from './parser/tokens' +import { compile_tokens, CompileError } from './compiler' +import { execute_instructions } from './executor' + +interface InstructionData { + val: string +} + +interface ProgramData { + output?: string + instructions: InstructionData[] + error?: { + message: string + type: 'parse' | 'compile' | 'runtime' + details?: Error | string + } + visualData: StateInfo[] +} + +const runCode = ( + source_code: string, + heapsize: number, + visualisation = true, +): ProgramData => { + // Parsing. + let tokens: SourceFileToken + try { + tokens = parser.parse(source_code) as SourceFileToken + console.log(tokens) + } catch (err) { + const message = (err as Error).message + return { + instructions: [], + output: 'Syntax Error!', + error: { + message, + type: 'parse', + details: err as string, + }, + visualData: [], + } + } + + // Compilation. + let instructions: Instruction[] = [] + let symbols: (TokenLocation | null)[] = [] + try { + const temp = compile_tokens(tokens) + instructions = temp.instructions + symbols = temp.symbols + console.log(instructions) + } catch (err) { + const message = (err as CompileError).message + return { + instructions: [], + output: 'Compilation Error!', + error: { + message, + type: 'compile', + details: err as CompileError, + }, + visualData: [], + } + } + + // Execution. + const result = execute_instructions( + instructions, + heapsize, + symbols, + visualisation, + ) + if (result.errorMessage) { + console.warn(result.errorMessage) + return { + instructions: [], + output: 'Runtime Error!', + error: { + message: result.errorMessage, + type: 'runtime', + details: result.errorMessage, + }, + visualData: [], + } + } + + return { + instructions: [], + output: result.stdout, + visualData: result.visual_data, + error: undefined, + } +} + +export { type InstructionData, type ProgramData, runCode } diff --git a/go-virtual-machine-main/src/virtual-machine/parser/golang_parser.d.ts b/go-virtual-machine-main/src/virtual-machine/parser/golang_parser.d.ts new file mode 100644 index 0000000..197c570 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/parser/golang_parser.d.ts @@ -0,0 +1,6 @@ +import peggy from 'peggy' + +declare module './golang_parser.js' { + const parse: peggy.Parser.parse + export { parse } +} diff --git a/go-virtual-machine-main/src/virtual-machine/parser/parser.peggy b/go-virtual-machine-main/src/virtual-machine/parser/parser.peggy new file mode 100644 index 0000000..0157473 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/parser/parser.peggy @@ -0,0 +1,500 @@ +{{ + import { + IntegerLiteralToken, + FloatLiteralToken, + StringLiteralToken, + BinaryOperator, + UnaryOperator, + SourceFileToken, + ImportToken, + FunctionDeclarationToken, + VariableDeclarationToken, + ConstantDeclarationToken, + PrimaryExpressionToken, + AssignmentStatementToken, + IdentifierToken, + ShortVariableDeclarationToken, + IncDecStatementToken, + ReturnStatementToken, + BreakStatementToken, + ContinueStatementToken, + FallthroughStatementToken, + IfStatementToken, + BlockToken, + ForStatementToken, + DeferStatementToken, + PrimitiveTypeToken, + ArrayTypeToken, + SliceTypeToken, + FunctionTypeToken, + MapTypeToken, + ChannelTypeToken, + SelectorToken, + IndexToken, + SliceToken, + CallToken, + SwitchCaseToken, + SwitchStatementToken, + FunctionLiteralToken, + GoStatementToken, + SendStatementToken, + ReceiveStatementToken, + CommunicationClauseToken, + SelectStatementToken, + BuiltinCallToken, + LiteralValueToken, + ArrayLiteralToken, + SliceLiteralToken, + QualifiedIdentifierToken, + } from './tokens' + + // Returns an AST with left to right precedence + function leftPrecTree(rest, right) { + if (!rest.length) return right + let last = rest.pop() + return last[2](leftPrecTree(rest, last[0]), right) + } +}} + +/* +The result of parsing a source file should be a single SourceFileToken. +A token may be composed of many other tokens. +The structure of what each token looks like can be found in each Token class. +*/ + +//* =============== Root =============== +start = _ @SourceFile _ + + +//* =============== Whitespace =============== +// By convention, _ is used to eat up whitespace. +_ = ([ \t\r\n] / comment) * + + + + + +//* =============== Source Code Representation =============== +//* Characters +newline = "\n" +unicode_char = char:. &{ return char != "\n" } +unicode_letter = char:. &{ return char.match(/^\p{L}$/u) } +unicode_digit = char:. &{ return char.match(/^\p{N}$/u) } + +//* Letters and Digits +letter = unicode_letter / "_" +decimal_digit = [0-9] +binary_digit = [0-1] +octal_digit = [0-7] +hex_digit = [0-9a-fA-F] + + + + + +//* =============== Lexical Elements =============== +comment = "//" unicode_char* newline + / "/*" (!"*/" .)* "*/" + +//* Identifiers +identifier = iden:$(letter (letter / unicode_digit)*) &{ return IdentifierToken.isValidIdentifier(iden) } + { return new IdentifierToken(location(), iden) } + +//* Integer Literals +int_lit = number:binary_lit { return IntegerLiteralToken.fromSource(location(), number, 2) } / + number:octal_lit { return IntegerLiteralToken.fromSource(location(), number, 8) } / + number:decimal_lit { return IntegerLiteralToken.fromSource(location(), number, 10) } / + number:hex_lit { return IntegerLiteralToken.fromSource(location(), number, 16) } +binary_lit = "0" "b" "_"? $binary_digits +octal_lit = "0" [oO]? "_"? $octal_digits +decimal_lit = $([1-9] "_"? decimal_digits?) / + "0" +hex_lit = "0" [xX] "_"? $hex_digits + +binary_digits = binary_digit ("_"? binary_digit)* +octal_digits = octal_digit ("_"? octal_digit)* +decimal_digits = decimal_digit ("_"? decimal_digit)* +hex_digits = hex_digit ("_"? hex_digit)* + +//* Floating-point Literals +//! TODO (P5): Support hexadecimal floating points. +float_lit = number:$decimal_float_lit { return FloatLiteralToken.fromSource(location(), number); } + +decimal_float_lit = decimal_digits "." decimal_digits? decimal_exponent? / + decimal_digits decimal_exponent / + "." decimal_digits decimal_exponent? +decimal_exponent = [eE] ("+" / "-")? decimal_digits + +//! TODO (P5): Support imaginary literals. +//! TODO (P3): Support rune literals. + +//* String Literals +string_lit = raw_string_lit / interpreted_string_lit +raw_string_lit = "`" str:$[^`]* "`" { return StringLiteralToken.fromSourceRaw(location(), str) } +interpreted_string_lit = '"' str:$[^\n"]* '"' { return StringLiteralToken.fromSourceInterpreted(location(), str) } +//! TODO (P3): Interpreted string literals should interpret rune literals. + + + + + +//* =============== Types =============== +// Note: `TypeName TypeArgs?` is reduced to `TypeName` as generics are not supported. +Type = @TypeName / TypeLit / "(" _ Type _ ")" +//! TODO (P1): Support qualified identifiers for TypeName. +TypeName = iden:identifier &{ return PrimitiveTypeToken.isPrimitive(iden.identifier) } + { return new PrimitiveTypeToken(location(), iden.identifier) } + / @QualifiedIdent +TypeLit = ArrayType / StructType / PointerType / FunctionType / InterfaceType / SliceType / MapType / ChannelType + +//* Array Types +ArrayType = "[" _ length:ArrayLength _ "]" element:ElementType { return new ArrayTypeToken(location(), element, length) } +// Note: ArrayLength is actually an Expression in Golang specification, but we didn't want to implement +// expression evaluation INSIDE the compiler. Hence, we chose to only allow int_lit. +ArrayLength = int_lit +ElementType = Type + +//* Slice Types +SliceType = "[" "]" element:ElementType { return new SliceTypeToken(location(), element) } + +//* Struct Types +StructType = "struct" _ "{" _ (_ FieldDecl _ ";"?)* _ "}" +FieldDecl = (IdentifierList Type / EmbeddedField) Tag? +EmbeddedField = "*"? TypeName +Tag = string_lit + +//* Pointer Types +PointerType = "*" BaseType +BaseType = Type + +//* Function Types +FunctionType = "func" _ @Signature +Signature = params:Parameters _ result:Result? { return new FunctionTypeToken(location(), params, result) } +Result = @Parameters / type:Type { return [{ type }] } +// Parameters is an array of { identifier?: string, type: TypeToken }. +Parameters = "(" _ parameters:ParameterList? _ ","? _ ")" { return parameters ?? [] } +ParameterList = head:ParameterDecl tail:(_ "," _ @ParameterDecl)* { return [head, ...tail].flat()} +// Note: ParameterDecl does not support variadic parameters (i.e. no `xs ...int`). +ParameterDecl = identifiers:IdentifierList? _ type:Type + { return identifiers == null || identifiers.length === 0 + ? [{ identifier: null, type }] + : identifiers.map(iden => ({ identifier: iden.identifier, type })) } + / type:Type { return [{ identifier: null, type }] } + +//* Interface Types +InterfaceType = "interface" _ "{" _ (_ InterfaceElem _ ";"?)* _ "}" +InterfaceElem = MethodElem / TypeElem +MethodElem = MethodName _ Signature +MethodName = identifier +TypeElem = TypeTerm _ ("|" _ TypeTerm _)* +TypeTerm = Type / UnderlyingType +UnderlyingType = "~" Type + +//* Map Types +MapType = "map" _ "[" _ key:KeyType _ "]" _ element:ElementType { return new MapTypeToken(location(), key, element) } +KeyType = Type + +//* Channel Types +ChannelType = "chan" _ "<-" _ element:ElementType { return new ChannelTypeToken(location(), element, false, true) } + / "<-" _ "chan" _ element:ElementType { return new ChannelTypeToken(location(), element, true, false) } + / "chan" _ element:ElementType { return new ChannelTypeToken(location(), element, true, true) } + + + + + +//* =============== Blocks =============== +Block = "{" _ statements:StatementList _ "}" { return new BlockToken(location(), statements) } +StatementList = (_ @Statement _ ";"?)* + + + + + +//* =============== Declarations and Scope =============== +//! TODO (P5): Tokenize TypeDecl. +Declaration = ConstDecl / TypeDecl / VarDecl +//! TODO (P4): Tokenize MethodDecl. +TopLevelDecl = Declaration / FunctionDecl / MethodDecl + +//* Constant Declarations +//! TODO (P5): Multiple declarations (optionally semicolon-separated) is not supported. +ConstDecl = "const" _ @ConstSpec +ConstSpec = identifiers:IdentifierList _ rest:( + varType:Type? _ "=" _ expressions:ExpressionList + { return { varType, expressions } } + ) + { return new ConstantDeclarationToken(location(), identifiers, rest.expressions, rest.varType) } + +IdentifierList = head:identifier tail:(_ "," _ @identifier _)* { return [head, ...tail] } +ExpressionList = head:Expression tail:(_ "," _ @Expression _)* { return [head, ...tail] } + +//* Type Declarations +TypeDecl = "type" _ (TypeSpec / "(" _ (_ TypeSpec _ ";"?)* _ ")") +TypeSpec = AliasDecl / TypeDef +AliasDecl = identifier _ "=" _ Type +TypeDef = identifier _ TypeParameters? _ Type +TypeParameters = "[" _ TypeParamList _ ","? _ "]" +TypeParamList = TypeParamDecl (_ "," _ TypeParamDecl)* +TypeParamDecl = IdentifierList _ TypeConstraint +TypeConstraint = TypeElem + +//* Variable Declarations +//! TODO (P5): Multiple declarations (optionally semicolon-separated) is not supported. +VarDecl = "var" _ @VarSpec +VarSpec = identifiers:IdentifierList _ rest:( + varType:Type expressions:(_ "=" _ @ExpressionList)? + { return {varType, expressions} } + / + _ "=" _ expressions:ExpressionList + { return {varType: undefined, expressions} } + ) + { return new VariableDeclarationToken(location(), identifiers, rest.varType, rest.expressions) } + +//* Short Variable Declarations +ShortVarDecl = identifiers:IdentifierList _ ":=" _ expressions:ExpressionList + { return new ShortVariableDeclarationToken(location(), identifiers, expressions) } + +//* Function Declarations +// Note: TypeParameters? is omitted from FunctionDecl as we do not support generics. +FunctionDecl = "func" _ name:FunctionName _ signature:Signature _ body:Block? + { return new FunctionDeclarationToken(location(), name, new FunctionLiteralToken(location(), signature, body)) } +FunctionName = identifier +FunctionBody = Block + +//* Method Declarations +MethodDecl = "func" _ Receiver _ MethodName _ Signature _ FunctionBody? +Receiver = Parameters + + + + + +//* =============== Expressions =============== +//* Operands (Partial) +// OperandName [ TypeArgs ] is excluded as generics are not supported +Operand = Literal / OperandName / "(" _ @Expression _ ")" +Literal = BasicLit / CompositeLit / FunctionLit +//! TODO (P3): Add support for imaginary_lit. +//! TODO (P5): Add support for rune_lit. +BasicLit = float_lit / int_lit / string_lit +OperandName = identifier / QualifiedIdent + +//* Qualified Identifiers +QualifiedIdent = pkg:PackageName "." iden:identifier { return new QualifiedIdentifierToken(location(), pkg.identifier, iden.identifier) } + +//* Composite Literals +CompositeLit = type:ArrayType _ value:LiteralValue { return new ArrayLiteralToken(location(), type, value) } + / type:SliceType _ value:LiteralValue { return new SliceLiteralToken(location(), type, value) } +LiteralValue = "{" elements:(@ElementList _ ","? _)? "}" { return new LiteralValueToken(location(), elements ?? []) } +ElementList = head:KeyedElement rest:(_ "," _ @KeyedElement)* { return [head, ...rest] } +// Ironically, KeyedElement will not support having a key for our implementation. +KeyedElement = Element +Element = Expression / LiteralValue + +//* Function Literals +FunctionLit = "func" _ signature:Signature _ body:FunctionBody { return new FunctionLiteralToken(location(), signature, body) } + +//* Primary Expressions +//! TODO (P5): MethodExpr and Conversion are not supported. +PrimaryExpr = operand:(@BuiltinCall / @Operand) _ rest:PrimaryExprModifier* { return new PrimaryExpressionToken(location(), operand, rest) } +// This PrimaryExprTerm is added to fix left recursion. +PrimaryExprModifier = Selector / Index / Slice / TypeAssertion / Arguments +Selector = "." identifier:identifier { return new SelectorToken(location(), identifier.identifier) } +Index = "[" _ expr:Expression (_ ",")? _ "]" { return new IndexToken(location(), expr) } +// Note: Full slice expressions are not supported. +Slice = "[" _ from:Expression? _ ":" _ to:Expression? _ "]" { return new SliceToken(location(), from, to) } +TypeAssertion = "." _ "(" _ Type _ ")" +// Note: Variadic arguments are not supported. +// Note: Golang specs allow a Type to be the first argument, but it is only used for certain builtin functions. +// We split BuiltinCall out to a separate token to allow parsing types as first argument. +Arguments = "(" _ exprs:ExpressionList? _ ","? _ ")" { return new CallToken(location(), exprs) } + +//* Builtin Call (This is not in Golang specifications) +BuiltinCall = name:$[a-zA-Z]+ _ "(" _ type:Type _ args:("," _ @ExpressionList)? _ ")" + &{ return BuiltinCallToken.validNames.includes(name) && BuiltinCallToken.namesThatTakeType.includes(name) } + { return new BuiltinCallToken(location(), name, type, args ?? []) } + / name:$[a-zA-Z]+ _ "(" _ args:ExpressionList? _ ")" + &{ return BuiltinCallToken.validNames.includes(name) && !BuiltinCallToken.namesThatTakeType.includes(name) } + { return new BuiltinCallToken(location(), name, null, args ?? []) } + +//* Method Expressions +MethodExpr = ReceiverType "." MethodName +ReceiverType = Type + +//* Operators +Expression = rest:(ConjExpr _ disjunct_op _)* right:ConjExpr { return leftPrecTree(rest, right) } / + ConjExpr +ConjExpr = rest:(RelExpr _ conjunct_op _)* right:RelExpr { return leftPrecTree(rest, right) } / + RelExpr +RelExpr = rest:(AddExpr _ rel_op _)* right:AddExpr { return leftPrecTree(rest, right) } / + AddExpr +AddExpr = rest:(MulExpr _ add_op _)* right:MulExpr { return leftPrecTree(rest, right) } / + MulExpr +MulExpr = rest:(UnaryExpr _ mul_op _)* right:UnaryExpr { return leftPrecTree(rest, right) } / + UnaryExpr +UnaryExpr = PrimaryExpr / + op:unary_op _ expr:UnaryExpr { return op(expr) } + +// Operators are parsed into a function, that can be applied on operands to construct a token. +rel_op = "==" { return BinaryOperator.fromSource(location(), "equal") } / + "!=" { return BinaryOperator.fromSource(location(), "not_equal") } / + "<=" { return BinaryOperator.fromSource(location(), "less_or_equal") } / + ">=" { return BinaryOperator.fromSource(location(), "greater_or_equal") } / + "<" !"-" { return BinaryOperator.fromSource(location(), "less") } / + ">" { return BinaryOperator.fromSource(location(), "greater") } +add_op = "+" !"+" { return BinaryOperator.fromSource(location(), "sum") } / + "-" !"-" { return BinaryOperator.fromSource(location(), "difference") } / + "|" !"|" { return BinaryOperator.fromSource(location(), "bitwise_or") } / + "^" !"^" { return BinaryOperator.fromSource(location(), "bitwise_xor") } +mul_op = "*" !"*" { return BinaryOperator.fromSource(location(), "product") } / + "/" !"/" { return BinaryOperator.fromSource(location(), "quotient") } / + "%" { return BinaryOperator.fromSource(location(), "remainder") } / + "<<" { return BinaryOperator.fromSource(location(), "left_shift") } / + ">>" { return BinaryOperator.fromSource(location(), "right_shift") } / + "&" !"&" { return BinaryOperator.fromSource(location(), "bitwise_and") } / + "&^" { return BinaryOperator.fromSource(location(), "bit_clear") } +disjunct_op = "||" { return BinaryOperator.fromSource(location(), "conditional_or") } +conjunct_op = "&&" { return BinaryOperator.fromSource(location(), "conditional_and") } + +unary_op = "+" { return UnaryOperator.fromSource(location(), "plus") } / // Note: This operator is unnamed in Golang specs. + "-" { return UnaryOperator.fromSource(location(), "negation") } / + "!" { return UnaryOperator.fromSource(location(), "not") } / + "^" { return UnaryOperator.fromSource(location(), "bitwise_complement") } / + "*" { return UnaryOperator.fromSource(location(), "indirection") } / + "&" { return UnaryOperator.fromSource(location(), "address") } / + "<-" { return UnaryOperator.fromSource(location(), "receive") } + +//* Conversions +Conversion = Type _ "(" _ Expression _ ")" _ ","? _ ")" + + + + + +//* =============== Statements =============== +//* Statements +//! TODO (P5): LabeledStmt, GotoStmt are not tokenized as they're probably not so important. +//! Note that labels do not work for now. +Statement = Declaration / LabeledStmt / SimpleStmt / + GoStmt / ReturnStmt / BreakStmt / ContinueStmt / GotoStmt / + FallthroughStmt / Block / IfStmt / SwitchStmt / SelectStmt / ForStmt / + DeferStmt +// Note that EmptyStmt is removed from SimpleStmt to simplify parsing. +// Instead, users of Statement should allow it to be empty. +SimpleStmt = SendStmt / IncDecStmt / Assignment / ShortVarDecl / ExpressionStmt + +//* Labeled Statements +LabeledStmt = Label _ ":" _ Statement +Label = identifier + +//* Expression Statements +ExpressionStmt = Expression + +//* Send Statements +SendStmt = channel:Channel _ "<-" _ value:Expression { return new SendStatementToken(location(), channel, value) } +// For simplicity, we only allow channels to be identifiers instead of Expression +Channel = identifier + +//* IncDec Statements +IncDecStmt = expression:Expression _ op:("++" / "--") + { return new IncDecStatementToken(location(), expression, op) } + +//* Assignment Statements +Assignment = left:ExpressionList _ op:$assign_op _ right:ExpressionList + { return new AssignmentStatementToken(location(), left, op, right) } +assign_op = [\*\+]? "=" + +//* If Statements +IfStmt = "if" _ init:(@SimpleStmt _ ";")? _ pred:Expression _ cons:Block _ + alt:("else" _ @(IfStmt / Block))? + { return new IfStatementToken(location(), init, pred, cons, alt) } + +//* Switch Statements +SwitchStmt = ExprSwitchStmt /** / TypeSwitchStmt */ + +ExprSwitchStmt = "switch" _ init:(@SimpleStmt _ ";")? _ expr:Expression? _ "{" _ cases:(_ @ExprCaseClause _)* "}" + { return new SwitchStatementToken(location(), init, expr, cases ) } +ExprCaseClause = "case" _ "default" _ ":" _ statements:StatementList { return new SwitchCaseToken(location(), null, statements) } + / "case" _ exprs:ExpressionList _ ":" _ statements:StatementList { return new SwitchCaseToken(location(), exprs, statements) } + +// Note: TypeSwitchStmt will most likely not be supported. +// TypeSwitchStmt = "switch" _ (SimpleStmt _ ";")? _ TypeSwitchGuard _ "{" _ (_ TypeCaseClause _)* _ ")" +// TypeSwitchGuard = (identifier _ ":=")? _ PrimaryExpr _ "." _ "(" _ "type" _ ")" +// TypeCaseClause = TypeSwitchCase _ ":" _ StatementList +// TypeSwitchCase = "case" _ TypeList / "default" + +//* For Statements +//! TODO (P4): Support RangeClause in ForStmt. +ForStmt = "for" _ + clause:(ForClause / + cond:Condition { return {init: undefined, cond, post: undefined }} + )? + _ body:Block + { return new ForStatementToken(location(), clause?.init, clause?.cond, clause?.post, body)} +Condition = Expression + +ForClause = init:InitStmt? _ ";" _ cond:Condition? _ ";" _ post:PostStmt? + { return { init: init ?? undefined, cond: cond ?? undefined, post: post ?? undefined } } +InitStmt = SimpleStmt +PostStmt = SimpleStmt + +RangeClause = (ExpressionList _ "=" / IdentifierList _ ":=")? _ "range" _ Expression + +//* Go Statements +GoStmt = "go" _ expr:PrimaryExpr &{ return GoStatementToken.isValidGoroutine(expr) } + { return new GoStatementToken(location(), expr) } + +//* Select Statements +SelectStmt = "select" _ "{" _ clauses:(_ @CommClause _)* _ "}" { return new SelectStatementToken(location(), clauses ?? []) } +CommClause = predicate:CommCase _ ":" _ body:StatementList + { return new CommunicationClauseToken(location(), predicate, body) } +CommCase = "case" _ @(RecvStmt / SendStmt) / @"default" +// For simplicity, we disallow an ExpressionList with assignment here. +RecvStmt = identifiers:IdentifierList _ ":=" _ expr:RecvExpr + &{ return ReceiveStatementToken.isReceiveStatement(identifiers) } + { return new ReceiveStatementToken(location(), true, identifiers, expr) } + / identifiers:(@IdentifierList _ "=")? _ expr:RecvExpr + &{ return ReceiveStatementToken.isReceiveStatement(identifiers) } + { return new ReceiveStatementToken(location(), false, identifiers, expr) } +RecvExpr = expr:Expression &{ return expr instanceof UnaryOperator && expr.name === 'receive' } { return expr } + +//* Return Statements +ReturnStmt = "return" _ returns:ExpressionList? + { return new ReturnStatementToken(location(), returns) } + +//* Break Statements +//! TODO (P5): Labels are not tokenized. +BreakStmt = "break" _ Label? { return new BreakStatementToken(location()) } + +//* Continue Statements +//! TODO (P5): Labels are not tokenized. +ContinueStmt = "continue" _ Label? { return new ContinueStatementToken(location()) } + +//* Goto Statements +GotoStmt = "goto" _ Label + +//* Fallthrough Statements +FallthroughStmt = "fallthrough" { return new FallthroughStatementToken(location()) } + +//* Defer Statements +DeferStmt = "defer" _ expression:Expression { return new DeferStatementToken(location(), expression) } + + + + + +//* =============== Packages =============== +//* Source File +SourceFile = pkg:PackageClause _ ";"? _ imports:(_ @ImportDecl _ ";"? _)* declarations:(_ @TopLevelDecl _ ";"?)* + { return new SourceFileToken(location(), pkg, imports, declarations) } + +//* Package Clause +PackageClause = "package" _ @PackageName +PackageName = identifier + +//* Import Declarations +ImportDecl = "import" _ @(ImportSpec / "(" _ (_ ImportSpec _ ";"?)* _ ")") +ImportSpec = name:("." / PackageName)? _ path:ImportPath + { return new ImportToken(location(), path, name) } +ImportPath = string_lit \ No newline at end of file diff --git a/go-virtual-machine-main/src/virtual-machine/parser/parser.ts b/go-virtual-machine-main/src/virtual-machine/parser/parser.ts new file mode 100644 index 0000000..f774d77 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/parser/parser.ts @@ -0,0 +1,7 @@ +import { parse } from './golang_parser.js' + +const parser = { + parse, +} + +export default parser diff --git a/go-virtual-machine-main/src/virtual-machine/parser/tokens.ts b/go-virtual-machine-main/src/virtual-machine/parser/tokens.ts new file mode 100644 index 0000000..4cb5695 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/parser/tokens.ts @@ -0,0 +1,10 @@ +export * from './tokens/base' +export * from './tokens/block' +export * from './tokens/declaration' +export * from './tokens/expressions' +export * from './tokens/identifier' +export * from './tokens/literals' +export * from './tokens/operator' +export * from './tokens/source_file' +export * from './tokens/statement' +export * from './tokens/type' diff --git a/go-virtual-machine-main/src/virtual-machine/parser/tokens/base.ts b/go-virtual-machine-main/src/virtual-machine/parser/tokens/base.ts new file mode 100644 index 0000000..b164975 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/parser/tokens/base.ts @@ -0,0 +1,30 @@ +import { CompileError, Compiler } from '../../compiler' +import { Instruction } from '../../compiler/instructions' +import { Type } from '../../compiler/typing' + +export type TokenLocation = { + start: { offset: number; line: number; column: number } + end: { offset: number; line: number; column: number } +} + +export abstract class Token { + constructor(public type: string, public sourceLocation: TokenLocation) {} + + abstract compileUnchecked(compiler: Compiler): Type + + pushInstruction(compiler: Compiler, ...instr: Instruction[]) { + compiler.instructions.push(...instr) + compiler.symbols.push(...Array(instr.length).fill(this.sourceLocation)) + } + + compile(compiler: Compiler): Type { + try { + return this.compileUnchecked(compiler) + } catch (err) { + if (err instanceof CompileError) throw err + + // Error originated from this token. + compiler.throwCompileError((err as Error).message, this.sourceLocation) + } + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/parser/tokens/block.ts b/go-virtual-machine-main/src/virtual-machine/parser/tokens/block.ts new file mode 100644 index 0000000..c213a6b --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/parser/tokens/block.ts @@ -0,0 +1,46 @@ +import { Compiler } from '../../compiler' +import { + BlockInstruction, + ExitBlockInstruction, +} from '../../compiler/instructions' +import { NoType, ReturnType, Type } from '../../compiler/typing' + +import { Token, TokenLocation } from './base' +import { StatementToken } from './statement' + +export class BlockToken extends Token { + constructor( + sourceLocation: TokenLocation, + public statements: StatementToken[], + public name = 'BLOCK', + ) { + super('block', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + compiler.context.push_env() + const block_instr = new BlockInstruction(this.name) + this.pushInstruction(compiler, block_instr) + compiler.type_environment = compiler.type_environment.extend() + let hasReturn = false + for (const sub_token of this.statements) { + const statementType = sub_token.compile(compiler) + hasReturn ||= statementType instanceof ReturnType + } + const blockType = hasReturn + ? compiler.type_environment.expectedReturn + : new NoType() + + const vars = compiler.context.env.get_frame() + block_instr.set_frame( + vars.map((name) => compiler.type_environment.get(name)), + ) + block_instr.set_identifiers(vars) + compiler.type_environment = compiler.type_environment.pop() + compiler.context.pop_env() + + this.pushInstruction(compiler, new ExitBlockInstruction()) + + return blockType + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/parser/tokens/declaration.ts b/go-virtual-machine-main/src/virtual-machine/parser/tokens/declaration.ts new file mode 100644 index 0000000..cf1087e --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/parser/tokens/declaration.ts @@ -0,0 +1,180 @@ +import { Compiler } from '../../compiler' +import { + LoadVariableInstruction, + StoreInstruction, +} from '../../compiler/instructions' +import { NoType, Type } from '../../compiler/typing' + +import { Token, TokenLocation } from './base' +import { ExpressionToken } from './expressions' +import { IdentifierToken } from './identifier' +import { FunctionLiteralToken } from './literals' +import { TypeToken } from './type' + +export type TopLevelDeclarationToken = + | DeclarationToken + | FunctionDeclarationToken + +export class FunctionDeclarationToken extends Token { + constructor( + sourceLocation: TokenLocation, + public name: IdentifierToken, + public func: FunctionLiteralToken, + ) { + super('function_declaration', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + const [frame_idx, var_idx] = compiler.context.env.declare_var( + this.name.identifier, + ) + //! TODO (P5): There is a double compilation of func.signature, once here and + //! once in the func.compile() call. Not really an issue as compiling types has + //! no side effects, but would be nice to fix. + compiler.type_environment.addType( + this.name.identifier, + this.func.signature.compile(compiler), + ) + this.func.compile(compiler) + this.pushInstruction( + compiler, + new LoadVariableInstruction(frame_idx, var_idx, this.name.identifier), + ) + this.pushInstruction(compiler, new StoreInstruction()) + return new NoType() + } +} + +export abstract class DeclarationToken extends Token {} + +export class ShortVariableDeclarationToken extends DeclarationToken { + constructor( + sourceLocation: TokenLocation, + public identifiers: IdentifierToken[], + public expressions: ExpressionToken[], + ) { + super('short_variable_declaration', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + const { identifiers, expressions } = this + for (let i = 0; i < identifiers.length; i++) { + const var_name = identifiers[i].identifier + const expr = expressions[i] + const [frame_idx, var_idx] = compiler.context.env.declare_var(var_name) + const expressionType = expr.compile(compiler) + compiler.type_environment.addType(var_name, expressionType) + this.pushInstruction( + compiler, + new LoadVariableInstruction(frame_idx, var_idx, var_name), + ) + this.pushInstruction(compiler, new StoreInstruction()) + } + return new NoType() + } +} + +export class VariableDeclarationToken extends DeclarationToken { + constructor( + sourceLocation: TokenLocation, + public identifiers: IdentifierToken[], + // Note: A variable declaration must have at least one of varType / expressions. + public varType?: TypeToken, + public expressions?: ExpressionToken[], + ) { + super('variable_declaration', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + const { identifiers, varType, expressions } = this + if (varType === undefined && expressions === undefined) { + //! TODO (P5): Golang implements this as a syntax error. Unfortunately, our current parsing + //! is unable to detect this error. A correct parser should require one of them to be present. + throw Error( + 'Either variable type or assignment value(s) must be defined in variable declaration.', + ) + } + + // Add identifiers to environment. + for (const identifier of identifiers) { + compiler.context.env.declare_var(identifier.identifier) + } + + const expectedType = varType ? varType.compile(compiler) : undefined + + // Compile and add identifiers to type environment. + if (expressions) { + if (identifiers.length !== expressions.length) { + throw Error( + `Assignment mismatch: ${identifiers.length} variable(s) but ${expressions.length} value(s).`, + ) + } + for (let i = 0; i < identifiers.length; i++) { + const identifier = identifiers[i].identifier + const expression = expressions[i] + const [frame_idx, var_idx] = compiler.context.env.find_var(identifier) + const expressionType = expression.compile(compiler) + if (expectedType && !expectedType.assignableBy(expressionType)) { + throw Error( + `Cannot use ${expressionType} as ${expectedType} in variable declaration`, + ) + } + compiler.type_environment.addType(identifier, expressionType) + this.pushInstruction( + compiler, + new LoadVariableInstruction(frame_idx, var_idx, identifier), + ) + this.pushInstruction(compiler, new StoreInstruction()) + } + } else { + // Variables are uninitialized, but their type is given. + for (const identifier of identifiers) { + compiler.type_environment.addType( + identifier.identifier, + expectedType as Type, + ) + } + } + return new NoType() + } +} + +export class ConstantDeclarationToken extends DeclarationToken { + constructor( + sourceLocation: TokenLocation, + public identifiers: IdentifierToken[], + public expressions: ExpressionToken[], + public varType?: TypeToken, + ) { + super('const_declaration', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + /** + * TODO: Handle Const separately, several different methods + * 1. Runtime Const and const tag to variable to make it immutable + * 2. Compile Time Const: Replace each reference to variable with Expression Token + * 3. Compile Time Const: Evaluate Expression Token literal value and replace each reference (Golang only allow compile time const) + */ + const { identifiers, varType, expressions } = this + const expectedType = varType ? varType.compile(compiler) : undefined + for (let i = 0; i < identifiers.length; i++) { + const var_name = identifiers[i].identifier + const expr = expressions[i] + const [frame_idx, var_idx] = compiler.context.env.declare_var(var_name) + const expressionType = expr.compile(compiler) + if (expectedType && !expressionType.assignableBy(expectedType)) { + throw Error( + `Cannot use ${expressionType} as ${expectedType} in constant declaration`, + ) + } + compiler.type_environment.addType(var_name, expressionType) + this.pushInstruction( + compiler, + new LoadVariableInstruction(frame_idx, var_idx, var_name), + ) + this.pushInstruction(compiler, new StoreInstruction()) + } + return new NoType() + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/parser/tokens/expressions.ts b/go-virtual-machine-main/src/virtual-machine/parser/tokens/expressions.ts new file mode 100644 index 0000000..ae2336b --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/parser/tokens/expressions.ts @@ -0,0 +1,332 @@ +import { Compiler } from '../../compiler' +import { + BuiltinCapInstruction, + BuiltinLenInstruction, + Instruction, + LoadArrayElementInstruction, + LoadChannelInstruction, + LoadConstantInstruction, + LoadSliceElementInstruction, + SelectorOperationInstruction, + SliceOperationInstruction, +} from '../../compiler/instructions' +import { CallInstruction } from '../../compiler/instructions/funcs' +import { + ArrayType, + BoolType, + ChannelType, + FunctionType, + Int64Type, + NoType, + SliceType, + StringType, + Type, + TypeUtility, +} from '../../compiler/typing' + +import { Token, TokenLocation } from './base' +import { IdentifierToken } from './identifier' +import { LiteralToken } from './literals' +import { BinaryOperator, UnaryOperator } from './operator' +import { TypeToken } from './type' + +export type ExpressionToken = + | LiteralToken + | UnaryOperator + | BinaryOperator + | PrimaryExpressionToken + | BuiltinCallToken + | EmptyExpressionToken + +export type OperandToken = IdentifierToken | ExpressionToken + +export class EmptyExpressionToken extends Token { + constructor(sourceLocation: TokenLocation, public argType: Type) { + super('empty_expression', sourceLocation) + } + + override compileUnchecked(_compiler: Compiler): Type { + // Does nothing - Intended + return this.argType + } +} +export class PrimaryExpressionToken extends Token { + constructor( + sourceLocation: TokenLocation, + public operand: OperandToken, + /** The remaining modifier that is applied to the current operand. E.g. selector / index etc. */ + public rest: PrimaryExpressionModifierToken[] | null, + ) { + super('primary_expression', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + // TODO: Figure what this does for non-trivial ops like array access and selector + let operandType = this.operand.compile(compiler) + for (const modifier of this.rest ?? []) { + operandType = modifier.compile(compiler, operandType) + } + return operandType + } +} + +// Note: The reason this class DOES NOT extend from Token, is because each modifier +// requires type information about the previous operand in the chain in order to compile. +// Hence, its compilation method must take in an extra argument. Idk if this is the correct way +// to fix, but it doesn't make sense to force them to follow the structure of Token. +export abstract class PrimaryExpressionModifierToken { + constructor(public type: string, public sourceLocation: TokenLocation) {} + abstract compile(compiler: Compiler, operandType: Type): Type + + pushInstruction(compiler: Compiler, ...instr: Instruction[]) { + compiler.instructions.push(...instr) + compiler.symbols.push(...Array(instr.length).fill(this.sourceLocation)) + } +} + +export class SelectorToken extends PrimaryExpressionModifierToken { + constructor(sourceLocation: TokenLocation, public identifier: string) { + super('selector', sourceLocation) + } + + override compile(compiler: Compiler, operandType: Type): Type { + const resultType = operandType.select(this.identifier) + this.pushInstruction( + compiler, + new LoadConstantInstruction(this.identifier, new StringType()), + new SelectorOperationInstruction(), + ) + return resultType + } +} + +export class IndexToken extends PrimaryExpressionModifierToken { + constructor( + sourceLocation: TokenLocation, + public expression: ExpressionToken, + ) { + super('index', sourceLocation) + } + + override compile(compiler: Compiler, operandType: Type): Type { + if (operandType instanceof ArrayType) { + this.compileIndex(compiler) + this.pushInstruction(compiler, new LoadArrayElementInstruction()) + return operandType.element + } else if (operandType instanceof SliceType) { + this.compileIndex(compiler) + this.pushInstruction(compiler, new LoadSliceElementInstruction()) + return operandType.element + } else { + throw Error( + `Invalid operation: Cannot index a variable of type ${operandType}`, + ) + } + } + + private compileIndex(compiler: Compiler) { + const indexType = this.expression.compile(compiler) + if (!(indexType instanceof Int64Type)) { + throw new Error( + `Invalid argument: Index has type ${indexType} but must be an integer`, + ) + } + } +} + +export class SliceToken extends PrimaryExpressionModifierToken { + constructor( + sourceLocation: TokenLocation, + public from: ExpressionToken | null, + public to: ExpressionToken | null, + ) { + super('slice', sourceLocation) + } + + override compile(compiler: Compiler, operandType: Type): Type { + if (operandType instanceof ArrayType || operandType instanceof SliceType) { + this.compileIndex(compiler, this.from) + this.compileIndex(compiler, this.to) + this.pushInstruction(compiler, new SliceOperationInstruction()) + return new SliceType(operandType.element) + } + throw new Error(`Invalid operation: Cannot slice ${operandType}`) + } + + private compileIndex(compiler: Compiler, index: ExpressionToken | null) { + if (index) index.compile(compiler) + else { + // Use a non integer type to represent the default value for the index. + this.pushInstruction( + compiler, + new LoadConstantInstruction(false, new BoolType()), + ) + } + } +} + +export class CallToken extends PrimaryExpressionModifierToken { + expressions: ExpressionToken[] + + constructor( + sourceLocation: TokenLocation, + expressions: ExpressionToken[] | null, + ) { + super('call', sourceLocation) + this.expressions = expressions ?? [] + } + + override compile(compiler: Compiler, operandType: Type): Type { + if (!(operandType instanceof FunctionType)) { + throw Error( + `Invalid operation: cannot call non-function (of type ${operandType})`, + ) + } + + const argumentTypes = this.expressions.map((e) => e.compile(compiler)) + this.pushInstruction(compiler, new CallInstruction(this.expressions.length)) + + // We only implement variadic functions that accept any number of any type of arguments, + // so variadic functions do not require type checking. + if (!operandType.variadic) { + if (argumentTypes.length < operandType.parameters.length) { + throw Error( + `Not enough arguments in function call\n` + + `have (${TypeUtility.arrayToString(argumentTypes)})\n` + + `want (${TypeUtility.arrayToString(operandType.parameters)})`, + ) + } + if (argumentTypes.length > operandType.parameters.length) { + throw Error( + `Too many arguments in function call\n` + + `have (${TypeUtility.arrayToString(argumentTypes)})\n` + + `want (${TypeUtility.arrayToString(operandType.parameters)})`, + ) + } + + for (let i = 0; i < argumentTypes.length; i++) { + if (argumentTypes[i].assignableBy(operandType.parameters[i].type)) + continue + throw Error( + `Cannot use ${argumentTypes[i]} as ${operandType.parameters[i]} in argument to function call`, + ) + } + } + + if (operandType.results.isVoid()) { + return new NoType() + } + if (operandType.results.types.length === 1) { + // A return type with a single value can be unwrapped. + return operandType.results.types[0] + } + return operandType.results + } +} + +type BuiltinFunctionName = (typeof BuiltinCallToken.validNames)[number] +// The following builtin functions are omitted: new, panic, recover. +// This does not extend from PrimaryExpression because its parsing is completely separate: +// Certain builtin functions take in a type as the first argument (as opposed to a value). +export class BuiltinCallToken extends Token { + static validNames = [ + 'append', + 'clear', + 'close', + 'delete', + 'len', + 'cap', + 'make', + 'min', + 'max', + ] as const + + static namesThatTakeType = ['make'] as const + + constructor( + sourceLocation: TokenLocation, + public name: BuiltinFunctionName, + /** The first argument if it is a type. */ + public firstTypeArg: TypeToken | null, + public args: ExpressionToken[], + ) { + super('builtin', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + if (this.name === 'make') return this.compileMake(compiler) + else if (this.name === 'len') return this.compileLen(compiler) + else if (this.name === 'cap') return this.compileCap(compiler) + else { + throw new Error(`Builtin function ${this.name} is not yet implemented.`) + } + } + + private compileCap(compiler: Compiler): Type { + if (this.args.length !== 1) { + this.throwArgumentLengthError('cap', 1, this.args.length) + } + const argType = this.args[0].compile(compiler) + if (argType instanceof ArrayType || argType instanceof SliceType) { + this.pushInstruction(compiler, new BuiltinCapInstruction()) + } else { + this.throwArgumentTypeError('cap', argType) + } + return new Int64Type() + } + + private compileLen(compiler: Compiler): Type { + if (this.args.length !== 1) { + this.throwArgumentLengthError('len', 1, this.args.length) + } + const argType = this.args[0].compile(compiler) + if (argType instanceof ArrayType || argType instanceof SliceType) { + this.pushInstruction(compiler, new BuiltinLenInstruction()) + } else { + this.throwArgumentTypeError('len', argType) + } + return new Int64Type() + } + + private compileMake(compiler: Compiler): Type { + const typeArg = (this.firstTypeArg as TypeToken).compile(compiler) + if (!(typeArg instanceof SliceType || typeArg instanceof ChannelType)) { + throw new Error( + `Invalid argument: cannot make ${typeArg}; type must be slice, map, or channel`, + ) + } + if (typeArg instanceof ChannelType) { + if (this.args.length === 0) + this.pushInstruction( + compiler, + new LoadConstantInstruction(0, new Int64Type()), + ) + else { + const buffer_sz = this.args[0].compile(compiler) + if (!(buffer_sz instanceof Int64Type)) { + throw new Error(`Non-integer condition in channel buffer size`) + } + } + } + // !TODO Make for slice + this.pushInstruction(compiler, new LoadChannelInstruction()) + return typeArg + } + + private throwArgumentLengthError( + name: string, + expectedNum: number, + actualNum: number, + ) { + const errorMessage = + expectedNum < actualNum + ? `Invalid operation: too many arguments for ${name} (expected ${expectedNum}, found ${actualNum})` + : `Invalid operation: not enough arguments for ${name} (expected ${expectedNum}, found ${actualNum})` + throw new Error(errorMessage) + } + + private throwArgumentTypeError(name: string, type: Type) { + const errorMessage = `Invalid argument: (${type}) for ${name}` + throw new Error(errorMessage) + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/parser/tokens/identifier.ts b/go-virtual-machine-main/src/virtual-machine/parser/tokens/identifier.ts new file mode 100644 index 0000000..2b8d441 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/parser/tokens/identifier.ts @@ -0,0 +1,78 @@ +import { Compiler } from '../../compiler' +import { LoadVariableInstruction } from '../../compiler/instructions' +import { PackageType, Type } from '../../compiler/typing' + +import { Token, TokenLocation } from './base' + +export class IdentifierToken extends Token { + constructor(sourceLocation: TokenLocation, public identifier: string) { + super('identifier', sourceLocation) + } + + static isValidIdentifier(identifier: string): boolean { + const reservedKeywords = [ + 'break', + 'case', + 'chan', + 'const', + 'continue', + 'default', + 'defer', + 'else', + 'fallthrough', + 'for', + 'func', + 'go', + 'goto', + 'if', + 'import', + 'interface', + 'map', + 'package', + 'range', + 'return', + 'select', + 'struct', + 'switch', + 'type', + 'var', + ] + return !reservedKeywords.includes(identifier) + } + + override compileUnchecked(compiler: Compiler): Type { + const [frame_idx, var_idx] = compiler.context.env.find_var(this.identifier) + this.pushInstruction( + compiler, + new LoadVariableInstruction(frame_idx, var_idx, this.identifier), + ) + return compiler.type_environment.get(this.identifier) + } +} + +/** + * Note that qualified identifiers in our implementation are only used for types, + * as our parser cannot distinguish `package.identifier` from `variable.field`, + * hence all values (not types) of the form `x.y` are handled by selector operator instead. + */ +export class QualifiedIdentifierToken extends Token { + constructor( + sourceLocation: TokenLocation, + public pkg: string, + public identifier: string, + ) { + super('qualified_identifier', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + const pkg = compiler.type_environment.get(this.pkg) + if (!(pkg instanceof PackageType)) { + throw new Error(`${this} is not a type`) + } + return pkg.select(this.identifier) + } + + override toString(): string { + return `${this.pkg}.${this.identifier}` + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/parser/tokens/literals.ts b/go-virtual-machine-main/src/virtual-machine/parser/tokens/literals.ts new file mode 100644 index 0000000..b93727c --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/parser/tokens/literals.ts @@ -0,0 +1,260 @@ +import { Compiler } from '../../compiler' +import { + FuncBlockInstruction, + JumpInstruction, + LoadArrayInstruction, + LoadConstantInstruction, + LoadDefaultInstruction, + LoadFuncInstruction, + LoadSliceInstruction, + ReturnInstruction, +} from '../../compiler/instructions' +import { + ArrayType, + Float64Type, + FunctionType, + Int64Type, + ReturnType, + SliceType, + StringType, + Type, +} from '../../compiler/typing' + +import { Token, TokenLocation } from './base' +import { BlockToken } from './block' +import { ExpressionToken } from './expressions' +import { ArrayTypeToken, FunctionTypeToken, SliceTypeToken } from './type' + +export abstract class LiteralToken extends Token { + constructor(sourceLocation: TokenLocation, public value: number | string) { + super('literal', sourceLocation) + } + + static is(token: Token): token is LiteralToken { + return token.type === 'literal' + } +} + +export class IntegerLiteralToken extends LiteralToken { + /** Tokenize an integer literal in the given base. */ + static fromSource(sourceLocation: TokenLocation, str: string, base: number) { + // Golang numbers can be underscore delimited. + const value = parseInt(str.replace('_', ''), base) + return new IntegerLiteralToken(sourceLocation, value) + } + + getValue(): number { + return this.value as number + } + + override compileUnchecked(compiler: Compiler): Type { + this.pushInstruction( + compiler, + new LoadConstantInstruction(this.value, new Int64Type()), + ) + return new Int64Type() + } +} + +export class FloatLiteralToken extends LiteralToken { + /** Tokenize a float literal. */ + static fromSource(sourceLocation: TokenLocation, str: string) { + const value = parseFloat(str) + return new FloatLiteralToken(sourceLocation, value) + } + + getValue(): number { + return this.value as number + } + + override compileUnchecked(compiler: Compiler): Type { + this.pushInstruction( + compiler, + new LoadConstantInstruction(this.value, new Float64Type()), + ) + return new Float64Type() + } +} + +export class StringLiteralToken extends LiteralToken { + /** Tokenize a raw string literal. */ + static fromSourceRaw(sourceLocation: TokenLocation, str: string) { + // Carriage returns are discarded from raw strings. + str = str.replaceAll('\r', '') + return new StringLiteralToken(sourceLocation, str) + } + + /** Tokenize an interpreted string literal. */ + static fromSourceInterpreted(sourceLocation: TokenLocation, str: string) { + return new StringLiteralToken(sourceLocation, str) + } + + getValue(): string { + return this.value as string + } + + override compileUnchecked(compiler: Compiler): Type { + this.pushInstruction( + compiler, + new LoadConstantInstruction(this.value, new StringType()), + ) + return new StringType() + } +} + +export class FunctionLiteralToken extends Token { + constructor( + sourceLocation: TokenLocation, + public signature: FunctionTypeToken, + public body: BlockToken, + ) { + super('function_literal', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + compiler.context.push_env() + const jump_instr = new JumpInstruction() + this.pushInstruction(compiler, jump_instr) + const func_start = compiler.instructions.length + const block_instr = new FuncBlockInstruction( + this.signature.parameters.length, + ) + this.pushInstruction(compiler, block_instr) + + const signatureType = this.signature.compile(compiler) as FunctionType + compiler.type_environment = compiler.type_environment.extend() + compiler.type_environment.updateReturnType(signatureType.results) + + let cnt = 0 + for (const param of this.signature.parameters) { + const name = param.identifier || (cnt++).toString() + compiler.context.env.declare_var(name) + compiler.type_environment.addType(name, param.type.compile(compiler)) + } + + let hasReturn = false + for (const sub_token of this.body.statements) { + const statementType = sub_token.compile(compiler) + hasReturn ||= statementType instanceof ReturnType + } + const vars = compiler.context.env.get_frame() + block_instr.set_frame( + vars.map((name) => compiler.type_environment.get(name)), + ) + block_instr.set_identifiers(vars) + compiler.type_environment = compiler.type_environment.pop() + compiler.context.pop_env() + + this.pushInstruction(compiler, new ReturnInstruction()) + jump_instr.set_addr(compiler.instructions.length) + this.pushInstruction(compiler, new LoadFuncInstruction(func_start)) + + if (!hasReturn && signatureType.results.types.length > 0) { + throw new Error(`Missing return.`) + } + return signatureType + } +} + +export class LiteralValueToken extends Token { + constructor( + sourceLocation: TokenLocation, + public elements: (LiteralValueToken | ExpressionToken)[], + ) { + super('literal_value', sourceLocation) + } + + override compileUnchecked(_compiler: Compiler): Type { + throw new Error( + 'Do not use LiteralValueToken.compile, instead use LiteralValueToken.compileWithType', + ) + } + + //! TODO (P5): It is extremely weird to define a separate compilation method, + //! but we need the extra type information here. How to fix this? + compileWithType(compiler: Compiler, type: Type) { + if (type instanceof ArrayType) { + if (this.elements.length > type.length) { + throw new Error( + `Array literal has ${this.elements.length} elements but only expected ${type.length}, in type ${type}.`, + ) + } + + for (const element of this.elements) { + this.compileElement(compiler, type.element, element, 'array literal') + } + for (let i = 0; i < type.length - this.elements.length; i++) { + // Ran out of literal values, use the default values. + this.pushInstruction(compiler, new LoadDefaultInstruction(type.element)) + } + + this.pushInstruction(compiler, new LoadArrayInstruction(type.length)) + } else if (type instanceof SliceType) { + for (const element of this.elements) { + this.compileElement(compiler, type.element, element, 'slice literal') + } + const sliceLength = this.elements.length + this.pushInstruction( + compiler, + new LoadArrayInstruction(sliceLength), + new LoadConstantInstruction(0, new Int64Type()), + new LoadConstantInstruction(sliceLength, new Int64Type()), + new LoadSliceInstruction(), + ) + } else { + throw new Error('Parser Bug: Type of literal value is not supported.') + } + } + + /** Compile an element and check that it matches the given type. + * typeName is the name of the structure (e.g. array literal) for the error message. */ + private compileElement( + compiler: Compiler, + type: Type, + element: LiteralValueToken | ExpressionToken, + typeName: string, + ) { + if (element instanceof LiteralValueToken) { + element.compileWithType(compiler, type) + } else { + const actualType = element.compile(compiler) + if (!type.equals(actualType)) { + throw new Error( + `Cannot use ${actualType} as ${type} value in ${typeName}.`, + ) + } + } + } +} + +export class ArrayLiteralToken extends Token { + constructor( + sourceLocation: TokenLocation, + public arrayType: ArrayTypeToken, + public body: LiteralValueToken, + ) { + super('array_literal', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + const type = this.arrayType.compile(compiler) + this.body.compileWithType(compiler, type) + return type + } +} + +export class SliceLiteralToken extends Token { + constructor( + sourceLocation: TokenLocation, + public sliceType: SliceTypeToken, + public body: LiteralValueToken, + ) { + super('slice_literal', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + const type = this.sliceType.compile(compiler) + this.body.compileWithType(compiler, type) + return type + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/parser/tokens/operator.ts b/go-virtual-machine-main/src/virtual-machine/parser/tokens/operator.ts new file mode 100644 index 0000000..46547d8 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/parser/tokens/operator.ts @@ -0,0 +1,99 @@ +import { Compiler } from '../../compiler' +import { + BinaryInstruction, + LoadChannelReqInstruction, + LoadDefaultInstruction, + TryChannelReqInstruction, + UnaryInstruction, +} from '../../compiler/instructions' +import { BoolType, ChannelType, Type } from '../../compiler/typing' + +import { Token, TokenLocation } from './base' + +abstract class Operator extends Token { + name: string + children: Token[] + + constructor( + type: string, + sourceLocation: TokenLocation, + name: string, + children: Token[], + ) { + super(type, sourceLocation) + this.name = name + this.children = children + } +} + +export class UnaryOperator extends Operator { + constructor(sourceLocation: TokenLocation, name: string, child: Token) { + super('unary_operator', sourceLocation, name, [child]) + } + + /** Returns a function that can be applied on its child token to create a UnaryOperator. */ + static fromSource(sourceLocation: TokenLocation, name: string) { + return (child: Token) => { + return new UnaryOperator(sourceLocation, name, child) + } + } + + override compileUnchecked(compiler: Compiler): Type { + const expressionType = this.children[0].compile(compiler) + if (this.name === 'receive') { + if (!(expressionType instanceof ChannelType)) + throw Error('Receive Expression not chan') + const recvType = expressionType.element + this.pushInstruction(compiler, new LoadDefaultInstruction(recvType)) + this.pushInstruction( + compiler, + new LoadChannelReqInstruction(true, compiler.instructions.length + 2), + ) + this.pushInstruction(compiler, new TryChannelReqInstruction()) + return recvType + } else { + this.pushInstruction(compiler, new UnaryInstruction(this.name)) + return expressionType + } + } +} + +export class BinaryOperator extends Operator { + constructor( + sourceLocation: TokenLocation, + name: string, + left: Token, + right: Token, + ) { + super('binary_operator', sourceLocation, name, [left, right]) + } + + /** Returns a function that can be applied on its children tokens to create a BinaryOperator. */ + static fromSource(sourceLocation: TokenLocation, name: string) { + return (left: Token, right: Token) => { + return new BinaryOperator(sourceLocation, name, left, right) + } + } + + override compileUnchecked(compiler: Compiler): Type { + const leftType = this.children[0].compile(compiler) + const rightType = this.children[1].compile(compiler) + if (!leftType.equals(rightType)) { + throw Error( + `Invalid operation (mismatched types ${leftType} and ${rightType})`, + ) + } + this.pushInstruction(compiler, new BinaryInstruction(this.name)) + const logical_operators = [ + 'equal', + 'not_equal', + 'less', + 'less_or_equal', + 'greater', + 'greater_or_equal', + 'conditional_or', + 'conditional_and', + ] + return logical_operators.includes(this.name) ? new BoolType() : leftType + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/parser/tokens/source_file.ts b/go-virtual-machine-main/src/virtual-machine/parser/tokens/source_file.ts new file mode 100644 index 0000000..9ed29b3 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/parser/tokens/source_file.ts @@ -0,0 +1,102 @@ +import { Compiler } from '../../compiler' +import { + BlockInstruction, + CallInstruction, + LoadConstantInstruction, + LoadVariableInstruction, + StoreInstruction, +} from '../../compiler/instructions' +import { BoolType, NoType, Type } from '../../compiler/typing' +import { builtinPackages } from '../../compiler/typing/packages' + +import { Token, TokenLocation } from './base' +import { TopLevelDeclarationToken } from './declaration' +import { StringLiteralToken } from './literals' + +export class SourceFileToken extends Token { + constructor( + sourceLocation: TokenLocation, + public pkg: string, + public imports: ImportToken[] | null, + public declarations: TopLevelDeclarationToken[] | null, + ) { + super('source_file', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + // Setup. + const global_block = new BlockInstruction('GLOBAL') + this.pushInstruction(compiler, global_block) + compiler.context.push_env() + compiler.type_environment = compiler.type_environment.extend() + + // Compile imports. + for (const imp of this.imports ?? []) imp.compile(compiler) + + // Declare builtin constants for `true` and `false`. + this.predeclareConstants(compiler) + + // Compile top level declarations. + for (const declaration of this.declarations || []) { + declaration.compile(compiler) + } + + // Call main function. + const [frame_idx, var_idx] = compiler.context.env.find_var('main') + this.pushInstruction( + compiler, + new LoadVariableInstruction(frame_idx, var_idx, 'main'), + ) + this.pushInstruction(compiler, new CallInstruction(0)) + const vars = compiler.context.env.get_frame() + global_block.set_frame( + vars.map((name) => compiler.type_environment.get(name)), + ) + global_block.set_identifiers(vars) + return new NoType() + } + + private predeclareConstants(compiler: Compiler): void { + const constants = [ + { + name: 'true', + loadInstruction: new LoadConstantInstruction(true, new BoolType()), + type: new BoolType(), + }, + { + name: 'false', + loadInstruction: new LoadConstantInstruction(false, new BoolType()), + type: new BoolType(), + }, + ] + for (const constant of constants) { + const { name, loadInstruction, type } = constant + const [frame_idx, var_idx] = compiler.context.env.declare_var(name) + this.pushInstruction( + compiler, + loadInstruction, + new LoadVariableInstruction(frame_idx, var_idx, name), + new StoreInstruction(), + ) + compiler.type_environment.addType(name, type) + } + } +} + +export class ImportToken extends Token { + constructor( + sourceLocation: TokenLocation, + public importPath: StringLiteralToken, + public pkgName: string | null, + ) { + super('import', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + const pkg = this.importPath.getValue() + if (pkg in builtinPackages) { + builtinPackages[pkg as keyof typeof builtinPackages](compiler) + } + return new NoType() + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/parser/tokens/statement.ts b/go-virtual-machine-main/src/virtual-machine/parser/tokens/statement.ts new file mode 100644 index 0000000..c19b0d7 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/parser/tokens/statement.ts @@ -0,0 +1,615 @@ +import { Compiler } from '../../compiler' +import { + BinaryInstruction, + BlockInstruction, + CallInstruction, + DeferredCallInstruction, + DoneInstruction, + ExitBlockInstruction, + ForkInstruction, + LoadChannelReqInstruction, + LoadConstantInstruction, + PopInstruction, + ReturnInstruction, + SelectInstruction, + StoreInstruction, + TryChannelReqInstruction, +} from '../../compiler/instructions' +import { + ExitLoopInstruction, + JumpIfFalseInstruction, + JumpInstruction, +} from '../../compiler/instructions/control' +import { + BoolType, + ChannelType, + Int64Type, + NoType, + ReturnType, + Type, +} from '../../compiler/typing' + +import { Token, TokenLocation } from './base' +import { BlockToken } from './block' +import { DeclarationToken, ShortVariableDeclarationToken } from './declaration' +import { + CallToken, + EmptyExpressionToken, + ExpressionToken, + PrimaryExpressionToken, +} from './expressions' +import { IdentifierToken } from './identifier' +import { UnaryOperator } from './operator' + +export type StatementToken = + | DeclarationToken + | SimpleStatementToken + | GoStatementToken + | ReturnStatementToken + | BreakStatementToken + | ContinueStatementToken + | FallthroughStatementToken + | BlockToken + | IfStatementToken + | SwitchStatementToken + | SelectStatementToken + | ForStatementToken + | DeferStatementToken + +export type SimpleStatementToken = + | ExpressionStatementToken + | SendStatementToken + | IncDecStatementToken + | AssignmentStatementToken + | ShortVariableDeclarationToken + +export class AssignmentStatementToken extends Token { + constructor( + sourceLocation: TokenLocation, + public left: ExpressionToken[], + public operation: '=' | '+=' | '*=', + public right: ExpressionToken[], + ) { + super('assignment', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + // TODO: Custom Instructions to avoid recalculation? + for (let i = 0; i < this.left.length; i++) { + const left = this.left[i] + const right = this.right[i] + let assignType: Type + if (this.operation === '+=') { + const leftType = left.compile(compiler) + const rightType = right.compile(compiler) + if (!leftType.equals(rightType)) { + throw Error( + `Invalid operation (mismatched types ${leftType} and ${rightType})`, + ) + } + assignType = leftType + this.pushInstruction(compiler, new BinaryInstruction('sum')) + } else if (this.operation === '*=') { + const leftType = left.compile(compiler) + const rightType = right.compile(compiler) + if (!leftType.equals(rightType)) { + throw Error( + `Invalid operation (mismatched types ${leftType} and ${rightType})`, + ) + } + assignType = leftType + this.pushInstruction(compiler, new BinaryInstruction('product')) + } else if (this.operation === '=') { + assignType = right.compile(compiler) + } else { + throw Error('Unimplemented') + } + const varType = left.compile(compiler) + if (!varType.assignableBy(assignType)) { + throw Error(`Cannot use ${assignType} as ${varType} in assignment`) + } + this.pushInstruction(compiler, new StoreInstruction()) + } + return new NoType() + } +} + +export class IncDecStatementToken extends Token { + constructor( + sourceLocation: TokenLocation, + public expression: ExpressionToken, + public operation: '++' | '--', + ) { + super('inc_dec', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + // TODO: Custom Instructions to avoid recalculation? + this.expression.compile(compiler) + this.pushInstruction( + compiler, + new LoadConstantInstruction(1, new Int64Type()), + ) + if (this.operation === '++') { + this.pushInstruction(compiler, new BinaryInstruction('sum')) + } else if (this.operation === '--') { + this.pushInstruction(compiler, new BinaryInstruction('difference')) + } + this.expression.compile(compiler) + this.pushInstruction(compiler, new StoreInstruction()) + return new NoType() + } +} + +export class ReturnStatementToken extends Token { + constructor( + sourceLocation: TokenLocation, + public returns?: ExpressionToken[], + ) { + super('return', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + const returnType = new ReturnType( + (this.returns ?? []).map((expr) => expr.compile(compiler)), + ) + + if ( + returnType.types.length > + compiler.type_environment.expectedReturn.types.length + ) { + throw new Error( + `Too many return values\nhave ${returnType}\nwant ${compiler.type_environment.expectedReturn}`, + ) + } + + if (!returnType.equals(compiler.type_environment.expectedReturn)) { + throw new Error( + `Cannot use ${returnType} as ${compiler.type_environment.expectedReturn} value in return statement.`, + ) + } + + this.pushInstruction(compiler, new ReturnInstruction()) + return returnType + } +} + +export class BreakStatementToken extends Token { + constructor(sourceLocation: TokenLocation) { + super('break', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + const jumpInstr = new ExitLoopInstruction() + compiler.context.add_break(jumpInstr) + this.pushInstruction(compiler, jumpInstr) + return new NoType() + } +} + +export class ContinueStatementToken extends Token { + constructor(sourceLocation: TokenLocation) { + super('continue', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + const jumpInstr = new ExitLoopInstruction() + compiler.context.add_continue(jumpInstr) + this.pushInstruction(compiler, jumpInstr) + return new NoType() + } +} + +export class FallthroughStatementToken extends Token { + constructor(sourceLocation: TokenLocation) { + super('fallthrough', sourceLocation) + } + + override compileUnchecked(_compiler: Compiler): Type { + // TODO: Implement + return new NoType() + } +} + +export class IfStatementToken extends Token { + constructor( + sourceLocation: TokenLocation, + /** Executed before the predicate (e.g. if x := 0; x < 1 {} ) */ + public initialization: SimpleStatementToken | null, + public predicate: ExpressionToken, + public consequent: BlockToken, + public alternative: IfStatementToken | BlockToken | null, + ) { + super('if', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + compiler.context.push_env() + const block_instr = new BlockInstruction('IF BLOCK') + this.pushInstruction(compiler, block_instr) + compiler.type_environment = compiler.type_environment.extend() + // Initialisation + if (this.initialization) this.initialization.compile(compiler) + + // Eval Predicate + const predicateType = this.predicate.compile(compiler) + if (!(predicateType instanceof BoolType)) { + throw new Error(`Non-boolean condition in if statement.`) + } + // If False jump to alternative / end + const jumpToAlternative = new JumpIfFalseInstruction() + + // Consequent Block + this.pushInstruction(compiler, jumpToAlternative) + this.consequent.name = 'IF BODY' + const consequentType = this.consequent.compile(compiler) + const jumpToEnd = new JumpInstruction() + this.pushInstruction(compiler, jumpToEnd) + + // Alternative Block + jumpToAlternative.set_addr(compiler.instructions.length) + // AlternativeType defaults to the expected return type, so that if there is no alternative, + // we simply treat the consequent type as the type of the whole if statement. + let alternativeType: Type = compiler.type_environment.expectedReturn + if (this.alternative) { + if (this.alternative instanceof BlockInstruction) + this.alternative.name = 'IF BODY' + alternativeType = this.alternative.compile(compiler) + } + jumpToEnd.set_addr(compiler.instructions.length) + + this.pushInstruction(compiler, new ExitBlockInstruction()) + const vars = compiler.context.env.get_frame() + block_instr.set_frame( + vars.map((name) => compiler.type_environment.get(name)), + ) + block_instr.set_identifiers(vars) + compiler.type_environment = compiler.type_environment.pop() + compiler.context.pop_env() + + if ( + consequentType instanceof ReturnType && + alternativeType instanceof ReturnType + ) { + return consequentType + } + return new NoType() + } +} + +export class SwitchStatementToken extends Token { + constructor( + sourceLocation: TokenLocation, + public init: SimpleStatementToken | null, + public expressions: ExpressionToken | null, + public cases: SwitchCaseToken[], + ) { + super('switch', sourceLocation) + } + + override compileUnchecked(_compiler: Compiler): Type { + //! TODO: Implement. + return new NoType() + } +} + +export class SwitchCaseToken extends Token { + constructor( + sourceLocation: TokenLocation, + public expressions: ExpressionToken[] | null, + public statements: StatementToken[], + ) { + super('case', sourceLocation) + } + + override compileUnchecked(_compiler: Compiler): Type { + //! TODO: Implement. + return new NoType() + } +} + +export class ForStatementToken extends Token { + // There are 4 types of for loops: + // 1. For statement that iterates the body repeatedly. + // 2. For statements with a single condition. + // 3. For statements with a for clause (init, condition, post). + // 4. For statements with a range clause. + //! Note that range clauses are not supported for now. They will likely be a seperate class. + constructor( + sourceLocation: TokenLocation, + public initialization: SimpleStatementToken | null, + public condition: ExpressionToken | null, + public post: ExpressionToken | null, + public body: BlockToken, + ) { + super('for', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + compiler.context.push_env() + compiler.type_environment = compiler.type_environment.extend() + const block_instr = new BlockInstruction('FOR INIT', true) + this.pushInstruction(compiler, block_instr) + compiler.context.push_loop() + + // Initialisation + if (this.initialization) this.initialization.compile(compiler) + const start_addr = compiler.instructions.length + + // Predicate + const predicate_false = new JumpIfFalseInstruction() + if (this.condition) { + const predicateType = this.condition.compile(compiler) + if (!(predicateType instanceof BoolType)) { + throw new Error(`Non-boolean condition in for statement condition.`) + } + this.pushInstruction(compiler, predicate_false) + } + this.body.name = 'FOR BODY' + const bodyType = this.body.compile(compiler) + + const pre_post_addr = compiler.instructions.length + if (this.post) this.post.compile(compiler) + this.pushInstruction(compiler, new JumpInstruction(start_addr)) + const post_post_addr = compiler.instructions.length + predicate_false.set_addr(post_post_addr) + + compiler.context.pop_loop(pre_post_addr, post_post_addr) + this.pushInstruction(compiler, new ExitBlockInstruction()) + const vars = compiler.context.env.get_frame() + block_instr.set_frame( + vars.map((name) => compiler.type_environment.get(name)), + ) + block_instr.set_identifiers(vars) + compiler.type_environment = compiler.type_environment.pop() + compiler.context.pop_env() + return bodyType + } +} + +export class DeferStatementToken extends Token { + constructor( + sourceLocation: TokenLocation, + public expression: ExpressionToken, + ) { + super('defer', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + if (!this.isFunctionCall()) { + throw new Error('Expression in defer must be function call.') + } + + this.expression.compile(compiler) + const call = compiler.instructions[compiler.instructions.length - 1] + compiler.instructions[compiler.instructions.length - 1] = + DeferredCallInstruction.fromCallInstruction(call as CallInstruction) + + return new NoType() + } + + private isFunctionCall(): boolean { + if (!(this.expression instanceof PrimaryExpressionToken)) return false + const modifiers = this.expression.rest ?? [] + if (modifiers.length === 0) return false + if (!(modifiers[modifiers.length - 1] instanceof CallToken)) return false + return true + } +} + +export class GoStatementToken extends Token { + constructor( + sourceLocation: TokenLocation, + public call: PrimaryExpressionToken, + ) { + super('go', sourceLocation) + } + + /** Used in the parser to only parse function calls */ + static isValidGoroutine(expression: PrimaryExpressionToken) { + return ( + expression.rest && + expression.rest.length > 0 && + expression.rest[expression.rest.length - 1] instanceof CallToken + ) + } + + override compileUnchecked(compiler: Compiler): Type { + const fork_instr = new ForkInstruction() + this.pushInstruction(compiler, fork_instr) + this.call.compile(compiler) + this.pushInstruction(compiler, new DoneInstruction()) + fork_instr.set_addr(compiler.instructions.length) + return new NoType() + } +} + +/** Sends a `value` into `channel`. */ +export class SendStatementToken extends Token { + constructor( + sourceLocation: TokenLocation, + public channel: IdentifierToken, + public value: ExpressionToken, + ) { + super('send', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + const chanType = this.channel.compile(compiler) + if (!(chanType instanceof ChannelType)) + throw Error('Not instance of channel type') + const argType = chanType.element + const exprType = this.value.compile(compiler) + if (!argType.assignableBy(exprType)) { + throw Error(`Cannot use ${exprType} as ${argType} in assignment`) + } + if (!argType.equals(exprType)) throw Error('') + this.pushInstruction( + compiler, + new LoadChannelReqInstruction(false, compiler.instructions.length + 2), + ) + this.pushInstruction(compiler, new TryChannelReqInstruction()) + return new NoType() + } +} + +/** Receive and assign the results to one or two variables. Note that RecvStmt is NOT a SimpleStmt. */ +export class ReceiveStatementToken extends Token { + constructor( + sourceLocation: TokenLocation, + /** Whether this is a shorthand variable declaration (else it is an assignment). */ + public declaration: boolean, + public identifiers: IdentifierToken[] | null, + /** expression is guarenteed to be a receive operator. */ + public expression: UnaryOperator, + ) { + super('receive', sourceLocation) + } + + /** Used in the parser to only parse valid receive statements. */ + static isReceiveStatement(identifiers: IdentifierToken[] | null) { + return ( + identifiers === null || + (identifiers.length > 0 && identifiers.length <= 2) + ) + } + + override compileUnchecked(compiler: Compiler): Type { + const chanType = this.expression.compile(compiler) + return chanType + } +} + +export class SelectStatementToken extends Token { + constructor( + sourceLocation: TokenLocation, + public clauses: CommunicationClauseToken[], + ) { + super('select', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + let default_case = false + const end_jumps = [] + for (const clause of this.clauses) { + if (clause.predicate === 'default') { + if (default_case) throw Error('Multiple Default cases!') + default_case = true + continue + } + clause.compile(compiler) + const jump_instr = new JumpInstruction() + this.pushInstruction(compiler, jump_instr) + end_jumps.push(jump_instr) + } + if (default_case) { + for (const clause of this.clauses) { + if (clause.predicate === 'default') { + clause.compile(compiler) + const jump_instr = new JumpInstruction() + this.pushInstruction(compiler, jump_instr) + end_jumps.push(jump_instr) + break + } + } + } + this.pushInstruction( + compiler, + new SelectInstruction( + this.clauses.length - (default_case ? 1 : 0), + default_case, + ), + ) + for (const jump_instr of end_jumps) + jump_instr.set_addr(compiler.instructions.length) + + return new NoType() + } +} +export class CommunicationClauseToken extends Token { + constructor( + sourceLocation: TokenLocation, + public predicate: 'default' | SendStatementToken | ReceiveStatementToken, + public body: StatementToken[], + ) { + super('communication_clause', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + if (!(this.predicate instanceof ReceiveStatementToken)) { + if (this.predicate === 'default') { + const load_instr = new LoadConstantInstruction( + compiler.instructions.length + 2, + new Int64Type(), + ) + this.pushInstruction(compiler, load_instr) + } else { + // Is send statement + this.predicate.compile(compiler) + compiler.instructions.pop() // Removing blocking op + compiler.symbols.pop() + } + const jump_instr = new JumpInstruction() + this.pushInstruction(compiler, jump_instr) + new BlockToken(this.sourceLocation, this.body, 'CASE BLOCK').compile( + compiler, + ) + jump_instr.set_addr(compiler.instructions.length + 1) + } else { + // This is recv statement + const chanType = this.predicate.expression.compile(compiler) + compiler.instructions.pop() + compiler.symbols.pop() + const jump_instr = new JumpInstruction() + this.pushInstruction(compiler, jump_instr) + if (this.predicate.identifiers) { + if (this.predicate.declaration) { + this.body.unshift( + new ShortVariableDeclarationToken( + this.sourceLocation, + this.predicate.identifiers, + [new EmptyExpressionToken(this.sourceLocation, chanType)], + ), + ) + } else { + // !TODO: Hacky see if better way to implement this + this.body.unshift( + new AssignmentStatementToken( + this.sourceLocation, + [ + new PrimaryExpressionToken( + this.sourceLocation, + this.predicate.identifiers[0], + null, + ), + ], + '=', + [new EmptyExpressionToken(this.sourceLocation, chanType)], + ), + ) + } + } else this.pushInstruction(compiler, new PopInstruction()) + new BlockToken(this.sourceLocation, this.body, 'CASE BLOCK').compile( + compiler, + ) + jump_instr.set_addr(compiler.instructions.length + 1) + } + return new NoType() + } +} + +/** An ExpressionStatement differs from an Expression: it should not leave a value on the OS. */ +export class ExpressionStatementToken extends Token { + constructor( + sourceLocation: TokenLocation, + public expression: ExpressionToken, + ) { + super('expression_statement', sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + this.expression.compile(compiler) + this.pushInstruction(compiler, new PopInstruction()) + return new NoType() + } +} diff --git a/go-virtual-machine-main/src/virtual-machine/parser/tokens/type.ts b/go-virtual-machine-main/src/virtual-machine/parser/tokens/type.ts new file mode 100644 index 0000000..63cf4a2 --- /dev/null +++ b/go-virtual-machine-main/src/virtual-machine/parser/tokens/type.ts @@ -0,0 +1,154 @@ +import { Compiler } from '../../compiler' +import { + ArrayType, + BoolType, + ChannelType, + Float64Type, + FunctionType, + Int64Type, + NoType, + ParameterType, + ReturnType, + SliceType, + StringType, + Type, +} from '../../compiler/typing' + +import { Token, TokenLocation } from './base' +import { IntegerLiteralToken } from './literals' + +export abstract class TypeToken extends Token { + constructor(sourceLocation: TokenLocation) { + super('type', sourceLocation) + } +} + +/** + * Note that PrimitiveTypeToken is not a native Golang construct. + * It is used to encompass Boolean, Numeric, and String types. + */ +export class PrimitiveTypeToken extends TypeToken { + static primitiveTypes = ['bool', 'int64', 'float64', 'int', 'string'] as const + + static isPrimitive = ( + name: unknown, + ): name is (typeof PrimitiveTypeToken.primitiveTypes)[number] => { + return PrimitiveTypeToken.primitiveTypes.includes( + // This type cast is necessary as .includes only accepts types equal to an array element. + name as (typeof PrimitiveTypeToken.primitiveTypes)[number], + ) + } + + static isPrimitiveToken = (token: unknown): token is PrimitiveTypeToken => { + return ( + token instanceof PrimitiveTypeToken && + PrimitiveTypeToken.isPrimitive(token.name) + ) + } + + name: (typeof PrimitiveTypeToken.primitiveTypes)[number] + + constructor(sourceLocation: TokenLocation, name: string) { + super(sourceLocation) + if (!PrimitiveTypeToken.isPrimitive(name)) { + throw Error(`Invalid primitive type: ${name}`) + } + this.name = name + } + + override compileUnchecked(_compiler: Compiler): Type { + if (this.name === 'bool') return new BoolType() + else if (this.name === 'float64') return new Float64Type() + else if (this.name === 'int') return new Int64Type() + else if (this.name === 'int64') return new Int64Type() + else if (this.name === 'string') return new StringType() + else return new NoType() + } +} + +export class ArrayTypeToken extends TypeToken { + constructor( + sourceLocation: TokenLocation, + public element: TypeToken, + public length: IntegerLiteralToken, + ) { + super(sourceLocation) + } + + override compileUnchecked(compiler: Compiler): ArrayType { + return new ArrayType(this.element.compile(compiler), this.length.getValue()) + } +} + +export class SliceTypeToken extends TypeToken { + constructor(sourceLocation: TokenLocation, public element: TypeToken) { + super(sourceLocation) + } + + override compileUnchecked(compiler: Compiler): SliceType { + return new SliceType(this.element.compile(compiler)) + } +} + +type ParameterDecl = { + identifier: string | null + type: TypeToken +} +export class FunctionTypeToken extends TypeToken { + public parameters: ParameterDecl[] + public results: ParameterDecl[] + + constructor( + sourceLocation: TokenLocation, + parameters: ParameterDecl[], + results: ParameterDecl[] | null, + ) { + super(sourceLocation) + this.parameters = parameters + this.results = results ?? [] + } + + override compileUnchecked(compiler: Compiler): FunctionType { + const parameterTypes = this.parameters.map( + (p) => new ParameterType(p.identifier, p.type.compile(compiler)), + ) + const resultTypes = new ReturnType( + this.results.map((r) => r.type.compile(compiler)), + ) + return new FunctionType(parameterTypes, resultTypes) + } +} + +export class MapTypeToken extends TypeToken { + constructor( + sourceLocation: TokenLocation, + public key: TypeToken, + public element: TypeToken, + ) { + super(sourceLocation) + } + + override compileUnchecked(_compiler: Compiler): Type { + //! TODO: Implement. + return new NoType() + } +} + +export class ChannelTypeToken extends TypeToken { + constructor( + sourceLocation: TokenLocation, + public element: TypeToken, + public readable: boolean, + public writable: boolean, + ) { + super(sourceLocation) + } + + override compileUnchecked(compiler: Compiler): Type { + return new ChannelType( + this.element.compile(compiler), + this.readable, + this.writable, + ) + } +} diff --git a/go-virtual-machine-main/tests/array.test.ts b/go-virtual-machine-main/tests/array.test.ts new file mode 100644 index 0000000..86bf0e2 --- /dev/null +++ b/go-virtual-machine-main/tests/array.test.ts @@ -0,0 +1,60 @@ +import { describe, expect, test } from 'vitest' + +import { mainRunner } from './utility' + +describe('Array Type Checking', () => { + test('Array literal with more elements than in the type should fail.', () => { + expect( + mainRunner('var a [3]int = [3]int{1, 2, 3, 4}').error?.message, + ).toEqual( + 'Array literal has 4 elements but only expected 3, in type [3]int64.', + ) + }) + + test('Array literal must have the same type as the declared type.', () => { + expect( + mainRunner('var a [3]int = [3]int{1, "wrong type", 3}').error?.message, + ).toEqual('Cannot use string as int64 value in array literal.') + }) + + test('Array indexing with non integer type should fail.', () => { + expect( + mainRunner('var a [3]int = [3]int{1, 2, 3}; fmt.Println(a[1.2])').error + ?.message, + ).toEqual('Invalid argument: Index has type float64 but must be an integer') + }) +}) + +describe('Array Execution', () => { + test('Array indexing with valid index works.', () => { + expect( + mainRunner( + 'var a [3]string = [3]string{"a", "b", "c"}\n fmt.Println(a[2])', + ).output, + ).toEqual('c\n') + }) + + test('Array indexing with negative index fails.', () => { + expect( + mainRunner( + 'var a [3]string = [3]string{"a", "b", "c"}\n fmt.Println(a[-1])', + ).error?.message, + ).toEqual('Execution Error: Index out of range [-1] with length 3') + }) + + test('Array indexing with out of range index fails.', () => { + expect( + mainRunner( + 'var a [3]string = [3]string{"a", "b", "c"}\n fmt.Println(a[3])', + ).error?.message, + ).toEqual('Execution Error: Index out of range [3] with length 3') + }) + + test('Nested arrays work.', () => { + expect( + mainRunner( + 'a := [3][3]int{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; fmt.Println(a[1][2])', + ).output, + ).toEqual('6\n') + }) +}) diff --git a/go-virtual-machine-main/tests/builtin.test.ts b/go-virtual-machine-main/tests/builtin.test.ts new file mode 100644 index 0000000..8bd8e2e --- /dev/null +++ b/go-virtual-machine-main/tests/builtin.test.ts @@ -0,0 +1,11 @@ +import { describe, expect, test } from 'vitest' + +import { mainRunner } from './utility' + +describe('Builtins Type Checking', () => { + test('Assignment of make with incompatible type should fail', () => { + expect( + mainRunner('var a chan int = make(chan string)').error?.message, + ).toEqual('Cannot use chan string as chan int64 in variable declaration') + }) +}) diff --git a/go-virtual-machine-main/tests/channel.test.ts b/go-virtual-machine-main/tests/channel.test.ts new file mode 100644 index 0000000..1e65508 --- /dev/null +++ b/go-virtual-machine-main/tests/channel.test.ts @@ -0,0 +1,154 @@ +import { describe, expect, test } from 'vitest' + +import { mainRunner } from './utility' + +describe('Channel Tests', () => { + test('Assign int to channel should fail', () => { + expect(mainRunner('var a <-chan int = 1').error?.message).toEqual( + 'Cannot use int64 as <-chan int64 in variable declaration', + ) + }) + + test('Channels Basic Test', () => { + expect( + mainRunner(` + c1 := make(chan int) + go func(){ + for i:=0; i < 100; i++ { + + } + fmt.Println("hi") + c1 <- 1 + }() + a := <- c1 + fmt.Println(a)`).output, + ).toEqual('hi\n1\n') + }) + + test('Channels Operator Test', () => { + expect( + mainRunner(` + c1 := make(chan int) + go func() { + c1<- 5 + }() + fmt.Println(4 + <- c1)`).output, + ).toEqual('9\n') + }) + + test('Channels Select Case Test', () => { + const strs = mainRunner(` + c1 := make(chan int) + c2 := make(chan string) + c3 := make(chan string) + go func() { + for { + select { + case <-c2: + c3 <- "stop" + break + default: + c1 <- 1 + } + } + }() + + go func() { + for { + select { + case <- c1: + fmt.Println("recv!") + case <-c3: + fmt.Println("stopped") + break + } + } + }() + for i:=0; i < 5; i++{} + fmt.Println("done") + c2 <- "stop" + for i:=0; i < 100; i++{}`) + .output?.trim() + .split('\n') + let done = false + let stopped = false + if (!strs) throw Error('No output') + for (const str of strs) { + if (str === 'done') { + if (done) throw Error('Multiple Dones!') + done = true + } + if (str === 'stopped') { + if (!done) throw Error('Stopped before main thread done!') + if (stopped) throw Error('Multiple Stopped!') + stopped = true + } + } + if (strs[strs.length - 1] !== 'stopped') + throw Error('Final string not stopped') + }) + + test('Channels Select Case Test 2', () => { + const strs = mainRunner(` + c1 := make(chan int) + n := 25 + + go func() { + for i := 0; i < n; i++ { + select { + case c1 <- 1: + fmt.Println("Write 1 1") + case <-c1: + fmt.Println("Read 1 2") + } + } + }() + + go func() { + for i := 0; i < n; i++ { + select { + case c1 <- 2: + fmt.Println("Write 2 2") + case <-c1: + fmt.Println("Read 2 1") + } + } + }() + for i:=0; i < 100; i++{}`) + .output?.trim() + .split('\n') + const arr1: number[] = [], + arr2: number[] = [] + expect(strs?.length).toEqual(50) + for (const str of strs || []) { + if (str.startsWith('Write 1') || str.startsWith('Read 1')) { + arr1.push(parseInt(str[str.length - 1])) + } else if (str.startsWith('Write 2') || str.startsWith('Read 2')) { + arr2.push(parseInt(str[str.length - 1])) + } else throw Error('Invalid String') + } + expect(arr1.length).toEqual(25) + expect(arr2.length).toEqual(25) + for (let i = 0; i < 25; i++) { + expect(arr1[i]).toEqual(arr2[i]) + } + }) + test('Channels Buffer Test', () => { + expect( + mainRunner(` + c1 := make(chan int, 3) + for i:= 0; i < 3; i++ { + c1 <- 1 + } + go func(){ + c1<- 1 + fmt.Println("done2") + }() + for i:=0;i < 100;i++ { + } + fmt.Println("done1") + <-c1 + for i:=0; i < 100; i++{}`).output, + ).toEqual('done1\ndone2\n') + }) +}) diff --git a/go-virtual-machine-main/tests/comment.test.ts b/go-virtual-machine-main/tests/comment.test.ts new file mode 100644 index 0000000..4f4fdd4 --- /dev/null +++ b/go-virtual-machine-main/tests/comment.test.ts @@ -0,0 +1,27 @@ +import { describe, expect, test } from 'vitest' + +import { runCode } from '../src/virtual-machine' + +describe('Comments Tests', () => { + test('Comments are correctly ignored', () => { + const code = ` + package main + // comments in global + import "fmt" + /* + multiline + comments in global + */ + + func main() { + a := 1 + 2 // comment at end of line + /* multiline + comment */ + /**/ + // + fmt.Println(/* comment in middle of code */a) + } + ` + expect(runCode(code, 2048).output).toEqual('3\n') + }) +}) diff --git a/go-virtual-machine-main/tests/concurrency.test.ts b/go-virtual-machine-main/tests/concurrency.test.ts new file mode 100644 index 0000000..be5fef6 --- /dev/null +++ b/go-virtual-machine-main/tests/concurrency.test.ts @@ -0,0 +1,39 @@ +import { describe, expect, test } from 'vitest' + +import { mainRunner } from './utility' + +describe('Concurrency Check', () => { + test('Basic Check', () => { + expect( + mainRunner(` + a := 0 + for i := 0; i < 5; i++ { + go func(){ + a+=1 + }() + } + a+=1 + for j := 0; j < 100 ; j++ { + } + fmt.Println(a)`).output, + ).toEqual('6\n') + }) + test('Race Cond', () => { + expect( + parseInt( + mainRunner(` + a := 0 + for i := 0; i < 5; i++ { + go func(){ + for j := 0; j < 100 ; j++ { + a += 1 + } + }() + } + for j := 0; j < 1000 ; j++ { + } + fmt.Println(a)`).output || '100', + ), + ).toBeLessThan(500) + }) +}) diff --git a/go-virtual-machine-main/tests/control.test.ts b/go-virtual-machine-main/tests/control.test.ts new file mode 100644 index 0000000..be3c3e0 --- /dev/null +++ b/go-virtual-machine-main/tests/control.test.ts @@ -0,0 +1,65 @@ +import { describe, expect, test } from 'vitest' + +import { mainRunner } from './utility' + +describe('Variable Declaration Tests', () => { + test('If statement', () => { + expect( + mainRunner( + 'i:= 4\ + a:= 1337\ + if i:= 3; i == 4 {\ + a += i\ + } else {\ + a += -i\ + }\ + fmt.Println(a)', + ).output, + ).toEqual('1334\n') + }) + test('For loop', () => { + expect( + mainRunner( + 'a := 0;\ + for i:= 0; i < 5; i++ {\ + a += i\ + i := 3\ + a += i\ + }\ + fmt.Println(a)', + ).output, + ).toEqual('25\n') + }) + test('For loop continue', () => { + expect( + mainRunner( + 'a := 0;\ + for i:= 0; i < 5; i++ {\ + if (i == 3) {\ + continue\ + }\ + a += i\ + i := 3\ + a += i\ + }\ + fmt.Println(a)', + ).output, + ).toEqual('19\n') + }) + test('For loop break', () => { + expect( + mainRunner( + 'a := 0;\ + for i:= 0; i < 5; i++ {\ + if (i == 3) {\ + break\ + }\ + a += i\ + i := 3\ + a += i\ + }\ + fmt.Println(a)', + ).output, + ).toEqual('12\n') + }) +}) diff --git a/go-virtual-machine-main/tests/declaration.test.ts b/go-virtual-machine-main/tests/declaration.test.ts new file mode 100644 index 0000000..b1e1d89 --- /dev/null +++ b/go-virtual-machine-main/tests/declaration.test.ts @@ -0,0 +1,52 @@ +import { describe, expect, test } from 'vitest' + +import { mainRunner } from './utility' + +describe('Variable Declaration Tests', () => { + test('Const Variables', () => { + expect( + mainRunner( + 'var a int = 3;\ + const b int = 5;\ + const c int = b;\ + fmt.Println(a+b+c)', + ).output, + ).toEqual('13\n') + }) + + test('String Variables', () => { + expect( + mainRunner( + 'a := "hi";\ + b := "hi2";\ + fmt.Println(a + b)', + ).output, + ).toEqual('hihi2\n') + }) + + test('Boolean constants true and false are predeclared', () => { + const code = ` + if false { + fmt.Println("false") + } + if true { + fmt.Println("true") + } + ` + expect(mainRunner(code).output).toEqual('true\n') + }) + + test('Boolean constants true and false can be shadowed by local declaration', () => { + const code = ` + true := false + false := true + if false { + fmt.Println("false") + } + if true { + fmt.Println("true") + } + ` + expect(mainRunner(code).output).toEqual('') + }) +}) diff --git a/go-virtual-machine-main/tests/defer.test.ts b/go-virtual-machine-main/tests/defer.test.ts new file mode 100644 index 0000000..046a655 --- /dev/null +++ b/go-virtual-machine-main/tests/defer.test.ts @@ -0,0 +1,49 @@ +import { describe, expect, test } from 'vitest' + +import { runCode } from '../src/virtual-machine' + +import { mainRunner } from './utility' + +describe('Defer Type Checking', () => { + test('Defer on non call should fail.', () => { + const code = ` + defer "hello" + ` + expect(mainRunner(code).error?.message).toEqual( + 'Expression in defer must be function call.', + ) + }) +}) + +describe('Defer Execution', () => { + test('Defer runs in order', () => { + const code = ` + defer func(){ fmt.Println("!!!") }() + defer func(){ fmt.Println("world") }() + fmt.Println("hello") + ` + expect(mainRunner(code).output).toEqual('hello\nworld\n!!!\n') + }) + + test('Defer with wait groups work', () => { + const code = ` + package main + import "fmt" + import "sync" + func main() { + count := 0 + var wg sync.WaitGroup + for i := 0; i < 1000; i++ { + wg.Add(1) + go func() { + defer wg.Done() + count++ + }() + } + wg.Wait() + fmt.Println(count) + } + ` + expect(runCode(code, 2048).output).toEqual('1000\n') + }) +}) diff --git a/go-virtual-machine-main/tests/environment.test.ts b/go-virtual-machine-main/tests/environment.test.ts new file mode 100644 index 0000000..ff6cbbd --- /dev/null +++ b/go-virtual-machine-main/tests/environment.test.ts @@ -0,0 +1,29 @@ +import { describe, expect, test } from 'vitest' + +import { mainRunner } from './utility' + +describe('Basic Environment Tests', () => { + test('Number Variables', () => { + expect( + mainRunner( + 'var a int = 3;\ + b:= a + 3;\ + c := a + b;\ + c *= a;\ + fmt.Println(a + b + c)', + ).output, + ).toEqual('36\n') + }) + test('Number Variables Scoping', () => { + expect( + mainRunner( + ' var a int = 3;\ + {\ + var a int = 1;\ + a = 2;\ + };\ + fmt.Println(a)', + ).output, + ).toEqual('3\n') + }) +}) diff --git a/go-virtual-machine-main/tests/expression.test.ts b/go-virtual-machine-main/tests/expression.test.ts new file mode 100644 index 0000000..679cb98 --- /dev/null +++ b/go-virtual-machine-main/tests/expression.test.ts @@ -0,0 +1,19 @@ +import { describe, expect, test } from 'vitest' + +import { mainRunner } from './utility' + +describe('Basic Expression Tests', () => { + test('Basic Arithmetic 1', () => { + expect(mainRunner('fmt.Println(5 * -1 + 3 * 4 / 2 + 3)').output).toEqual( + '4\n', + ) + }) + test('Basic Arithmetic 2', () => { + expect(mainRunner('fmt.Println((4+3)*5%(5+3)+2)').output).toEqual('5\n') + }) + test('Boolean Expression', () => { + expect( + mainRunner('fmt.Println((2+1 < 3) || (7 == 9%5 + 15/5))').output, + ).toEqual('true\n') + }) +}) diff --git a/go-virtual-machine-main/tests/fmt.test.ts b/go-virtual-machine-main/tests/fmt.test.ts new file mode 100644 index 0000000..912dd72 --- /dev/null +++ b/go-virtual-machine-main/tests/fmt.test.ts @@ -0,0 +1,24 @@ +import { describe, expect, test } from 'vitest' + +import { mainRunner } from './utility' + +describe('fmt Type Checking', () => { + test('Selector on fmt should fail unless it is fmt.Println.', () => { + const code = ` + fmt.nonexistent("hi") + ` + expect(mainRunner(code).error?.message).toEqual( + 'undefined: fmt.nonexistent', + ) + }) +}) + +describe('fmt Execution', () => { + test('fmt.Println works', () => { + const code = ` + fmt.Println("Hello", "world", true, false) + fmt.Println(1, 2, 3, 4) + ` + expect(mainRunner(code).output).toEqual('Hello world true false\n1 2 3 4\n') + }) +}) diff --git a/go-virtual-machine-main/tests/function.test.ts b/go-virtual-machine-main/tests/function.test.ts new file mode 100644 index 0000000..4e90cc4 --- /dev/null +++ b/go-virtual-machine-main/tests/function.test.ts @@ -0,0 +1,210 @@ +import { describe, expect, test } from 'vitest' + +import { runCode } from '../src/virtual-machine' + +import { mainRunner } from './utility' + +describe('Function Type Checking', () => { + test('Function assignment', () => { + expect( + mainRunner('var a func(int, int) = func(int, int, int) {}').error + ?.message, + ).toEqual( + 'Cannot use func(int64, int64, int64) () as func(int64, int64) () in variable declaration', + ) + }) + + test('Function call - too many arguments', () => { + expect( + mainRunner('f := func(int, int) {}; f(1, 2, 3)').error?.message, + ).toEqual( + 'Too many arguments in function call\n' + + 'have (int64, int64, int64)\n' + + 'want (int64, int64)', + ) + }) + + test('Function call - too few arguments', () => { + expect(mainRunner('f := func(int, int) {}; f(1)').error?.message).toEqual( + 'Not enough arguments in function call\n' + + 'have (int64)\n' + + 'want (int64, int64)', + ) + }) + + test('Function call - incorrect argument type', () => { + expect( + mainRunner('f := func(int, int) {}; f(1, "a")').error?.message, + ).toEqual('Cannot use string as int64 in argument to function call') + }) + + test('Function missing return', () => { + expect(mainRunner('f := func(x int) int { x += 1}').error?.message).toEqual( + 'Missing return.', + ) + }) + + test('Function with if statement missing return in one branch', () => { + expect( + mainRunner( + 'f := func(x int) int { if x == 1 { x += 1 } else { return 1 } }', + ).error?.message, + ).toEqual('Missing return.') + }) + + test('Function with wrong return type', () => { + expect( + mainRunner( + 'f := func(x int) int { if x == 1 { return "hi" } else { return 1 } }', + ).error?.message, + ).toEqual('Cannot use (string) as (int64) value in return statement.') + }) + + test('Function with too many return values', () => { + expect( + mainRunner( + 'f := func(x int) { if x == 1 { return 1 } else { return 1 } }', + ).error?.message, + ).toEqual('Too many return values\nhave (int64)\nwant ()') + }) +}) + +describe('Function Execution tests', () => { + test('Function Literals', () => { + expect( + mainRunner( + 'f := func(x int, y int) int{\ + return x + y\ + }\ + fmt.Println(1 + f(1, 2))', + ).output, + ).toEqual('4\n') + }) + + test('Function Declaration', () => { + expect( + runCode( + `package main + import "fmt" + + var a int = 1 + + func f(x, y int) int { + return x + y + a + } + + func main() { + f := func(x, y int) int { + return x + y + 100 + } + fmt.Println(f(1, 2)) + }`, + 2048, + ).output, + ).toEqual('103\n') + }) + + test('Function assignment in loop', () => { + expect( + runCode( + `package main + import "fmt" + func main() { + f := func(x, y int) int { + return x + y + } + for i := 0; i < 5; i++ { + f = func(x, y int) int { + return x + y + i + } + } + fmt.Println(f(1, 2)) + }`, + 2048, + ).output, + ).toEqual('8\n') + }) + + test('Function assignment in loop and if', () => { + expect( + runCode( + `package main + import "fmt" + func main() { + f := func(x, y int) int { + return x + y + } + for i := 0; i < 100; i++ { + if i < 50 { + f = func(x, y int) int { + return x + y + i + } + } + } + fmt.Println(f(1, 2)) + }`, + 2048, + ).output, + ).toEqual('103\n') + }) + + test('Recursive function', () => { + expect( + runCode( + `package main + + import "fmt" + + func f(x int) int { + if x == 0 { + return 0 + } + return f(x - 1) + 1 + } + + func main() { + fmt.Println(f(10)) + }`, + 2048, + ).output, + ).toEqual('10\n') + }) + + test('Calling a function twice.', () => { + expect( + mainRunner('f := func(){ fmt.Println(1) }; f(); f()').output, + ).toEqual('1\n1\n') + }) + + test('Closures', () => { + expect( + runCode( + `package main + import "fmt" + + func getAreaFunc() func(int, int) int { + a := 0 + k := func(x, y int) int { + a += 1 + return x*y + a + } + a += 1 + return k + } + + func main() { + f := getAreaFunc() + f2 := getAreaFunc() + fmt.Println(f(3, 2)) + fmt.Println(f(1, 1)) + fmt.Println(f(1, 1)) + fmt.Println(f2(1, 1)) + fmt.Println(f2(2, 3)) + fmt.Println(f2(1, 1)) + } + `, + 2048, + ).output, + ).toEqual('8\n4\n5\n3\n9\n5\n') + }) +}) diff --git a/go-virtual-machine-main/tests/heap.test.ts b/go-virtual-machine-main/tests/heap.test.ts new file mode 100644 index 0000000..1b8ef03 --- /dev/null +++ b/go-virtual-machine-main/tests/heap.test.ts @@ -0,0 +1,49 @@ +import { describe, expect, test } from 'vitest' + +import { Heap } from '../src/virtual-machine/heap' +import { ContextNode } from '../src/virtual-machine/heap/types/context' +import { + EnvironmentNode, + FrameNode, +} from '../src/virtual-machine/heap/types/environment' + +describe('Heap Tests', () => { + test('Get Set Bits', () => { + const heap = new Heap(320) + heap.memory.set_bits(8796013022207, 121, 45, 2) + // heap.memory.print() + expect(heap.memory.get_bits(121, 45, 2)).toEqual(8796013022207) + }) + test('Get Set Bits 2', () => { + const heap = new Heap(320) + heap.memory.set_bits(-1, 121, 45, 2) + expect(heap.memory.get_bits(121, 45, 2)).toEqual(35184372088831) // 2**45 - 1 + }) + test('Get Set Bits 3', () => { + const heap = new Heap(100) + heap.memory.set_bits(1, 1, 29, 6) + heap.memory.set_bits(2, 2, 29, 3) + expect(heap.memory.get_bits(1, 29, 6)).toEqual(1) + }) + test('Get Set Bits 4', () => { + const heap = new Heap(56) + heap.memory.set_bits(2, 3, 5, 1) + heap.memory.set_bits(3, 3, 29, 6) + expect(heap.memory.get_bits(3, 5, 1)).toEqual(2) + }) + test('Mark And Sweep', () => { + const heap = new Heap(56) + expect(() => FrameNode.create(0, heap)).toThrow(Error) + }) + test('Mark And Sweep 2', () => { + const heap = new Heap(62) + const context = new ContextNode(heap, heap.contexts.peek()) + const base_frame = FrameNode.create(0, heap) + const base_env = EnvironmentNode.create(base_frame.addr, [], false, heap) + context.set_E(base_env.addr) + heap.allocate(2) + heap.allocate(2) + heap.allocate(2) + expect(() => heap.allocate(4)).toThrow(Error) + }) +}) diff --git a/go-virtual-machine-main/tests/slice.test.ts b/go-virtual-machine-main/tests/slice.test.ts new file mode 100644 index 0000000..3742f36 --- /dev/null +++ b/go-virtual-machine-main/tests/slice.test.ts @@ -0,0 +1,112 @@ +import { describe, expect, test } from 'vitest' + +import { mainRunner } from './utility' + +describe('Slice Type Checking', () => { + test('Slice literal must have the same type as the declared type.', () => { + expect( + mainRunner('var a []int = []int{1, "wrong type", 3}').error?.message, + ).toEqual('Cannot use string as int64 value in slice literal.') + }) + + test('Slice indexing with non integer type should fail.', () => { + expect( + mainRunner('var a []int = []int{1, 2, 3}; fmt.Println(a[1.2])').error + ?.message, + ).toEqual('Invalid argument: Index has type float64 but must be an integer') + }) + + test('Slice len with too little arguments fails', () => { + expect( + mainRunner('a := []int{1, 2, 3, 4}; fmt.Println(len())').error?.message, + ).toEqual( + 'Invalid operation: not enough arguments for len (expected 1, found 0)', + ) + }) + + test('Slice len with too many arguments fails', () => { + expect( + mainRunner('a := []int{1, 2, 3, 4}; fmt.Println(len(a, a))').error + ?.message, + ).toEqual( + 'Invalid operation: too many arguments for len (expected 1, found 2)', + ) + }) + + test('Slice len with wrong type', () => { + expect( + mainRunner('a := []int{1, 2, 3, 4}; fmt.Println(len(1))').error?.message, + ).toEqual('Invalid argument: (int64) for len') + }) + + test('Slicing invalid types should fail.', () => { + expect(mainRunner('a := 1; b := a[:]').error?.message).toEqual( + 'Invalid operation: Cannot slice int64', + ) + }) +}) + +describe('Slice Execution', () => { + test('Slice indexing with valid index works.', () => { + expect( + mainRunner('var a []string = []string{"a", "b", "c"}\n fmt.Println(a[2])') + .output, + ).toEqual('c\n') + }) + + test('Slice indexing with negative index fails.', () => { + expect( + mainRunner( + 'var a []string = []string{"a", "b", "c"}\n fmt.Println(a[-1])', + ).error?.message, + ).toEqual('Execution Error: Index out of range [-1] with length 3') + }) + + test('Slice indexing with out of range index fails.', () => { + expect( + mainRunner('var a []string = []string{"a", "b", "c"}\n fmt.Println(a[3])') + .error?.message, + ).toEqual('Execution Error: Index out of range [3] with length 3') + }) + + test('Nested slices work.', () => { + expect( + mainRunner( + 'a := [][]int{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; fmt.Println(a[1][2])', + ).output, + ).toEqual('6\n') + }) + + test('Slice len works.', () => { + expect( + mainRunner('a := [][]int{{1}, {2}, {3}}; fmt.Println(len(a))').output, + ).toEqual('3\n') + }) + + test('Slice capacity works.', () => { + expect( + mainRunner('a := [][]int{{1}, {2}, {3}}; fmt.Println(cap(a))').output, + ).toEqual('3\n') + }) + + test('Slicing works.', () => { + expect( + mainRunner(`a := [4]int{0, 1, 2, 3} + b := a[:] + fmt.Println(b) + b = b[2:] + fmt.Println(b) + c := b[1:] + fmt.Println(c) + c = c[1:] + fmt.Println(c)`).output, + ).toEqual('[0 1 2 3]\n[2 3]\n[3]\n[]\n') + }) + + test('Slicing with out of bounds range should error.', () => { + expect( + mainRunner(`a := [4]int{0, 1, 2, 3} + b := a[4:5]`).error?.message, + ).toEqual('Execution Error: Slice bounds out of range') + }) +}) diff --git a/go-virtual-machine-main/tests/type.test.ts b/go-virtual-machine-main/tests/type.test.ts new file mode 100644 index 0000000..0d988b0 --- /dev/null +++ b/go-virtual-machine-main/tests/type.test.ts @@ -0,0 +1,45 @@ +import { describe, expect, test } from 'vitest' + +import { mainRunner } from './utility' + +describe('Assignment Type Checking', () => { + test('Declaration', () => { + expect(mainRunner('var a int = 1.0').error?.message).toEqual( + 'Cannot use float64 as int64 in variable declaration', + ) + }) + + test('Short variable declaration', () => { + expect(mainRunner('a := 1; var b string = a').error?.message).toEqual( + 'Cannot use int64 as string in variable declaration', + ) + }) + + test('Assigment', () => { + expect(mainRunner('a := "hi"; a = 2').error?.message).toEqual( + 'Cannot use int64 as string in assignment', + ) + }) +}) + +describe('Binary Operator Type Checking', () => { + test('Add assign', () => { + expect(mainRunner('a := "hi"; a = 2 * "xyz"').error?.message).toEqual( + 'Invalid operation (mismatched types int64 and string)', + ) + }) + + test('Binary multiplication', () => { + expect(mainRunner('a := 1 * 1.0').error?.message).toEqual( + 'Invalid operation (mismatched types int64 and float64)', + ) + }) +}) + +describe('Miscellaneous Type Checking', () => { + test('Variable shadowing', () => { + expect(mainRunner('a := 1; { a := 2.0; a = 1 }').error?.message).toEqual( + 'Cannot use int64 as float64 in assignment', + ) + }) +}) diff --git a/go-virtual-machine-main/tests/utility.ts b/go-virtual-machine-main/tests/utility.ts new file mode 100644 index 0000000..c08677e --- /dev/null +++ b/go-virtual-machine-main/tests/utility.ts @@ -0,0 +1,13 @@ +import { runCode } from '../src/virtual-machine' + +/** Runs the code in a main function */ +export const mainRunner = (code: string) => { + const packagedCode = ` + package main + import "fmt" + func main() { + ${code} + } + ` + return runCode(packagedCode, 2048) +} diff --git a/go-virtual-machine-main/tests/waitGroup.test.ts b/go-virtual-machine-main/tests/waitGroup.test.ts new file mode 100644 index 0000000..555b07d --- /dev/null +++ b/go-virtual-machine-main/tests/waitGroup.test.ts @@ -0,0 +1,99 @@ +import { describe, expect, test } from 'vitest' + +import { runCode } from '../src/virtual-machine' + +describe('Wait Group Type Checking', () => { + test('Wait groups should not work without importing sync.', () => { + const code = ` + package main + + func main() { + var a sync.WaitGroup + } + ` + expect(runCode(code, 2048).error?.message).toEqual( + 'Variable sync not found', + ) + }) + + test('Assinging a variable of another type to WaitGroup should fail.', () => { + const code = ` + package main + import "sync" + func main() { + var a sync.WaitGroup = "hello" + } + ` + expect(runCode(code, 2048).error?.message).toEqual( + 'Cannot use string as sync.WaitGroup in variable declaration', + ) + }) + + test('Calling .Add() with too many arguments should fail.', () => { + const code = ` + package main + import "sync" + func main() { + var a sync.WaitGroup + a.Add(1, 2) + } + ` + expect(runCode(code, 2048).error?.message).toEqual( + 'Too many arguments in function call\nhave (int64, int64)\nwant (int64)', + ) + }) +}) + +describe('Wait Group Execution', () => { + test('Making the WaitGroup counter negative by adding should panic.', () => { + const code = ` + package main + import "sync" + func main() { + var a sync.WaitGroup + a.Add(-5) + } + ` + expect(runCode(code, 2048).error?.message).toEqual( + 'Execution Error: sync: negative WaitGroup counter.', + ) + }) + + test('Making the WaitGroup counter negative by Done should panic.', () => { + const code = ` + package main + import "sync" + func main() { + var a sync.WaitGroup + a.Add(1) + a.Done() + a.Done() + } + ` + expect(runCode(code, 2048).error?.message).toEqual( + 'Execution Error: sync: negative WaitGroup counter.', + ) + }) + + test('Waiting works.', () => { + const code = ` + package main + import "fmt" + import "sync" + func main() { + count := 0 + var wg sync.WaitGroup + for i := 0; i < 1000; i++ { + wg.Add(1) + go func() { + count++ + wg.Done() + }() + } + wg.Wait() + fmt.Println(count) + } + ` + expect(runCode(code, 2048).output).toEqual('1000\n') + }) +}) diff --git a/go-virtual-machine-main/tsconfig.json b/go-virtual-machine-main/tsconfig.json new file mode 100644 index 0000000..32a8d31 --- /dev/null +++ b/go-virtual-machine-main/tsconfig.json @@ -0,0 +1,114 @@ +{ + "compilerOptions": { + "baseUrl": "./", + /* Visit https://aka.ms/tsconfig to read more about this file */ + + /* Projects */ + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es2021" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, + "lib": [ + "es2021", + "dom" + ] /* Specify a set of bundled library declaration files that describe the target runtime environment. */, + "jsx": "react-jsx" /* Specify what JSX code is generated. */, + // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "commonjs" /* Specify what module code is generated. */, + "rootDir": "./" /* Specify the root folder within your source files. */, + // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ + // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ + // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ + // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + "resolveJsonModule": true /* Enable importing .json files. */, + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + "allowJs": false /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */, + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + "outDir": "./build" /* Specify an output folder for all emitted files. */, + // "removeComments": true, /* Disable emitting comments. */ + "noEmit": true /* Disable emitting files from a compilation. */, + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + "noEmitOnError": true /* Disable emitting files if any type checking errors are reported. */, + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ + + /* Interop Constraints */ + "isolatedModules": true /* Ensure that each file can be safely transpiled without relying on other imports. */, + // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ + "allowSyntheticDefaultImports": true /* Allow 'import x from y' when a module doesn't have a default export. */, + "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */, + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, + + /* Type Checking */ + "strict": true /* Enable all strict type-checking options. */, + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + "noImplicitThis": true /* Enable error reporting when 'this' is given the type 'any'. */, + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + "alwaysStrict": true /* Ensure 'use strict' is always emitted. */, + "noUnusedLocals": true /* Enable error reporting when local variables aren't read. */, + "noUnusedParameters": true /* Raise an error when a function parameter isn't read. */, + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + "noImplicitReturns": true /* Enable error reporting for codepaths that do not explicitly return in a function. */, + "noFallthroughCasesInSwitch": true /* Enable error reporting for fallthrough cases in switch statements. */, + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + "noImplicitOverride": true /* Ensure overriding members in derived classes are marked with an override modifier. */, + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + }, + "include": ["./src/**/*", "./tests/**/*"] +}

    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