dh_demo

DreamHanks demo project
git clone git://git.lair.cx/dh_demo
Log | Files | Refs | README

.pnp.cjs (955699B)


      1 #!/usr/bin/env node
      2 /* eslint-disable */
      3 "use strict";
      4 
      5 function $$SETUP_STATE(hydrateRuntimeState, basePath) {
      6   return hydrateRuntimeState(JSON.parse('{\
      7     "__info": [\
      8       "This file is automatically generated. Do not touch it, or risk",\
      9       "your modifications being lost. We also recommend you not to read",\
     10       "it either without using the @yarnpkg/pnp package, as the data layout",\
     11       "is entirely unspecified and WILL change from a version to another."\
     12     ],\
     13     "dependencyTreeRoots": [\
     14       {\
     15         "name": "dreamhanks-demo-project",\
     16         "reference": "workspace:."\
     17       }\
     18     ],\
     19     "enableTopLevelFallback": true,\
     20     "ignorePatternData": "(^(?:\\\\.yarn\\\\/sdks(?:\\\\/(?!\\\\.{1,2}(?:\\\\/|$))(?:(?:(?!(?:^|\\\\/)\\\\.{1,2}(?:\\\\/|$)).)*?)|$))$)",\
     21     "fallbackExclusionList": [\
     22       ["dreamhanks-demo-project", ["workspace:."]]\
     23     ],\
     24     "fallbackPool": [\
     25     ],\
     26     "packageRegistryData": [\
     27       [null, [\
     28         [null, {\
     29           "packageLocation": "./",\
     30           "packageDependencies": [\
     31             ["@next/font", "npm:13.1.2"],\
     32             ["@testing-library/jest-dom", "npm:5.16.5"],\
     33             ["@testing-library/react", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.4.0"],\
     34             ["@testing-library/user-event", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:14.4.3"],\
     35             ["@types/bcrypt", "npm:5.0.0"],\
     36             ["@types/diff", "npm:5.0.2"],\
     37             ["@types/jest", "npm:29.2.6"],\
     38             ["@types/jsonwebtoken", "npm:9.0.1"],\
     39             ["@types/node", "npm:18.11.18"],\
     40             ["@types/nodemailer", "npm:6.4.7"],\
     41             ["@types/react", "npm:18.0.26"],\
     42             ["@types/react-dom", "npm:18.0.10"],\
     43             ["@types/testing-library__jest-dom", "npm:5.14.5"],\
     44             ["bcrypt", "npm:5.1.0"],\
     45             ["diff", "npm:5.1.0"],\
     46             ["eslint", "npm:8.32.0"],\
     47             ["eslint-config-next", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.1.2"],\
     48             ["handlebars", "npm:4.7.7"],\
     49             ["jest", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:29.3.1"],\
     50             ["jest-environment-jsdom", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:29.3.1"],\
     51             ["jsonwebtoken", "npm:9.0.0"],\
     52             ["moment", "npm:2.29.4"],\
     53             ["mysql2", "npm:3.0.1"],\
     54             ["nanoevents", "npm:7.0.1"],\
     55             ["nanoid", "npm:4.0.0"],\
     56             ["next", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.1.2"],\
     57             ["next-router-mock", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:0.9.1-beta.0"],\
     58             ["next-superjson-plugin", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:0.5.4"],\
     59             ["nodemailer", "npm:6.9.0"],\
     60             ["pino", "npm:8.8.0"],\
     61             ["react", "npm:18.2.0"],\
     62             ["react-dom", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:18.2.0"],\
     63             ["react-hot-toast", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:2.4.0"],\
     64             ["redis", "npm:4.6.1"],\
     65             ["sass", "npm:1.57.1"],\
     66             ["superjson", "npm:1.12.2"],\
     67             ["typescript", "patch:typescript@npm%3A4.9.4#~builtin<compat/typescript>::version=4.9.4&hash=ad5954"],\
     68             ["ws", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:8.12.0"],\
     69             ["yaml", "npm:2.2.1"]\
     70           ],\
     71           "linkType": "SOFT"\
     72         }]\
     73       ]],\
     74       ["@adobe/css-tools", [\
     75         ["npm:4.0.2", {\
     76           "packageLocation": "./.yarn/cache/@adobe-css-tools-npm-4.0.2-3802712175-f9ffd602fc.zip/node_modules/@adobe/css-tools/",\
     77           "packageDependencies": [\
     78             ["@adobe/css-tools", "npm:4.0.2"]\
     79           ],\
     80           "linkType": "HARD"\
     81         }]\
     82       ]],\
     83       ["@ampproject/remapping", [\
     84         ["npm:2.2.0", {\
     85           "packageLocation": "./.yarn/cache/@ampproject-remapping-npm-2.2.0-114878fa50-d74d170d06.zip/node_modules/@ampproject/remapping/",\
     86           "packageDependencies": [\
     87             ["@ampproject/remapping", "npm:2.2.0"],\
     88             ["@jridgewell/gen-mapping", "npm:0.1.1"],\
     89             ["@jridgewell/trace-mapping", "npm:0.3.17"]\
     90           ],\
     91           "linkType": "HARD"\
     92         }]\
     93       ]],\
     94       ["@babel/code-frame", [\
     95         ["npm:7.18.6", {\
     96           "packageLocation": "./.yarn/cache/@babel-code-frame-npm-7.18.6-25229a7e34-195e2be317.zip/node_modules/@babel/code-frame/",\
     97           "packageDependencies": [\
     98             ["@babel/code-frame", "npm:7.18.6"],\
     99             ["@babel/highlight", "npm:7.18.6"]\
    100           ],\
    101           "linkType": "HARD"\
    102         }]\
    103       ]],\
    104       ["@babel/compat-data", [\
    105         ["npm:7.20.10", {\
    106           "packageLocation": "./.yarn/cache/@babel-compat-data-npm-7.20.10-b619ecdaef-6ed6c1bb6f.zip/node_modules/@babel/compat-data/",\
    107           "packageDependencies": [\
    108             ["@babel/compat-data", "npm:7.20.10"]\
    109           ],\
    110           "linkType": "HARD"\
    111         }]\
    112       ]],\
    113       ["@babel/core", [\
    114         ["npm:7.20.12", {\
    115           "packageLocation": "./.yarn/cache/@babel-core-npm-7.20.12-1f7c5fb4ea-62e6c3e214.zip/node_modules/@babel/core/",\
    116           "packageDependencies": [\
    117             ["@babel/core", "npm:7.20.12"],\
    118             ["@ampproject/remapping", "npm:2.2.0"],\
    119             ["@babel/code-frame", "npm:7.18.6"],\
    120             ["@babel/generator", "npm:7.20.7"],\
    121             ["@babel/helper-compilation-targets", "virtual:1f7c5fb4eaf0e3fac538c847dd78775a2a11c71ccc52672116f07149d0ab5042c14ba5bc568151ff9c88f489eaba473057ed1a22ca9a46823248c87b5a5a1217#npm:7.20.7"],\
    122             ["@babel/helper-module-transforms", "npm:7.20.11"],\
    123             ["@babel/helpers", "npm:7.20.7"],\
    124             ["@babel/parser", "npm:7.20.7"],\
    125             ["@babel/template", "npm:7.20.7"],\
    126             ["@babel/traverse", "npm:7.20.12"],\
    127             ["@babel/types", "npm:7.20.7"],\
    128             ["convert-source-map", "npm:1.9.0"],\
    129             ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\
    130             ["gensync", "npm:1.0.0-beta.2"],\
    131             ["json5", "npm:2.2.3"],\
    132             ["semver", "npm:6.3.0"]\
    133           ],\
    134           "linkType": "HARD"\
    135         }]\
    136       ]],\
    137       ["@babel/generator", [\
    138         ["npm:7.20.7", {\
    139           "packageLocation": "./.yarn/cache/@babel-generator-npm-7.20.7-6446968b78-84b6983ffd.zip/node_modules/@babel/generator/",\
    140           "packageDependencies": [\
    141             ["@babel/generator", "npm:7.20.7"],\
    142             ["@babel/types", "npm:7.20.7"],\
    143             ["@jridgewell/gen-mapping", "npm:0.3.2"],\
    144             ["jsesc", "npm:2.5.2"]\
    145           ],\
    146           "linkType": "HARD"\
    147         }]\
    148       ]],\
    149       ["@babel/helper-compilation-targets", [\
    150         ["npm:7.20.7", {\
    151           "packageLocation": "./.yarn/cache/@babel-helper-compilation-targets-npm-7.20.7-fbd2fdfc71-8c32c873ba.zip/node_modules/@babel/helper-compilation-targets/",\
    152           "packageDependencies": [\
    153             ["@babel/helper-compilation-targets", "npm:7.20.7"]\
    154           ],\
    155           "linkType": "SOFT"\
    156         }],\
    157         ["virtual:1f7c5fb4eaf0e3fac538c847dd78775a2a11c71ccc52672116f07149d0ab5042c14ba5bc568151ff9c88f489eaba473057ed1a22ca9a46823248c87b5a5a1217#npm:7.20.7", {\
    158           "packageLocation": "./.yarn/__virtual__/@babel-helper-compilation-targets-virtual-a7cbcc026a/0/cache/@babel-helper-compilation-targets-npm-7.20.7-fbd2fdfc71-8c32c873ba.zip/node_modules/@babel/helper-compilation-targets/",\
    159           "packageDependencies": [\
    160             ["@babel/helper-compilation-targets", "virtual:1f7c5fb4eaf0e3fac538c847dd78775a2a11c71ccc52672116f07149d0ab5042c14ba5bc568151ff9c88f489eaba473057ed1a22ca9a46823248c87b5a5a1217#npm:7.20.7"],\
    161             ["@babel/compat-data", "npm:7.20.10"],\
    162             ["@babel/core", "npm:7.20.12"],\
    163             ["@babel/helper-validator-option", "npm:7.18.6"],\
    164             ["@types/babel__core", null],\
    165             ["browserslist", "npm:4.21.4"],\
    166             ["lru-cache", "npm:5.1.1"],\
    167             ["semver", "npm:6.3.0"]\
    168           ],\
    169           "packagePeers": [\
    170             "@babel/core",\
    171             "@types/babel__core"\
    172           ],\
    173           "linkType": "HARD"\
    174         }]\
    175       ]],\
    176       ["@babel/helper-environment-visitor", [\
    177         ["npm:7.18.9", {\
    178           "packageLocation": "./.yarn/cache/@babel-helper-environment-visitor-npm-7.18.9-9f5b3635a1-b25101f616.zip/node_modules/@babel/helper-environment-visitor/",\
    179           "packageDependencies": [\
    180             ["@babel/helper-environment-visitor", "npm:7.18.9"]\
    181           ],\
    182           "linkType": "HARD"\
    183         }]\
    184       ]],\
    185       ["@babel/helper-function-name", [\
    186         ["npm:7.19.0", {\
    187           "packageLocation": "./.yarn/cache/@babel-helper-function-name-npm-7.19.0-5bcf55236f-eac1f5db42.zip/node_modules/@babel/helper-function-name/",\
    188           "packageDependencies": [\
    189             ["@babel/helper-function-name", "npm:7.19.0"],\
    190             ["@babel/template", "npm:7.20.7"],\
    191             ["@babel/types", "npm:7.20.7"]\
    192           ],\
    193           "linkType": "HARD"\
    194         }]\
    195       ]],\
    196       ["@babel/helper-hoist-variables", [\
    197         ["npm:7.18.6", {\
    198           "packageLocation": "./.yarn/cache/@babel-helper-hoist-variables-npm-7.18.6-6eb061f405-fd9c35bb43.zip/node_modules/@babel/helper-hoist-variables/",\
    199           "packageDependencies": [\
    200             ["@babel/helper-hoist-variables", "npm:7.18.6"],\
    201             ["@babel/types", "npm:7.20.7"]\
    202           ],\
    203           "linkType": "HARD"\
    204         }]\
    205       ]],\
    206       ["@babel/helper-module-imports", [\
    207         ["npm:7.18.6", {\
    208           "packageLocation": "./.yarn/cache/@babel-helper-module-imports-npm-7.18.6-1031faa864-f393f8a3b3.zip/node_modules/@babel/helper-module-imports/",\
    209           "packageDependencies": [\
    210             ["@babel/helper-module-imports", "npm:7.18.6"],\
    211             ["@babel/types", "npm:7.20.7"]\
    212           ],\
    213           "linkType": "HARD"\
    214         }]\
    215       ]],\
    216       ["@babel/helper-module-transforms", [\
    217         ["npm:7.20.11", {\
    218           "packageLocation": "./.yarn/cache/@babel-helper-module-transforms-npm-7.20.11-3e2102ac8a-29319ebafa.zip/node_modules/@babel/helper-module-transforms/",\
    219           "packageDependencies": [\
    220             ["@babel/helper-module-transforms", "npm:7.20.11"],\
    221             ["@babel/helper-environment-visitor", "npm:7.18.9"],\
    222             ["@babel/helper-module-imports", "npm:7.18.6"],\
    223             ["@babel/helper-simple-access", "npm:7.20.2"],\
    224             ["@babel/helper-split-export-declaration", "npm:7.18.6"],\
    225             ["@babel/helper-validator-identifier", "npm:7.19.1"],\
    226             ["@babel/template", "npm:7.20.7"],\
    227             ["@babel/traverse", "npm:7.20.12"],\
    228             ["@babel/types", "npm:7.20.7"]\
    229           ],\
    230           "linkType": "HARD"\
    231         }]\
    232       ]],\
    233       ["@babel/helper-plugin-utils", [\
    234         ["npm:7.20.2", {\
    235           "packageLocation": "./.yarn/cache/@babel-helper-plugin-utils-npm-7.20.2-63f605bb73-f6cae53b7f.zip/node_modules/@babel/helper-plugin-utils/",\
    236           "packageDependencies": [\
    237             ["@babel/helper-plugin-utils", "npm:7.20.2"]\
    238           ],\
    239           "linkType": "HARD"\
    240         }]\
    241       ]],\
    242       ["@babel/helper-simple-access", [\
    243         ["npm:7.20.2", {\
    244           "packageLocation": "./.yarn/cache/@babel-helper-simple-access-npm-7.20.2-842ec98fbb-ad1e96ee2e.zip/node_modules/@babel/helper-simple-access/",\
    245           "packageDependencies": [\
    246             ["@babel/helper-simple-access", "npm:7.20.2"],\
    247             ["@babel/types", "npm:7.20.7"]\
    248           ],\
    249           "linkType": "HARD"\
    250         }]\
    251       ]],\
    252       ["@babel/helper-split-export-declaration", [\
    253         ["npm:7.18.6", {\
    254           "packageLocation": "./.yarn/cache/@babel-helper-split-export-declaration-npm-7.18.6-53ebf8ad4c-c6d3dede53.zip/node_modules/@babel/helper-split-export-declaration/",\
    255           "packageDependencies": [\
    256             ["@babel/helper-split-export-declaration", "npm:7.18.6"],\
    257             ["@babel/types", "npm:7.20.7"]\
    258           ],\
    259           "linkType": "HARD"\
    260         }]\
    261       ]],\
    262       ["@babel/helper-string-parser", [\
    263         ["npm:7.19.4", {\
    264           "packageLocation": "./.yarn/cache/@babel-helper-string-parser-npm-7.19.4-0db110dc3a-b2f8a3920b.zip/node_modules/@babel/helper-string-parser/",\
    265           "packageDependencies": [\
    266             ["@babel/helper-string-parser", "npm:7.19.4"]\
    267           ],\
    268           "linkType": "HARD"\
    269         }]\
    270       ]],\
    271       ["@babel/helper-validator-identifier", [\
    272         ["npm:7.19.1", {\
    273           "packageLocation": "./.yarn/cache/@babel-helper-validator-identifier-npm-7.19.1-d84f19e1dc-0eca5e86a7.zip/node_modules/@babel/helper-validator-identifier/",\
    274           "packageDependencies": [\
    275             ["@babel/helper-validator-identifier", "npm:7.19.1"]\
    276           ],\
    277           "linkType": "HARD"\
    278         }]\
    279       ]],\
    280       ["@babel/helper-validator-option", [\
    281         ["npm:7.18.6", {\
    282           "packageLocation": "./.yarn/cache/@babel-helper-validator-option-npm-7.18.6-cc7d1a3315-f9cc6eb7cc.zip/node_modules/@babel/helper-validator-option/",\
    283           "packageDependencies": [\
    284             ["@babel/helper-validator-option", "npm:7.18.6"]\
    285           ],\
    286           "linkType": "HARD"\
    287         }]\
    288       ]],\
    289       ["@babel/helpers", [\
    290         ["npm:7.20.7", {\
    291           "packageLocation": "./.yarn/cache/@babel-helpers-npm-7.20.7-58121e4a26-3fb10df351.zip/node_modules/@babel/helpers/",\
    292           "packageDependencies": [\
    293             ["@babel/helpers", "npm:7.20.7"],\
    294             ["@babel/template", "npm:7.20.7"],\
    295             ["@babel/traverse", "npm:7.20.12"],\
    296             ["@babel/types", "npm:7.20.7"]\
    297           ],\
    298           "linkType": "HARD"\
    299         }]\
    300       ]],\
    301       ["@babel/highlight", [\
    302         ["npm:7.18.6", {\
    303           "packageLocation": "./.yarn/cache/@babel-highlight-npm-7.18.6-9d35ad2e27-92d8ee6154.zip/node_modules/@babel/highlight/",\
    304           "packageDependencies": [\
    305             ["@babel/highlight", "npm:7.18.6"],\
    306             ["@babel/helper-validator-identifier", "npm:7.19.1"],\
    307             ["chalk", "npm:2.4.2"],\
    308             ["js-tokens", "npm:4.0.0"]\
    309           ],\
    310           "linkType": "HARD"\
    311         }]\
    312       ]],\
    313       ["@babel/parser", [\
    314         ["npm:7.20.7", {\
    315           "packageLocation": "./.yarn/cache/@babel-parser-npm-7.20.7-3710a9bc4f-25b5266e3b.zip/node_modules/@babel/parser/",\
    316           "packageDependencies": [\
    317             ["@babel/parser", "npm:7.20.7"],\
    318             ["@babel/types", "npm:7.20.7"]\
    319           ],\
    320           "linkType": "HARD"\
    321         }]\
    322       ]],\
    323       ["@babel/plugin-syntax-async-generators", [\
    324         ["npm:7.8.4", {\
    325           "packageLocation": "./.yarn/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-7ed1c1d9b9.zip/node_modules/@babel/plugin-syntax-async-generators/",\
    326           "packageDependencies": [\
    327             ["@babel/plugin-syntax-async-generators", "npm:7.8.4"]\
    328           ],\
    329           "linkType": "SOFT"\
    330         }],\
    331         ["virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.4", {\
    332           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-d8571a5bcc/0/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-7ed1c1d9b9.zip/node_modules/@babel/plugin-syntax-async-generators/",\
    333           "packageDependencies": [\
    334             ["@babel/plugin-syntax-async-generators", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.4"],\
    335             ["@babel/core", "npm:7.20.12"],\
    336             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    337             ["@types/babel__core", "npm:7.20.0"]\
    338           ],\
    339           "packagePeers": [\
    340             "@babel/core",\
    341             "@types/babel__core"\
    342           ],\
    343           "linkType": "HARD"\
    344         }],\
    345         ["virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.4", {\
    346           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-c08bf2a997/0/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-7ed1c1d9b9.zip/node_modules/@babel/plugin-syntax-async-generators/",\
    347           "packageDependencies": [\
    348             ["@babel/plugin-syntax-async-generators", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.4"],\
    349             ["@babel/core", "npm:7.20.12"],\
    350             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    351             ["@types/babel__core", null]\
    352           ],\
    353           "packagePeers": [\
    354             "@babel/core",\
    355             "@types/babel__core"\
    356           ],\
    357           "linkType": "HARD"\
    358         }]\
    359       ]],\
    360       ["@babel/plugin-syntax-bigint", [\
    361         ["npm:7.8.3", {\
    362           "packageLocation": "./.yarn/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-3a10849d83.zip/node_modules/@babel/plugin-syntax-bigint/",\
    363           "packageDependencies": [\
    364             ["@babel/plugin-syntax-bigint", "npm:7.8.3"]\
    365           ],\
    366           "linkType": "SOFT"\
    367         }],\
    368         ["virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3", {\
    369           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-bigint-virtual-6a40e79f7c/0/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-3a10849d83.zip/node_modules/@babel/plugin-syntax-bigint/",\
    370           "packageDependencies": [\
    371             ["@babel/plugin-syntax-bigint", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3"],\
    372             ["@babel/core", "npm:7.20.12"],\
    373             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    374             ["@types/babel__core", "npm:7.20.0"]\
    375           ],\
    376           "packagePeers": [\
    377             "@babel/core",\
    378             "@types/babel__core"\
    379           ],\
    380           "linkType": "HARD"\
    381         }],\
    382         ["virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3", {\
    383           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-bigint-virtual-5bdfe1131a/0/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-3a10849d83.zip/node_modules/@babel/plugin-syntax-bigint/",\
    384           "packageDependencies": [\
    385             ["@babel/plugin-syntax-bigint", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3"],\
    386             ["@babel/core", "npm:7.20.12"],\
    387             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    388             ["@types/babel__core", null]\
    389           ],\
    390           "packagePeers": [\
    391             "@babel/core",\
    392             "@types/babel__core"\
    393           ],\
    394           "linkType": "HARD"\
    395         }]\
    396       ]],\
    397       ["@babel/plugin-syntax-class-properties", [\
    398         ["npm:7.12.13", {\
    399           "packageLocation": "./.yarn/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-24f34b196d.zip/node_modules/@babel/plugin-syntax-class-properties/",\
    400           "packageDependencies": [\
    401             ["@babel/plugin-syntax-class-properties", "npm:7.12.13"]\
    402           ],\
    403           "linkType": "SOFT"\
    404         }],\
    405         ["virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.12.13", {\
    406           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-properties-virtual-836eaa04c4/0/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-24f34b196d.zip/node_modules/@babel/plugin-syntax-class-properties/",\
    407           "packageDependencies": [\
    408             ["@babel/plugin-syntax-class-properties", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.12.13"],\
    409             ["@babel/core", "npm:7.20.12"],\
    410             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    411             ["@types/babel__core", "npm:7.20.0"]\
    412           ],\
    413           "packagePeers": [\
    414             "@babel/core",\
    415             "@types/babel__core"\
    416           ],\
    417           "linkType": "HARD"\
    418         }],\
    419         ["virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.12.13", {\
    420           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-properties-virtual-02aaa83924/0/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-24f34b196d.zip/node_modules/@babel/plugin-syntax-class-properties/",\
    421           "packageDependencies": [\
    422             ["@babel/plugin-syntax-class-properties", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.12.13"],\
    423             ["@babel/core", "npm:7.20.12"],\
    424             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    425             ["@types/babel__core", null]\
    426           ],\
    427           "packagePeers": [\
    428             "@babel/core",\
    429             "@types/babel__core"\
    430           ],\
    431           "linkType": "HARD"\
    432         }]\
    433       ]],\
    434       ["@babel/plugin-syntax-import-meta", [\
    435         ["npm:7.10.4", {\
    436           "packageLocation": "./.yarn/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-166ac1125d.zip/node_modules/@babel/plugin-syntax-import-meta/",\
    437           "packageDependencies": [\
    438             ["@babel/plugin-syntax-import-meta", "npm:7.10.4"]\
    439           ],\
    440           "linkType": "SOFT"\
    441         }],\
    442         ["virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.10.4", {\
    443           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-bf5e117f90/0/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-166ac1125d.zip/node_modules/@babel/plugin-syntax-import-meta/",\
    444           "packageDependencies": [\
    445             ["@babel/plugin-syntax-import-meta", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.10.4"],\
    446             ["@babel/core", "npm:7.20.12"],\
    447             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    448             ["@types/babel__core", "npm:7.20.0"]\
    449           ],\
    450           "packagePeers": [\
    451             "@babel/core",\
    452             "@types/babel__core"\
    453           ],\
    454           "linkType": "HARD"\
    455         }],\
    456         ["virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.10.4", {\
    457           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-54fa45e977/0/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-166ac1125d.zip/node_modules/@babel/plugin-syntax-import-meta/",\
    458           "packageDependencies": [\
    459             ["@babel/plugin-syntax-import-meta", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.10.4"],\
    460             ["@babel/core", "npm:7.20.12"],\
    461             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    462             ["@types/babel__core", null]\
    463           ],\
    464           "packagePeers": [\
    465             "@babel/core",\
    466             "@types/babel__core"\
    467           ],\
    468           "linkType": "HARD"\
    469         }]\
    470       ]],\
    471       ["@babel/plugin-syntax-json-strings", [\
    472         ["npm:7.8.3", {\
    473           "packageLocation": "./.yarn/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-bf5aea1f31.zip/node_modules/@babel/plugin-syntax-json-strings/",\
    474           "packageDependencies": [\
    475             ["@babel/plugin-syntax-json-strings", "npm:7.8.3"]\
    476           ],\
    477           "linkType": "SOFT"\
    478         }],\
    479         ["virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3", {\
    480           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-json-strings-virtual-c540626e20/0/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-bf5aea1f31.zip/node_modules/@babel/plugin-syntax-json-strings/",\
    481           "packageDependencies": [\
    482             ["@babel/plugin-syntax-json-strings", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3"],\
    483             ["@babel/core", "npm:7.20.12"],\
    484             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    485             ["@types/babel__core", "npm:7.20.0"]\
    486           ],\
    487           "packagePeers": [\
    488             "@babel/core",\
    489             "@types/babel__core"\
    490           ],\
    491           "linkType": "HARD"\
    492         }],\
    493         ["virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3", {\
    494           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-json-strings-virtual-bc4360e1fa/0/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-bf5aea1f31.zip/node_modules/@babel/plugin-syntax-json-strings/",\
    495           "packageDependencies": [\
    496             ["@babel/plugin-syntax-json-strings", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3"],\
    497             ["@babel/core", "npm:7.20.12"],\
    498             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    499             ["@types/babel__core", null]\
    500           ],\
    501           "packagePeers": [\
    502             "@babel/core",\
    503             "@types/babel__core"\
    504           ],\
    505           "linkType": "HARD"\
    506         }]\
    507       ]],\
    508       ["@babel/plugin-syntax-jsx", [\
    509         ["npm:7.18.6", {\
    510           "packageLocation": "./.yarn/cache/@babel-plugin-syntax-jsx-npm-7.18.6-3e378d5f11-6d37ea9729.zip/node_modules/@babel/plugin-syntax-jsx/",\
    511           "packageDependencies": [\
    512             ["@babel/plugin-syntax-jsx", "npm:7.18.6"]\
    513           ],\
    514           "linkType": "SOFT"\
    515         }],\
    516         ["virtual:532d5ba12da4e0712fd4ee1959226792558005547b76e38ef9a10812eb5eaa216af23f87433a139e045652661cdf5a8cb298fcb6396605bcd4db8079eb0fa98b#npm:7.18.6", {\
    517           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-jsx-virtual-d868c887e0/0/cache/@babel-plugin-syntax-jsx-npm-7.18.6-3e378d5f11-6d37ea9729.zip/node_modules/@babel/plugin-syntax-jsx/",\
    518           "packageDependencies": [\
    519             ["@babel/plugin-syntax-jsx", "virtual:532d5ba12da4e0712fd4ee1959226792558005547b76e38ef9a10812eb5eaa216af23f87433a139e045652661cdf5a8cb298fcb6396605bcd4db8079eb0fa98b#npm:7.18.6"],\
    520             ["@babel/core", "npm:7.20.12"],\
    521             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    522             ["@types/babel__core", null]\
    523           ],\
    524           "packagePeers": [\
    525             "@babel/core",\
    526             "@types/babel__core"\
    527           ],\
    528           "linkType": "HARD"\
    529         }]\
    530       ]],\
    531       ["@babel/plugin-syntax-logical-assignment-operators", [\
    532         ["npm:7.10.4", {\
    533           "packageLocation": "./.yarn/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-aff3357703.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\
    534           "packageDependencies": [\
    535             ["@babel/plugin-syntax-logical-assignment-operators", "npm:7.10.4"]\
    536           ],\
    537           "linkType": "SOFT"\
    538         }],\
    539         ["virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.10.4", {\
    540           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-logical-assignment-operators-virtual-bdabe856d7/0/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-aff3357703.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\
    541           "packageDependencies": [\
    542             ["@babel/plugin-syntax-logical-assignment-operators", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.10.4"],\
    543             ["@babel/core", "npm:7.20.12"],\
    544             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    545             ["@types/babel__core", "npm:7.20.0"]\
    546           ],\
    547           "packagePeers": [\
    548             "@babel/core",\
    549             "@types/babel__core"\
    550           ],\
    551           "linkType": "HARD"\
    552         }],\
    553         ["virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.10.4", {\
    554           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-logical-assignment-operators-virtual-3565873bbb/0/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-aff3357703.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\
    555           "packageDependencies": [\
    556             ["@babel/plugin-syntax-logical-assignment-operators", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.10.4"],\
    557             ["@babel/core", "npm:7.20.12"],\
    558             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    559             ["@types/babel__core", null]\
    560           ],\
    561           "packagePeers": [\
    562             "@babel/core",\
    563             "@types/babel__core"\
    564           ],\
    565           "linkType": "HARD"\
    566         }]\
    567       ]],\
    568       ["@babel/plugin-syntax-nullish-coalescing-operator", [\
    569         ["npm:7.8.3", {\
    570           "packageLocation": "./.yarn/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-87aca49189.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\
    571           "packageDependencies": [\
    572             ["@babel/plugin-syntax-nullish-coalescing-operator", "npm:7.8.3"]\
    573           ],\
    574           "linkType": "SOFT"\
    575         }],\
    576         ["virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3", {\
    577           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-nullish-coalescing-operator-virtual-a7c53bc55d/0/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-87aca49189.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\
    578           "packageDependencies": [\
    579             ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3"],\
    580             ["@babel/core", "npm:7.20.12"],\
    581             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    582             ["@types/babel__core", "npm:7.20.0"]\
    583           ],\
    584           "packagePeers": [\
    585             "@babel/core",\
    586             "@types/babel__core"\
    587           ],\
    588           "linkType": "HARD"\
    589         }],\
    590         ["virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3", {\
    591           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-nullish-coalescing-operator-virtual-76203aa973/0/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-87aca49189.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\
    592           "packageDependencies": [\
    593             ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3"],\
    594             ["@babel/core", "npm:7.20.12"],\
    595             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    596             ["@types/babel__core", null]\
    597           ],\
    598           "packagePeers": [\
    599             "@babel/core",\
    600             "@types/babel__core"\
    601           ],\
    602           "linkType": "HARD"\
    603         }]\
    604       ]],\
    605       ["@babel/plugin-syntax-numeric-separator", [\
    606         ["npm:7.10.4", {\
    607           "packageLocation": "./.yarn/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-01ec5547bd.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\
    608           "packageDependencies": [\
    609             ["@babel/plugin-syntax-numeric-separator", "npm:7.10.4"]\
    610           ],\
    611           "linkType": "SOFT"\
    612         }],\
    613         ["virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.10.4", {\
    614           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-numeric-separator-virtual-5c15b1ab3b/0/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-01ec5547bd.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\
    615           "packageDependencies": [\
    616             ["@babel/plugin-syntax-numeric-separator", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.10.4"],\
    617             ["@babel/core", "npm:7.20.12"],\
    618             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    619             ["@types/babel__core", "npm:7.20.0"]\
    620           ],\
    621           "packagePeers": [\
    622             "@babel/core",\
    623             "@types/babel__core"\
    624           ],\
    625           "linkType": "HARD"\
    626         }],\
    627         ["virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.10.4", {\
    628           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-numeric-separator-virtual-f31995b066/0/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-01ec5547bd.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\
    629           "packageDependencies": [\
    630             ["@babel/plugin-syntax-numeric-separator", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.10.4"],\
    631             ["@babel/core", "npm:7.20.12"],\
    632             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    633             ["@types/babel__core", null]\
    634           ],\
    635           "packagePeers": [\
    636             "@babel/core",\
    637             "@types/babel__core"\
    638           ],\
    639           "linkType": "HARD"\
    640         }]\
    641       ]],\
    642       ["@babel/plugin-syntax-object-rest-spread", [\
    643         ["npm:7.8.3", {\
    644           "packageLocation": "./.yarn/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-fddcf581a5.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\
    645           "packageDependencies": [\
    646             ["@babel/plugin-syntax-object-rest-spread", "npm:7.8.3"]\
    647           ],\
    648           "linkType": "SOFT"\
    649         }],\
    650         ["virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3", {\
    651           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-object-rest-spread-virtual-816146b153/0/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-fddcf581a5.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\
    652           "packageDependencies": [\
    653             ["@babel/plugin-syntax-object-rest-spread", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3"],\
    654             ["@babel/core", "npm:7.20.12"],\
    655             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    656             ["@types/babel__core", "npm:7.20.0"]\
    657           ],\
    658           "packagePeers": [\
    659             "@babel/core",\
    660             "@types/babel__core"\
    661           ],\
    662           "linkType": "HARD"\
    663         }],\
    664         ["virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3", {\
    665           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-object-rest-spread-virtual-f020e2fb1a/0/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-fddcf581a5.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\
    666           "packageDependencies": [\
    667             ["@babel/plugin-syntax-object-rest-spread", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3"],\
    668             ["@babel/core", "npm:7.20.12"],\
    669             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    670             ["@types/babel__core", null]\
    671           ],\
    672           "packagePeers": [\
    673             "@babel/core",\
    674             "@types/babel__core"\
    675           ],\
    676           "linkType": "HARD"\
    677         }]\
    678       ]],\
    679       ["@babel/plugin-syntax-optional-catch-binding", [\
    680         ["npm:7.8.3", {\
    681           "packageLocation": "./.yarn/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-910d90e72b.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\
    682           "packageDependencies": [\
    683             ["@babel/plugin-syntax-optional-catch-binding", "npm:7.8.3"]\
    684           ],\
    685           "linkType": "SOFT"\
    686         }],\
    687         ["virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3", {\
    688           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-catch-binding-virtual-e24cb18e8a/0/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-910d90e72b.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\
    689           "packageDependencies": [\
    690             ["@babel/plugin-syntax-optional-catch-binding", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3"],\
    691             ["@babel/core", "npm:7.20.12"],\
    692             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    693             ["@types/babel__core", "npm:7.20.0"]\
    694           ],\
    695           "packagePeers": [\
    696             "@babel/core",\
    697             "@types/babel__core"\
    698           ],\
    699           "linkType": "HARD"\
    700         }],\
    701         ["virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3", {\
    702           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-catch-binding-virtual-ddca1346b3/0/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-910d90e72b.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\
    703           "packageDependencies": [\
    704             ["@babel/plugin-syntax-optional-catch-binding", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3"],\
    705             ["@babel/core", "npm:7.20.12"],\
    706             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    707             ["@types/babel__core", null]\
    708           ],\
    709           "packagePeers": [\
    710             "@babel/core",\
    711             "@types/babel__core"\
    712           ],\
    713           "linkType": "HARD"\
    714         }]\
    715       ]],\
    716       ["@babel/plugin-syntax-optional-chaining", [\
    717         ["npm:7.8.3", {\
    718           "packageLocation": "./.yarn/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-eef94d53a1.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\
    719           "packageDependencies": [\
    720             ["@babel/plugin-syntax-optional-chaining", "npm:7.8.3"]\
    721           ],\
    722           "linkType": "SOFT"\
    723         }],\
    724         ["virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3", {\
    725           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-chaining-virtual-12a1a3ce9c/0/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-eef94d53a1.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\
    726           "packageDependencies": [\
    727             ["@babel/plugin-syntax-optional-chaining", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3"],\
    728             ["@babel/core", "npm:7.20.12"],\
    729             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    730             ["@types/babel__core", "npm:7.20.0"]\
    731           ],\
    732           "packagePeers": [\
    733             "@babel/core",\
    734             "@types/babel__core"\
    735           ],\
    736           "linkType": "HARD"\
    737         }],\
    738         ["virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3", {\
    739           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-chaining-virtual-dc70241b66/0/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-eef94d53a1.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\
    740           "packageDependencies": [\
    741             ["@babel/plugin-syntax-optional-chaining", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3"],\
    742             ["@babel/core", "npm:7.20.12"],\
    743             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    744             ["@types/babel__core", null]\
    745           ],\
    746           "packagePeers": [\
    747             "@babel/core",\
    748             "@types/babel__core"\
    749           ],\
    750           "linkType": "HARD"\
    751         }]\
    752       ]],\
    753       ["@babel/plugin-syntax-top-level-await", [\
    754         ["npm:7.14.5", {\
    755           "packageLocation": "./.yarn/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-bbd1a56b09.zip/node_modules/@babel/plugin-syntax-top-level-await/",\
    756           "packageDependencies": [\
    757             ["@babel/plugin-syntax-top-level-await", "npm:7.14.5"]\
    758           ],\
    759           "linkType": "SOFT"\
    760         }],\
    761         ["virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.14.5", {\
    762           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-top-level-await-virtual-c90367563b/0/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-bbd1a56b09.zip/node_modules/@babel/plugin-syntax-top-level-await/",\
    763           "packageDependencies": [\
    764             ["@babel/plugin-syntax-top-level-await", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.14.5"],\
    765             ["@babel/core", "npm:7.20.12"],\
    766             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    767             ["@types/babel__core", "npm:7.20.0"]\
    768           ],\
    769           "packagePeers": [\
    770             "@babel/core",\
    771             "@types/babel__core"\
    772           ],\
    773           "linkType": "HARD"\
    774         }],\
    775         ["virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.14.5", {\
    776           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-top-level-await-virtual-89f7a8a7b2/0/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-bbd1a56b09.zip/node_modules/@babel/plugin-syntax-top-level-await/",\
    777           "packageDependencies": [\
    778             ["@babel/plugin-syntax-top-level-await", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.14.5"],\
    779             ["@babel/core", "npm:7.20.12"],\
    780             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    781             ["@types/babel__core", null]\
    782           ],\
    783           "packagePeers": [\
    784             "@babel/core",\
    785             "@types/babel__core"\
    786           ],\
    787           "linkType": "HARD"\
    788         }]\
    789       ]],\
    790       ["@babel/plugin-syntax-typescript", [\
    791         ["npm:7.20.0", {\
    792           "packageLocation": "./.yarn/cache/@babel-plugin-syntax-typescript-npm-7.20.0-21fa6329fe-6189c0b5c3.zip/node_modules/@babel/plugin-syntax-typescript/",\
    793           "packageDependencies": [\
    794             ["@babel/plugin-syntax-typescript", "npm:7.20.0"]\
    795           ],\
    796           "linkType": "SOFT"\
    797         }],\
    798         ["virtual:532d5ba12da4e0712fd4ee1959226792558005547b76e38ef9a10812eb5eaa216af23f87433a139e045652661cdf5a8cb298fcb6396605bcd4db8079eb0fa98b#npm:7.20.0", {\
    799           "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-typescript-virtual-55d1ab3a55/0/cache/@babel-plugin-syntax-typescript-npm-7.20.0-21fa6329fe-6189c0b5c3.zip/node_modules/@babel/plugin-syntax-typescript/",\
    800           "packageDependencies": [\
    801             ["@babel/plugin-syntax-typescript", "virtual:532d5ba12da4e0712fd4ee1959226792558005547b76e38ef9a10812eb5eaa216af23f87433a139e045652661cdf5a8cb298fcb6396605bcd4db8079eb0fa98b#npm:7.20.0"],\
    802             ["@babel/core", "npm:7.20.12"],\
    803             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
    804             ["@types/babel__core", null]\
    805           ],\
    806           "packagePeers": [\
    807             "@babel/core",\
    808             "@types/babel__core"\
    809           ],\
    810           "linkType": "HARD"\
    811         }]\
    812       ]],\
    813       ["@babel/runtime", [\
    814         ["npm:7.20.7", {\
    815           "packageLocation": "./.yarn/cache/@babel-runtime-npm-7.20.7-69d8df458c-4629ce5c46.zip/node_modules/@babel/runtime/",\
    816           "packageDependencies": [\
    817             ["@babel/runtime", "npm:7.20.7"],\
    818             ["regenerator-runtime", "npm:0.13.11"]\
    819           ],\
    820           "linkType": "HARD"\
    821         }]\
    822       ]],\
    823       ["@babel/template", [\
    824         ["npm:7.20.7", {\
    825           "packageLocation": "./.yarn/cache/@babel-template-npm-7.20.7-c157fc5838-2eb1a0ab8d.zip/node_modules/@babel/template/",\
    826           "packageDependencies": [\
    827             ["@babel/template", "npm:7.20.7"],\
    828             ["@babel/code-frame", "npm:7.18.6"],\
    829             ["@babel/parser", "npm:7.20.7"],\
    830             ["@babel/types", "npm:7.20.7"]\
    831           ],\
    832           "linkType": "HARD"\
    833         }]\
    834       ]],\
    835       ["@babel/traverse", [\
    836         ["npm:7.20.12", {\
    837           "packageLocation": "./.yarn/cache/@babel-traverse-npm-7.20.12-68fa1c73c8-d758b355ab.zip/node_modules/@babel/traverse/",\
    838           "packageDependencies": [\
    839             ["@babel/traverse", "npm:7.20.12"],\
    840             ["@babel/code-frame", "npm:7.18.6"],\
    841             ["@babel/generator", "npm:7.20.7"],\
    842             ["@babel/helper-environment-visitor", "npm:7.18.9"],\
    843             ["@babel/helper-function-name", "npm:7.19.0"],\
    844             ["@babel/helper-hoist-variables", "npm:7.18.6"],\
    845             ["@babel/helper-split-export-declaration", "npm:7.18.6"],\
    846             ["@babel/parser", "npm:7.20.7"],\
    847             ["@babel/types", "npm:7.20.7"],\
    848             ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\
    849             ["globals", "npm:11.12.0"]\
    850           ],\
    851           "linkType": "HARD"\
    852         }]\
    853       ]],\
    854       ["@babel/types", [\
    855         ["npm:7.20.7", {\
    856           "packageLocation": "./.yarn/cache/@babel-types-npm-7.20.7-8dc703d95e-b39af241f0.zip/node_modules/@babel/types/",\
    857           "packageDependencies": [\
    858             ["@babel/types", "npm:7.20.7"],\
    859             ["@babel/helper-string-parser", "npm:7.19.4"],\
    860             ["@babel/helper-validator-identifier", "npm:7.19.1"],\
    861             ["to-fast-properties", "npm:2.0.0"]\
    862           ],\
    863           "linkType": "HARD"\
    864         }]\
    865       ]],\
    866       ["@bcoe/v8-coverage", [\
    867         ["npm:0.2.3", {\
    868           "packageLocation": "./.yarn/cache/@bcoe-v8-coverage-npm-0.2.3-9e27b3c57e-850f930553.zip/node_modules/@bcoe/v8-coverage/",\
    869           "packageDependencies": [\
    870             ["@bcoe/v8-coverage", "npm:0.2.3"]\
    871           ],\
    872           "linkType": "HARD"\
    873         }]\
    874       ]],\
    875       ["@eslint/eslintrc", [\
    876         ["npm:1.4.1", {\
    877           "packageLocation": "./.yarn/cache/@eslint-eslintrc-npm-1.4.1-007f670de2-cd3e5a8683.zip/node_modules/@eslint/eslintrc/",\
    878           "packageDependencies": [\
    879             ["@eslint/eslintrc", "npm:1.4.1"],\
    880             ["ajv", "npm:6.12.6"],\
    881             ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\
    882             ["espree", "npm:9.4.1"],\
    883             ["globals", "npm:13.19.0"],\
    884             ["ignore", "npm:5.2.4"],\
    885             ["import-fresh", "npm:3.3.0"],\
    886             ["js-yaml", "npm:4.1.0"],\
    887             ["minimatch", "npm:3.1.2"],\
    888             ["strip-json-comments", "npm:3.1.1"]\
    889           ],\
    890           "linkType": "HARD"\
    891         }]\
    892       ]],\
    893       ["@gar/promisify", [\
    894         ["npm:1.1.3", {\
    895           "packageLocation": "./.yarn/cache/@gar-promisify-npm-1.1.3-ac1a325862-4059f790e2.zip/node_modules/@gar/promisify/",\
    896           "packageDependencies": [\
    897             ["@gar/promisify", "npm:1.1.3"]\
    898           ],\
    899           "linkType": "HARD"\
    900         }]\
    901       ]],\
    902       ["@humanwhocodes/config-array", [\
    903         ["npm:0.11.8", {\
    904           "packageLocation": "./.yarn/cache/@humanwhocodes-config-array-npm-0.11.8-7955bfecc2-0fd6b3c54f.zip/node_modules/@humanwhocodes/config-array/",\
    905           "packageDependencies": [\
    906             ["@humanwhocodes/config-array", "npm:0.11.8"],\
    907             ["@humanwhocodes/object-schema", "npm:1.2.1"],\
    908             ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\
    909             ["minimatch", "npm:3.1.2"]\
    910           ],\
    911           "linkType": "HARD"\
    912         }]\
    913       ]],\
    914       ["@humanwhocodes/module-importer", [\
    915         ["npm:1.0.1", {\
    916           "packageLocation": "./.yarn/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-0fd22007db.zip/node_modules/@humanwhocodes/module-importer/",\
    917           "packageDependencies": [\
    918             ["@humanwhocodes/module-importer", "npm:1.0.1"]\
    919           ],\
    920           "linkType": "HARD"\
    921         }]\
    922       ]],\
    923       ["@humanwhocodes/object-schema", [\
    924         ["npm:1.2.1", {\
    925           "packageLocation": "./.yarn/cache/@humanwhocodes-object-schema-npm-1.2.1-eb622b5d0e-a824a1ec31.zip/node_modules/@humanwhocodes/object-schema/",\
    926           "packageDependencies": [\
    927             ["@humanwhocodes/object-schema", "npm:1.2.1"]\
    928           ],\
    929           "linkType": "HARD"\
    930         }]\
    931       ]],\
    932       ["@istanbuljs/load-nyc-config", [\
    933         ["npm:1.1.0", {\
    934           "packageLocation": "./.yarn/cache/@istanbuljs-load-nyc-config-npm-1.1.0-42d17c9cb1-d578da5e2e.zip/node_modules/@istanbuljs/load-nyc-config/",\
    935           "packageDependencies": [\
    936             ["@istanbuljs/load-nyc-config", "npm:1.1.0"],\
    937             ["camelcase", "npm:5.3.1"],\
    938             ["find-up", "npm:4.1.0"],\
    939             ["get-package-type", "npm:0.1.0"],\
    940             ["js-yaml", "npm:3.14.1"],\
    941             ["resolve-from", "npm:5.0.0"]\
    942           ],\
    943           "linkType": "HARD"\
    944         }]\
    945       ]],\
    946       ["@istanbuljs/schema", [\
    947         ["npm:0.1.3", {\
    948           "packageLocation": "./.yarn/cache/@istanbuljs-schema-npm-0.1.3-466bd3eaaa-5282759d96.zip/node_modules/@istanbuljs/schema/",\
    949           "packageDependencies": [\
    950             ["@istanbuljs/schema", "npm:0.1.3"]\
    951           ],\
    952           "linkType": "HARD"\
    953         }]\
    954       ]],\
    955       ["@jest/console", [\
    956         ["npm:29.3.1", {\
    957           "packageLocation": "./.yarn/cache/@jest-console-npm-29.3.1-8c9f654275-9eecbfb6df.zip/node_modules/@jest/console/",\
    958           "packageDependencies": [\
    959             ["@jest/console", "npm:29.3.1"],\
    960             ["@jest/types", "npm:29.3.1"],\
    961             ["@types/node", "npm:18.11.18"],\
    962             ["chalk", "npm:4.1.2"],\
    963             ["jest-message-util", "npm:29.3.1"],\
    964             ["jest-util", "npm:29.3.1"],\
    965             ["slash", "npm:3.0.0"]\
    966           ],\
    967           "linkType": "HARD"\
    968         }]\
    969       ]],\
    970       ["@jest/core", [\
    971         ["npm:29.3.1", {\
    972           "packageLocation": "./.yarn/cache/@jest-core-npm-29.3.1-11862a6fa6-e3ac9201e8.zip/node_modules/@jest/core/",\
    973           "packageDependencies": [\
    974             ["@jest/core", "npm:29.3.1"]\
    975           ],\
    976           "linkType": "SOFT"\
    977         }],\
    978         ["virtual:862fe11ad734d9824bb5179f29c186fa9f77ceebedb2f944ac18ed20d5fcc37038a2424aefa361ad967aa043e9ab786e57cbb123d8e240896e168d8c77eb943c#npm:29.3.1", {\
    979           "packageLocation": "./.yarn/__virtual__/@jest-core-virtual-7aebeda1ba/0/cache/@jest-core-npm-29.3.1-11862a6fa6-e3ac9201e8.zip/node_modules/@jest/core/",\
    980           "packageDependencies": [\
    981             ["@jest/core", "virtual:862fe11ad734d9824bb5179f29c186fa9f77ceebedb2f944ac18ed20d5fcc37038a2424aefa361ad967aa043e9ab786e57cbb123d8e240896e168d8c77eb943c#npm:29.3.1"],\
    982             ["@jest/console", "npm:29.3.1"],\
    983             ["@jest/reporters", "virtual:7aebeda1bac4461522e36f1704237701105565624a839dea899a630763a93d41f851157efaf3e44178f8554a7b861dbe5ebb77e2cfbbcfb8de3fbad419c572ff#npm:29.3.1"],\
    984             ["@jest/test-result", "npm:29.3.1"],\
    985             ["@jest/transform", "npm:29.3.1"],\
    986             ["@jest/types", "npm:29.3.1"],\
    987             ["@types/node", "npm:18.11.18"],\
    988             ["@types/node-notifier", null],\
    989             ["ansi-escapes", "npm:4.3.2"],\
    990             ["chalk", "npm:4.1.2"],\
    991             ["ci-info", "npm:3.7.1"],\
    992             ["exit", "npm:0.1.2"],\
    993             ["graceful-fs", "npm:4.2.10"],\
    994             ["jest-changed-files", "npm:29.2.0"],\
    995             ["jest-config", "virtual:7aebeda1bac4461522e36f1704237701105565624a839dea899a630763a93d41f851157efaf3e44178f8554a7b861dbe5ebb77e2cfbbcfb8de3fbad419c572ff#npm:29.3.1"],\
    996             ["jest-haste-map", "npm:29.3.1"],\
    997             ["jest-message-util", "npm:29.3.1"],\
    998             ["jest-regex-util", "npm:29.2.0"],\
    999             ["jest-resolve", "npm:29.3.1"],\
   1000             ["jest-resolve-dependencies", "npm:29.3.1"],\
   1001             ["jest-runner", "npm:29.3.1"],\
   1002             ["jest-runtime", "npm:29.3.1"],\
   1003             ["jest-snapshot", "npm:29.3.1"],\
   1004             ["jest-util", "npm:29.3.1"],\
   1005             ["jest-validate", "npm:29.3.1"],\
   1006             ["jest-watcher", "npm:29.3.1"],\
   1007             ["micromatch", "npm:4.0.5"],\
   1008             ["node-notifier", null],\
   1009             ["pretty-format", "npm:29.3.1"],\
   1010             ["slash", "npm:3.0.0"],\
   1011             ["strip-ansi", "npm:6.0.1"]\
   1012           ],\
   1013           "packagePeers": [\
   1014             "@types/node-notifier",\
   1015             "node-notifier"\
   1016           ],\
   1017           "linkType": "HARD"\
   1018         }]\
   1019       ]],\
   1020       ["@jest/environment", [\
   1021         ["npm:29.3.1", {\
   1022           "packageLocation": "./.yarn/cache/@jest-environment-npm-29.3.1-a92f501968-974102aba7.zip/node_modules/@jest/environment/",\
   1023           "packageDependencies": [\
   1024             ["@jest/environment", "npm:29.3.1"],\
   1025             ["@jest/fake-timers", "npm:29.3.1"],\
   1026             ["@jest/types", "npm:29.3.1"],\
   1027             ["@types/node", "npm:18.11.18"],\
   1028             ["jest-mock", "npm:29.3.1"]\
   1029           ],\
   1030           "linkType": "HARD"\
   1031         }]\
   1032       ]],\
   1033       ["@jest/expect", [\
   1034         ["npm:29.3.1", {\
   1035           "packageLocation": "./.yarn/cache/@jest-expect-npm-29.3.1-0790624347-1d7b5cc735.zip/node_modules/@jest/expect/",\
   1036           "packageDependencies": [\
   1037             ["@jest/expect", "npm:29.3.1"],\
   1038             ["expect", "npm:29.3.1"],\
   1039             ["jest-snapshot", "npm:29.3.1"]\
   1040           ],\
   1041           "linkType": "HARD"\
   1042         }]\
   1043       ]],\
   1044       ["@jest/expect-utils", [\
   1045         ["npm:29.3.1", {\
   1046           "packageLocation": "./.yarn/cache/@jest-expect-utils-npm-29.3.1-97cd2f0a06-7f3b853eb1.zip/node_modules/@jest/expect-utils/",\
   1047           "packageDependencies": [\
   1048             ["@jest/expect-utils", "npm:29.3.1"],\
   1049             ["jest-get-type", "npm:29.2.0"]\
   1050           ],\
   1051           "linkType": "HARD"\
   1052         }]\
   1053       ]],\
   1054       ["@jest/fake-timers", [\
   1055         ["npm:29.3.1", {\
   1056           "packageLocation": "./.yarn/cache/@jest-fake-timers-npm-29.3.1-8489ff87cf-b1dafa8cdc.zip/node_modules/@jest/fake-timers/",\
   1057           "packageDependencies": [\
   1058             ["@jest/fake-timers", "npm:29.3.1"],\
   1059             ["@jest/types", "npm:29.3.1"],\
   1060             ["@sinonjs/fake-timers", "npm:9.1.2"],\
   1061             ["@types/node", "npm:18.11.18"],\
   1062             ["jest-message-util", "npm:29.3.1"],\
   1063             ["jest-mock", "npm:29.3.1"],\
   1064             ["jest-util", "npm:29.3.1"]\
   1065           ],\
   1066           "linkType": "HARD"\
   1067         }]\
   1068       ]],\
   1069       ["@jest/globals", [\
   1070         ["npm:29.3.1", {\
   1071           "packageLocation": "./.yarn/cache/@jest-globals-npm-29.3.1-8cd2f1156d-4d2b9458aa.zip/node_modules/@jest/globals/",\
   1072           "packageDependencies": [\
   1073             ["@jest/globals", "npm:29.3.1"],\
   1074             ["@jest/environment", "npm:29.3.1"],\
   1075             ["@jest/expect", "npm:29.3.1"],\
   1076             ["@jest/types", "npm:29.3.1"],\
   1077             ["jest-mock", "npm:29.3.1"]\
   1078           ],\
   1079           "linkType": "HARD"\
   1080         }]\
   1081       ]],\
   1082       ["@jest/reporters", [\
   1083         ["npm:29.3.1", {\
   1084           "packageLocation": "./.yarn/cache/@jest-reporters-npm-29.3.1-08646fa246-273e0c6953.zip/node_modules/@jest/reporters/",\
   1085           "packageDependencies": [\
   1086             ["@jest/reporters", "npm:29.3.1"]\
   1087           ],\
   1088           "linkType": "SOFT"\
   1089         }],\
   1090         ["virtual:7aebeda1bac4461522e36f1704237701105565624a839dea899a630763a93d41f851157efaf3e44178f8554a7b861dbe5ebb77e2cfbbcfb8de3fbad419c572ff#npm:29.3.1", {\
   1091           "packageLocation": "./.yarn/__virtual__/@jest-reporters-virtual-d380536b77/0/cache/@jest-reporters-npm-29.3.1-08646fa246-273e0c6953.zip/node_modules/@jest/reporters/",\
   1092           "packageDependencies": [\
   1093             ["@jest/reporters", "virtual:7aebeda1bac4461522e36f1704237701105565624a839dea899a630763a93d41f851157efaf3e44178f8554a7b861dbe5ebb77e2cfbbcfb8de3fbad419c572ff#npm:29.3.1"],\
   1094             ["@bcoe/v8-coverage", "npm:0.2.3"],\
   1095             ["@jest/console", "npm:29.3.1"],\
   1096             ["@jest/test-result", "npm:29.3.1"],\
   1097             ["@jest/transform", "npm:29.3.1"],\
   1098             ["@jest/types", "npm:29.3.1"],\
   1099             ["@jridgewell/trace-mapping", "npm:0.3.17"],\
   1100             ["@types/node", "npm:18.11.18"],\
   1101             ["@types/node-notifier", null],\
   1102             ["chalk", "npm:4.1.2"],\
   1103             ["collect-v8-coverage", "npm:1.0.1"],\
   1104             ["exit", "npm:0.1.2"],\
   1105             ["glob", "npm:7.2.3"],\
   1106             ["graceful-fs", "npm:4.2.10"],\
   1107             ["istanbul-lib-coverage", "npm:3.2.0"],\
   1108             ["istanbul-lib-instrument", "npm:5.2.1"],\
   1109             ["istanbul-lib-report", "npm:3.0.0"],\
   1110             ["istanbul-lib-source-maps", "npm:4.0.1"],\
   1111             ["istanbul-reports", "npm:3.1.5"],\
   1112             ["jest-message-util", "npm:29.3.1"],\
   1113             ["jest-util", "npm:29.3.1"],\
   1114             ["jest-worker", "npm:29.3.1"],\
   1115             ["node-notifier", null],\
   1116             ["slash", "npm:3.0.0"],\
   1117             ["string-length", "npm:4.0.2"],\
   1118             ["strip-ansi", "npm:6.0.1"],\
   1119             ["v8-to-istanbul", "npm:9.0.1"]\
   1120           ],\
   1121           "packagePeers": [\
   1122             "@types/node-notifier",\
   1123             "node-notifier"\
   1124           ],\
   1125           "linkType": "HARD"\
   1126         }]\
   1127       ]],\
   1128       ["@jest/schemas", [\
   1129         ["npm:29.0.0", {\
   1130           "packageLocation": "./.yarn/cache/@jest-schemas-npm-29.0.0-5d6c90262d-41355c78f0.zip/node_modules/@jest/schemas/",\
   1131           "packageDependencies": [\
   1132             ["@jest/schemas", "npm:29.0.0"],\
   1133             ["@sinclair/typebox", "npm:0.24.51"]\
   1134           ],\
   1135           "linkType": "HARD"\
   1136         }]\
   1137       ]],\
   1138       ["@jest/source-map", [\
   1139         ["npm:29.2.0", {\
   1140           "packageLocation": "./.yarn/cache/@jest-source-map-npm-29.2.0-cb038ff173-09f76ab63d.zip/node_modules/@jest/source-map/",\
   1141           "packageDependencies": [\
   1142             ["@jest/source-map", "npm:29.2.0"],\
   1143             ["@jridgewell/trace-mapping", "npm:0.3.17"],\
   1144             ["callsites", "npm:3.1.0"],\
   1145             ["graceful-fs", "npm:4.2.10"]\
   1146           ],\
   1147           "linkType": "HARD"\
   1148         }]\
   1149       ]],\
   1150       ["@jest/test-result", [\
   1151         ["npm:29.3.1", {\
   1152           "packageLocation": "./.yarn/cache/@jest-test-result-npm-29.3.1-77136fcf4d-b24ac28332.zip/node_modules/@jest/test-result/",\
   1153           "packageDependencies": [\
   1154             ["@jest/test-result", "npm:29.3.1"],\
   1155             ["@jest/console", "npm:29.3.1"],\
   1156             ["@jest/types", "npm:29.3.1"],\
   1157             ["@types/istanbul-lib-coverage", "npm:2.0.4"],\
   1158             ["collect-v8-coverage", "npm:1.0.1"]\
   1159           ],\
   1160           "linkType": "HARD"\
   1161         }]\
   1162       ]],\
   1163       ["@jest/test-sequencer", [\
   1164         ["npm:29.3.1", {\
   1165           "packageLocation": "./.yarn/cache/@jest-test-sequencer-npm-29.3.1-9e41fb7e41-a8325b1ea0.zip/node_modules/@jest/test-sequencer/",\
   1166           "packageDependencies": [\
   1167             ["@jest/test-sequencer", "npm:29.3.1"],\
   1168             ["@jest/test-result", "npm:29.3.1"],\
   1169             ["graceful-fs", "npm:4.2.10"],\
   1170             ["jest-haste-map", "npm:29.3.1"],\
   1171             ["slash", "npm:3.0.0"]\
   1172           ],\
   1173           "linkType": "HARD"\
   1174         }]\
   1175       ]],\
   1176       ["@jest/transform", [\
   1177         ["npm:29.3.1", {\
   1178           "packageLocation": "./.yarn/cache/@jest-transform-npm-29.3.1-45dc4bf517-673df5900f.zip/node_modules/@jest/transform/",\
   1179           "packageDependencies": [\
   1180             ["@jest/transform", "npm:29.3.1"],\
   1181             ["@babel/core", "npm:7.20.12"],\
   1182             ["@jest/types", "npm:29.3.1"],\
   1183             ["@jridgewell/trace-mapping", "npm:0.3.17"],\
   1184             ["babel-plugin-istanbul", "npm:6.1.1"],\
   1185             ["chalk", "npm:4.1.2"],\
   1186             ["convert-source-map", "npm:2.0.0"],\
   1187             ["fast-json-stable-stringify", "npm:2.1.0"],\
   1188             ["graceful-fs", "npm:4.2.10"],\
   1189             ["jest-haste-map", "npm:29.3.1"],\
   1190             ["jest-regex-util", "npm:29.2.0"],\
   1191             ["jest-util", "npm:29.3.1"],\
   1192             ["micromatch", "npm:4.0.5"],\
   1193             ["pirates", "npm:4.0.5"],\
   1194             ["slash", "npm:3.0.0"],\
   1195             ["write-file-atomic", "npm:4.0.2"]\
   1196           ],\
   1197           "linkType": "HARD"\
   1198         }]\
   1199       ]],\
   1200       ["@jest/types", [\
   1201         ["npm:29.3.1", {\
   1202           "packageLocation": "./.yarn/cache/@jest-types-npm-29.3.1-6b45218613-6f9faf2750.zip/node_modules/@jest/types/",\
   1203           "packageDependencies": [\
   1204             ["@jest/types", "npm:29.3.1"],\
   1205             ["@jest/schemas", "npm:29.0.0"],\
   1206             ["@types/istanbul-lib-coverage", "npm:2.0.4"],\
   1207             ["@types/istanbul-reports", "npm:3.0.1"],\
   1208             ["@types/node", "npm:18.11.18"],\
   1209             ["@types/yargs", "npm:17.0.20"],\
   1210             ["chalk", "npm:4.1.2"]\
   1211           ],\
   1212           "linkType": "HARD"\
   1213         }]\
   1214       ]],\
   1215       ["@jridgewell/gen-mapping", [\
   1216         ["npm:0.1.1", {\
   1217           "packageLocation": "./.yarn/cache/@jridgewell-gen-mapping-npm-0.1.1-3bad172ac6-3bcc21fe78.zip/node_modules/@jridgewell/gen-mapping/",\
   1218           "packageDependencies": [\
   1219             ["@jridgewell/gen-mapping", "npm:0.1.1"],\
   1220             ["@jridgewell/set-array", "npm:1.1.2"],\
   1221             ["@jridgewell/sourcemap-codec", "npm:1.4.14"]\
   1222           ],\
   1223           "linkType": "HARD"\
   1224         }],\
   1225         ["npm:0.3.2", {\
   1226           "packageLocation": "./.yarn/cache/@jridgewell-gen-mapping-npm-0.3.2-c64eeb4a4e-1832707a1c.zip/node_modules/@jridgewell/gen-mapping/",\
   1227           "packageDependencies": [\
   1228             ["@jridgewell/gen-mapping", "npm:0.3.2"],\
   1229             ["@jridgewell/set-array", "npm:1.1.2"],\
   1230             ["@jridgewell/sourcemap-codec", "npm:1.4.14"],\
   1231             ["@jridgewell/trace-mapping", "npm:0.3.17"]\
   1232           ],\
   1233           "linkType": "HARD"\
   1234         }]\
   1235       ]],\
   1236       ["@jridgewell/resolve-uri", [\
   1237         ["npm:3.1.0", {\
   1238           "packageLocation": "./.yarn/cache/@jridgewell-resolve-uri-npm-3.1.0-6ff2351e61-b5ceaaf9a1.zip/node_modules/@jridgewell/resolve-uri/",\
   1239           "packageDependencies": [\
   1240             ["@jridgewell/resolve-uri", "npm:3.1.0"]\
   1241           ],\
   1242           "linkType": "HARD"\
   1243         }]\
   1244       ]],\
   1245       ["@jridgewell/set-array", [\
   1246         ["npm:1.1.2", {\
   1247           "packageLocation": "./.yarn/cache/@jridgewell-set-array-npm-1.1.2-45b82d7fb6-69a84d5980.zip/node_modules/@jridgewell/set-array/",\
   1248           "packageDependencies": [\
   1249             ["@jridgewell/set-array", "npm:1.1.2"]\
   1250           ],\
   1251           "linkType": "HARD"\
   1252         }]\
   1253       ]],\
   1254       ["@jridgewell/sourcemap-codec", [\
   1255         ["npm:1.4.14", {\
   1256           "packageLocation": "./.yarn/cache/@jridgewell-sourcemap-codec-npm-1.4.14-f5f0630788-61100637b6.zip/node_modules/@jridgewell/sourcemap-codec/",\
   1257           "packageDependencies": [\
   1258             ["@jridgewell/sourcemap-codec", "npm:1.4.14"]\
   1259           ],\
   1260           "linkType": "HARD"\
   1261         }]\
   1262       ]],\
   1263       ["@jridgewell/trace-mapping", [\
   1264         ["npm:0.3.17", {\
   1265           "packageLocation": "./.yarn/cache/@jridgewell-trace-mapping-npm-0.3.17-57578fd48c-9d703b859c.zip/node_modules/@jridgewell/trace-mapping/",\
   1266           "packageDependencies": [\
   1267             ["@jridgewell/trace-mapping", "npm:0.3.17"],\
   1268             ["@jridgewell/resolve-uri", "npm:3.1.0"],\
   1269             ["@jridgewell/sourcemap-codec", "npm:1.4.14"]\
   1270           ],\
   1271           "linkType": "HARD"\
   1272         }]\
   1273       ]],\
   1274       ["@mapbox/node-pre-gyp", [\
   1275         ["npm:1.0.10", {\
   1276           "packageLocation": "./.yarn/cache/@mapbox-node-pre-gyp-npm-1.0.10-1811160047-1a98db05d9.zip/node_modules/@mapbox/node-pre-gyp/",\
   1277           "packageDependencies": [\
   1278             ["@mapbox/node-pre-gyp", "npm:1.0.10"],\
   1279             ["detect-libc", "npm:2.0.1"],\
   1280             ["https-proxy-agent", "npm:5.0.1"],\
   1281             ["make-dir", "npm:3.1.0"],\
   1282             ["node-fetch", "virtual:1811160047d7e0f7e43f371e07920c11204416dd6ae0b8461e04538b2f68e9167aca28b60b34dbd287674a5cdd52bd05be5797bbe2f7de916231958cb58055fb#npm:2.6.8"],\
   1283             ["nopt", "npm:5.0.0"],\
   1284             ["npmlog", "npm:5.0.1"],\
   1285             ["rimraf", "npm:3.0.2"],\
   1286             ["semver", "npm:7.3.8"],\
   1287             ["tar", "npm:6.1.13"]\
   1288           ],\
   1289           "linkType": "HARD"\
   1290         }]\
   1291       ]],\
   1292       ["@next/env", [\
   1293         ["npm:13.1.2", {\
   1294           "packageLocation": "./.yarn/cache/@next-env-npm-13.1.2-7075a70589-0b25af4a1c.zip/node_modules/@next/env/",\
   1295           "packageDependencies": [\
   1296             ["@next/env", "npm:13.1.2"]\
   1297           ],\
   1298           "linkType": "HARD"\
   1299         }]\
   1300       ]],\
   1301       ["@next/eslint-plugin-next", [\
   1302         ["npm:13.1.2", {\
   1303           "packageLocation": "./.yarn/cache/@next-eslint-plugin-next-npm-13.1.2-10f098f40d-6095e224fe.zip/node_modules/@next/eslint-plugin-next/",\
   1304           "packageDependencies": [\
   1305             ["@next/eslint-plugin-next", "npm:13.1.2"],\
   1306             ["glob", "npm:7.1.7"]\
   1307           ],\
   1308           "linkType": "HARD"\
   1309         }]\
   1310       ]],\
   1311       ["@next/font", [\
   1312         ["npm:13.1.2", {\
   1313           "packageLocation": "./.yarn/cache/@next-font-npm-13.1.2-20441f5803-36fa827f95.zip/node_modules/@next/font/",\
   1314           "packageDependencies": [\
   1315             ["@next/font", "npm:13.1.2"]\
   1316           ],\
   1317           "linkType": "HARD"\
   1318         }]\
   1319       ]],\
   1320       ["@next/swc-android-arm-eabi", [\
   1321         ["npm:13.1.2", {\
   1322           "packageLocation": "./.yarn/unplugged/@next-swc-android-arm-eabi-npm-13.1.2-7e75255834/node_modules/@next/swc-android-arm-eabi/",\
   1323           "packageDependencies": [\
   1324             ["@next/swc-android-arm-eabi", "npm:13.1.2"]\
   1325           ],\
   1326           "linkType": "HARD"\
   1327         }]\
   1328       ]],\
   1329       ["@next/swc-android-arm64", [\
   1330         ["npm:13.1.2", {\
   1331           "packageLocation": "./.yarn/unplugged/@next-swc-android-arm64-npm-13.1.2-16a93ad635/node_modules/@next/swc-android-arm64/",\
   1332           "packageDependencies": [\
   1333             ["@next/swc-android-arm64", "npm:13.1.2"]\
   1334           ],\
   1335           "linkType": "HARD"\
   1336         }]\
   1337       ]],\
   1338       ["@next/swc-darwin-arm64", [\
   1339         ["npm:13.1.2", {\
   1340           "packageLocation": "./.yarn/unplugged/@next-swc-darwin-arm64-npm-13.1.2-1936e39ed9/node_modules/@next/swc-darwin-arm64/",\
   1341           "packageDependencies": [\
   1342             ["@next/swc-darwin-arm64", "npm:13.1.2"]\
   1343           ],\
   1344           "linkType": "HARD"\
   1345         }]\
   1346       ]],\
   1347       ["@next/swc-darwin-x64", [\
   1348         ["npm:13.1.2", {\
   1349           "packageLocation": "./.yarn/unplugged/@next-swc-darwin-x64-npm-13.1.2-99fe43f01f/node_modules/@next/swc-darwin-x64/",\
   1350           "packageDependencies": [\
   1351             ["@next/swc-darwin-x64", "npm:13.1.2"]\
   1352           ],\
   1353           "linkType": "HARD"\
   1354         }]\
   1355       ]],\
   1356       ["@next/swc-freebsd-x64", [\
   1357         ["npm:13.1.2", {\
   1358           "packageLocation": "./.yarn/unplugged/@next-swc-freebsd-x64-npm-13.1.2-fc567eaa21/node_modules/@next/swc-freebsd-x64/",\
   1359           "packageDependencies": [\
   1360             ["@next/swc-freebsd-x64", "npm:13.1.2"]\
   1361           ],\
   1362           "linkType": "HARD"\
   1363         }]\
   1364       ]],\
   1365       ["@next/swc-linux-arm-gnueabihf", [\
   1366         ["npm:13.1.2", {\
   1367           "packageLocation": "./.yarn/unplugged/@next-swc-linux-arm-gnueabihf-npm-13.1.2-8dfc2b359e/node_modules/@next/swc-linux-arm-gnueabihf/",\
   1368           "packageDependencies": [\
   1369             ["@next/swc-linux-arm-gnueabihf", "npm:13.1.2"]\
   1370           ],\
   1371           "linkType": "HARD"\
   1372         }]\
   1373       ]],\
   1374       ["@next/swc-linux-arm64-gnu", [\
   1375         ["npm:13.1.2", {\
   1376           "packageLocation": "./.yarn/unplugged/@next-swc-linux-arm64-gnu-npm-13.1.2-7853060194/node_modules/@next/swc-linux-arm64-gnu/",\
   1377           "packageDependencies": [\
   1378             ["@next/swc-linux-arm64-gnu", "npm:13.1.2"]\
   1379           ],\
   1380           "linkType": "HARD"\
   1381         }]\
   1382       ]],\
   1383       ["@next/swc-linux-arm64-musl", [\
   1384         ["npm:13.1.2", {\
   1385           "packageLocation": "./.yarn/unplugged/@next-swc-linux-arm64-musl-npm-13.1.2-36640f5522/node_modules/@next/swc-linux-arm64-musl/",\
   1386           "packageDependencies": [\
   1387             ["@next/swc-linux-arm64-musl", "npm:13.1.2"]\
   1388           ],\
   1389           "linkType": "HARD"\
   1390         }]\
   1391       ]],\
   1392       ["@next/swc-linux-x64-gnu", [\
   1393         ["npm:13.1.2", {\
   1394           "packageLocation": "./.yarn/unplugged/@next-swc-linux-x64-gnu-npm-13.1.2-22f45902ec/node_modules/@next/swc-linux-x64-gnu/",\
   1395           "packageDependencies": [\
   1396             ["@next/swc-linux-x64-gnu", "npm:13.1.2"]\
   1397           ],\
   1398           "linkType": "HARD"\
   1399         }]\
   1400       ]],\
   1401       ["@next/swc-linux-x64-musl", [\
   1402         ["npm:13.1.2", {\
   1403           "packageLocation": "./.yarn/unplugged/@next-swc-linux-x64-musl-npm-13.1.2-0be5444d6e/node_modules/@next/swc-linux-x64-musl/",\
   1404           "packageDependencies": [\
   1405             ["@next/swc-linux-x64-musl", "npm:13.1.2"]\
   1406           ],\
   1407           "linkType": "HARD"\
   1408         }]\
   1409       ]],\
   1410       ["@next/swc-win32-arm64-msvc", [\
   1411         ["npm:13.1.2", {\
   1412           "packageLocation": "./.yarn/unplugged/@next-swc-win32-arm64-msvc-npm-13.1.2-7eafb1d1be/node_modules/@next/swc-win32-arm64-msvc/",\
   1413           "packageDependencies": [\
   1414             ["@next/swc-win32-arm64-msvc", "npm:13.1.2"]\
   1415           ],\
   1416           "linkType": "HARD"\
   1417         }]\
   1418       ]],\
   1419       ["@next/swc-win32-ia32-msvc", [\
   1420         ["npm:13.1.2", {\
   1421           "packageLocation": "./.yarn/unplugged/@next-swc-win32-ia32-msvc-npm-13.1.2-73373a6979/node_modules/@next/swc-win32-ia32-msvc/",\
   1422           "packageDependencies": [\
   1423             ["@next/swc-win32-ia32-msvc", "npm:13.1.2"]\
   1424           ],\
   1425           "linkType": "HARD"\
   1426         }]\
   1427       ]],\
   1428       ["@next/swc-win32-x64-msvc", [\
   1429         ["npm:13.1.2", {\
   1430           "packageLocation": "./.yarn/unplugged/@next-swc-win32-x64-msvc-npm-13.1.2-a265282130/node_modules/@next/swc-win32-x64-msvc/",\
   1431           "packageDependencies": [\
   1432             ["@next/swc-win32-x64-msvc", "npm:13.1.2"]\
   1433           ],\
   1434           "linkType": "HARD"\
   1435         }]\
   1436       ]],\
   1437       ["@nodelib/fs.scandir", [\
   1438         ["npm:2.1.5", {\
   1439           "packageLocation": "./.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-a970d595bd.zip/node_modules/@nodelib/fs.scandir/",\
   1440           "packageDependencies": [\
   1441             ["@nodelib/fs.scandir", "npm:2.1.5"],\
   1442             ["@nodelib/fs.stat", "npm:2.0.5"],\
   1443             ["run-parallel", "npm:1.2.0"]\
   1444           ],\
   1445           "linkType": "HARD"\
   1446         }]\
   1447       ]],\
   1448       ["@nodelib/fs.stat", [\
   1449         ["npm:2.0.5", {\
   1450           "packageLocation": "./.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip/node_modules/@nodelib/fs.stat/",\
   1451           "packageDependencies": [\
   1452             ["@nodelib/fs.stat", "npm:2.0.5"]\
   1453           ],\
   1454           "linkType": "HARD"\
   1455         }]\
   1456       ]],\
   1457       ["@nodelib/fs.walk", [\
   1458         ["npm:1.2.8", {\
   1459           "packageLocation": "./.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-190c643f15.zip/node_modules/@nodelib/fs.walk/",\
   1460           "packageDependencies": [\
   1461             ["@nodelib/fs.walk", "npm:1.2.8"],\
   1462             ["@nodelib/fs.scandir", "npm:2.1.5"],\
   1463             ["fastq", "npm:1.15.0"]\
   1464           ],\
   1465           "linkType": "HARD"\
   1466         }]\
   1467       ]],\
   1468       ["@npmcli/fs", [\
   1469         ["npm:2.1.2", {\
   1470           "packageLocation": "./.yarn/cache/@npmcli-fs-npm-2.1.2-08d434e77b-405074965e.zip/node_modules/@npmcli/fs/",\
   1471           "packageDependencies": [\
   1472             ["@npmcli/fs", "npm:2.1.2"],\
   1473             ["@gar/promisify", "npm:1.1.3"],\
   1474             ["semver", "npm:7.3.8"]\
   1475           ],\
   1476           "linkType": "HARD"\
   1477         }]\
   1478       ]],\
   1479       ["@npmcli/move-file", [\
   1480         ["npm:2.0.1", {\
   1481           "packageLocation": "./.yarn/cache/@npmcli-move-file-npm-2.0.1-b593d8f741-52dc02259d.zip/node_modules/@npmcli/move-file/",\
   1482           "packageDependencies": [\
   1483             ["@npmcli/move-file", "npm:2.0.1"],\
   1484             ["mkdirp", "npm:1.0.4"],\
   1485             ["rimraf", "npm:3.0.2"]\
   1486           ],\
   1487           "linkType": "HARD"\
   1488         }]\
   1489       ]],\
   1490       ["@pkgr/utils", [\
   1491         ["npm:2.3.1", {\
   1492           "packageLocation": "./.yarn/cache/@pkgr-utils-npm-2.3.1-c89c217c08-118a197112.zip/node_modules/@pkgr/utils/",\
   1493           "packageDependencies": [\
   1494             ["@pkgr/utils", "npm:2.3.1"],\
   1495             ["cross-spawn", "npm:7.0.3"],\
   1496             ["is-glob", "npm:4.0.3"],\
   1497             ["open", "npm:8.4.0"],\
   1498             ["picocolors", "npm:1.0.0"],\
   1499             ["tiny-glob", "npm:0.2.9"],\
   1500             ["tslib", "npm:2.4.1"]\
   1501           ],\
   1502           "linkType": "HARD"\
   1503         }]\
   1504       ]],\
   1505       ["@redis/bloom", [\
   1506         ["npm:1.2.0", {\
   1507           "packageLocation": "./.yarn/cache/@redis-bloom-npm-1.2.0-c3ffcb341a-8c21422728.zip/node_modules/@redis/bloom/",\
   1508           "packageDependencies": [\
   1509             ["@redis/bloom", "npm:1.2.0"]\
   1510           ],\
   1511           "linkType": "SOFT"\
   1512         }],\
   1513         ["virtual:69fb823c06ba220e04106d60001a379cfbc41d4af4686d144cafeec2b1ef7ae478d490b2f27c6d3898fad210fb40aca27c942d5185cb9a3a1af894397b6b1841#npm:1.2.0", {\
   1514           "packageLocation": "./.yarn/__virtual__/@redis-bloom-virtual-55d8dbbf85/0/cache/@redis-bloom-npm-1.2.0-c3ffcb341a-8c21422728.zip/node_modules/@redis/bloom/",\
   1515           "packageDependencies": [\
   1516             ["@redis/bloom", "virtual:69fb823c06ba220e04106d60001a379cfbc41d4af4686d144cafeec2b1ef7ae478d490b2f27c6d3898fad210fb40aca27c942d5185cb9a3a1af894397b6b1841#npm:1.2.0"],\
   1517             ["@redis/client", "npm:1.5.2"],\
   1518             ["@types/redis__client", null]\
   1519           ],\
   1520           "packagePeers": [\
   1521             "@redis/client",\
   1522             "@types/redis__client"\
   1523           ],\
   1524           "linkType": "HARD"\
   1525         }]\
   1526       ]],\
   1527       ["@redis/client", [\
   1528         ["npm:1.5.2", {\
   1529           "packageLocation": "./.yarn/cache/@redis-client-npm-1.5.2-18bbe90822-b23af6e82d.zip/node_modules/@redis/client/",\
   1530           "packageDependencies": [\
   1531             ["@redis/client", "npm:1.5.2"],\
   1532             ["cluster-key-slot", "npm:1.1.2"],\
   1533             ["generic-pool", "npm:3.9.0"],\
   1534             ["yallist", "npm:4.0.0"]\
   1535           ],\
   1536           "linkType": "HARD"\
   1537         }]\
   1538       ]],\
   1539       ["@redis/graph", [\
   1540         ["npm:1.1.0", {\
   1541           "packageLocation": "./.yarn/cache/@redis-graph-npm-1.1.0-84c3d1d722-d3df807108.zip/node_modules/@redis/graph/",\
   1542           "packageDependencies": [\
   1543             ["@redis/graph", "npm:1.1.0"]\
   1544           ],\
   1545           "linkType": "SOFT"\
   1546         }],\
   1547         ["virtual:69fb823c06ba220e04106d60001a379cfbc41d4af4686d144cafeec2b1ef7ae478d490b2f27c6d3898fad210fb40aca27c942d5185cb9a3a1af894397b6b1841#npm:1.1.0", {\
   1548           "packageLocation": "./.yarn/__virtual__/@redis-graph-virtual-405dec6f0e/0/cache/@redis-graph-npm-1.1.0-84c3d1d722-d3df807108.zip/node_modules/@redis/graph/",\
   1549           "packageDependencies": [\
   1550             ["@redis/graph", "virtual:69fb823c06ba220e04106d60001a379cfbc41d4af4686d144cafeec2b1ef7ae478d490b2f27c6d3898fad210fb40aca27c942d5185cb9a3a1af894397b6b1841#npm:1.1.0"],\
   1551             ["@redis/client", "npm:1.5.2"],\
   1552             ["@types/redis__client", null]\
   1553           ],\
   1554           "packagePeers": [\
   1555             "@redis/client",\
   1556             "@types/redis__client"\
   1557           ],\
   1558           "linkType": "HARD"\
   1559         }]\
   1560       ]],\
   1561       ["@redis/json", [\
   1562         ["npm:1.0.4", {\
   1563           "packageLocation": "./.yarn/cache/@redis-json-npm-1.0.4-213f95e10f-de07f9c37a.zip/node_modules/@redis/json/",\
   1564           "packageDependencies": [\
   1565             ["@redis/json", "npm:1.0.4"]\
   1566           ],\
   1567           "linkType": "SOFT"\
   1568         }],\
   1569         ["virtual:69fb823c06ba220e04106d60001a379cfbc41d4af4686d144cafeec2b1ef7ae478d490b2f27c6d3898fad210fb40aca27c942d5185cb9a3a1af894397b6b1841#npm:1.0.4", {\
   1570           "packageLocation": "./.yarn/__virtual__/@redis-json-virtual-47024e7e1a/0/cache/@redis-json-npm-1.0.4-213f95e10f-de07f9c37a.zip/node_modules/@redis/json/",\
   1571           "packageDependencies": [\
   1572             ["@redis/json", "virtual:69fb823c06ba220e04106d60001a379cfbc41d4af4686d144cafeec2b1ef7ae478d490b2f27c6d3898fad210fb40aca27c942d5185cb9a3a1af894397b6b1841#npm:1.0.4"],\
   1573             ["@redis/client", "npm:1.5.2"],\
   1574             ["@types/redis__client", null]\
   1575           ],\
   1576           "packagePeers": [\
   1577             "@redis/client",\
   1578             "@types/redis__client"\
   1579           ],\
   1580           "linkType": "HARD"\
   1581         }]\
   1582       ]],\
   1583       ["@redis/search", [\
   1584         ["npm:1.1.1", {\
   1585           "packageLocation": "./.yarn/cache/@redis-search-npm-1.1.1-228edc852f-5c574679e8.zip/node_modules/@redis/search/",\
   1586           "packageDependencies": [\
   1587             ["@redis/search", "npm:1.1.1"]\
   1588           ],\
   1589           "linkType": "SOFT"\
   1590         }],\
   1591         ["virtual:69fb823c06ba220e04106d60001a379cfbc41d4af4686d144cafeec2b1ef7ae478d490b2f27c6d3898fad210fb40aca27c942d5185cb9a3a1af894397b6b1841#npm:1.1.1", {\
   1592           "packageLocation": "./.yarn/__virtual__/@redis-search-virtual-0ac2f79fc0/0/cache/@redis-search-npm-1.1.1-228edc852f-5c574679e8.zip/node_modules/@redis/search/",\
   1593           "packageDependencies": [\
   1594             ["@redis/search", "virtual:69fb823c06ba220e04106d60001a379cfbc41d4af4686d144cafeec2b1ef7ae478d490b2f27c6d3898fad210fb40aca27c942d5185cb9a3a1af894397b6b1841#npm:1.1.1"],\
   1595             ["@redis/client", "npm:1.5.2"],\
   1596             ["@types/redis__client", null]\
   1597           ],\
   1598           "packagePeers": [\
   1599             "@redis/client",\
   1600             "@types/redis__client"\
   1601           ],\
   1602           "linkType": "HARD"\
   1603         }]\
   1604       ]],\
   1605       ["@redis/time-series", [\
   1606         ["npm:1.0.4", {\
   1607           "packageLocation": "./.yarn/cache/@redis-time-series-npm-1.0.4-1dfa6fdc7e-a5fca079de.zip/node_modules/@redis/time-series/",\
   1608           "packageDependencies": [\
   1609             ["@redis/time-series", "npm:1.0.4"]\
   1610           ],\
   1611           "linkType": "SOFT"\
   1612         }],\
   1613         ["virtual:69fb823c06ba220e04106d60001a379cfbc41d4af4686d144cafeec2b1ef7ae478d490b2f27c6d3898fad210fb40aca27c942d5185cb9a3a1af894397b6b1841#npm:1.0.4", {\
   1614           "packageLocation": "./.yarn/__virtual__/@redis-time-series-virtual-a598a1a087/0/cache/@redis-time-series-npm-1.0.4-1dfa6fdc7e-a5fca079de.zip/node_modules/@redis/time-series/",\
   1615           "packageDependencies": [\
   1616             ["@redis/time-series", "virtual:69fb823c06ba220e04106d60001a379cfbc41d4af4686d144cafeec2b1ef7ae478d490b2f27c6d3898fad210fb40aca27c942d5185cb9a3a1af894397b6b1841#npm:1.0.4"],\
   1617             ["@redis/client", "npm:1.5.2"],\
   1618             ["@types/redis__client", null]\
   1619           ],\
   1620           "packagePeers": [\
   1621             "@redis/client",\
   1622             "@types/redis__client"\
   1623           ],\
   1624           "linkType": "HARD"\
   1625         }]\
   1626       ]],\
   1627       ["@rushstack/eslint-patch", [\
   1628         ["npm:1.2.0", {\
   1629           "packageLocation": "./.yarn/cache/@rushstack-eslint-patch-npm-1.2.0-917f402e4e-faa749faae.zip/node_modules/@rushstack/eslint-patch/",\
   1630           "packageDependencies": [\
   1631             ["@rushstack/eslint-patch", "npm:1.2.0"]\
   1632           ],\
   1633           "linkType": "HARD"\
   1634         }]\
   1635       ]],\
   1636       ["@sinclair/typebox", [\
   1637         ["npm:0.24.51", {\
   1638           "packageLocation": "./.yarn/cache/@sinclair-typebox-npm-0.24.51-cdde4a266f-fd0d855e74.zip/node_modules/@sinclair/typebox/",\
   1639           "packageDependencies": [\
   1640             ["@sinclair/typebox", "npm:0.24.51"]\
   1641           ],\
   1642           "linkType": "HARD"\
   1643         }]\
   1644       ]],\
   1645       ["@sinonjs/commons", [\
   1646         ["npm:1.8.6", {\
   1647           "packageLocation": "./.yarn/cache/@sinonjs-commons-npm-1.8.6-e3593ed6d6-7d3f8c1e85.zip/node_modules/@sinonjs/commons/",\
   1648           "packageDependencies": [\
   1649             ["@sinonjs/commons", "npm:1.8.6"],\
   1650             ["type-detect", "npm:4.0.8"]\
   1651           ],\
   1652           "linkType": "HARD"\
   1653         }]\
   1654       ]],\
   1655       ["@sinonjs/fake-timers", [\
   1656         ["npm:9.1.2", {\
   1657           "packageLocation": "./.yarn/cache/@sinonjs-fake-timers-npm-9.1.2-3ff37ab7fb-7d3aef54e1.zip/node_modules/@sinonjs/fake-timers/",\
   1658           "packageDependencies": [\
   1659             ["@sinonjs/fake-timers", "npm:9.1.2"],\
   1660             ["@sinonjs/commons", "npm:1.8.6"]\
   1661           ],\
   1662           "linkType": "HARD"\
   1663         }]\
   1664       ]],\
   1665       ["@swc/helpers", [\
   1666         ["npm:0.4.14", {\
   1667           "packageLocation": "./.yarn/cache/@swc-helpers-npm-0.4.14-f806c3fb16-273fd3f3fc.zip/node_modules/@swc/helpers/",\
   1668           "packageDependencies": [\
   1669             ["@swc/helpers", "npm:0.4.14"],\
   1670             ["tslib", "npm:2.4.1"]\
   1671           ],\
   1672           "linkType": "HARD"\
   1673         }]\
   1674       ]],\
   1675       ["@testing-library/dom", [\
   1676         ["npm:8.20.0", {\
   1677           "packageLocation": "./.yarn/cache/@testing-library-dom-npm-8.20.0-afe79da119-1e599129a2.zip/node_modules/@testing-library/dom/",\
   1678           "packageDependencies": [\
   1679             ["@testing-library/dom", "npm:8.20.0"],\
   1680             ["@babel/code-frame", "npm:7.18.6"],\
   1681             ["@babel/runtime", "npm:7.20.7"],\
   1682             ["@types/aria-query", "npm:5.0.1"],\
   1683             ["aria-query", "npm:5.1.3"],\
   1684             ["chalk", "npm:4.1.2"],\
   1685             ["dom-accessibility-api", "npm:0.5.16"],\
   1686             ["lz-string", "npm:1.4.4"],\
   1687             ["pretty-format", "npm:27.5.1"]\
   1688           ],\
   1689           "linkType": "HARD"\
   1690         }]\
   1691       ]],\
   1692       ["@testing-library/jest-dom", [\
   1693         ["npm:5.16.5", {\
   1694           "packageLocation": "./.yarn/cache/@testing-library-jest-dom-npm-5.16.5-b6d1f4e02f-94911f901a.zip/node_modules/@testing-library/jest-dom/",\
   1695           "packageDependencies": [\
   1696             ["@testing-library/jest-dom", "npm:5.16.5"],\
   1697             ["@adobe/css-tools", "npm:4.0.2"],\
   1698             ["@babel/runtime", "npm:7.20.7"],\
   1699             ["@types/testing-library__jest-dom", "npm:5.14.5"],\
   1700             ["aria-query", "npm:5.1.3"],\
   1701             ["chalk", "npm:3.0.0"],\
   1702             ["css.escape", "npm:1.5.1"],\
   1703             ["dom-accessibility-api", "npm:0.5.16"],\
   1704             ["lodash", "npm:4.17.21"],\
   1705             ["redent", "npm:3.0.0"]\
   1706           ],\
   1707           "linkType": "HARD"\
   1708         }]\
   1709       ]],\
   1710       ["@testing-library/react", [\
   1711         ["npm:13.4.0", {\
   1712           "packageLocation": "./.yarn/cache/@testing-library-react-npm-13.4.0-eaa652c0f5-51ec548c1f.zip/node_modules/@testing-library/react/",\
   1713           "packageDependencies": [\
   1714             ["@testing-library/react", "npm:13.4.0"]\
   1715           ],\
   1716           "linkType": "SOFT"\
   1717         }],\
   1718         ["virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.4.0", {\
   1719           "packageLocation": "./.yarn/__virtual__/@testing-library-react-virtual-00b2d0d2fc/0/cache/@testing-library-react-npm-13.4.0-eaa652c0f5-51ec548c1f.zip/node_modules/@testing-library/react/",\
   1720           "packageDependencies": [\
   1721             ["@testing-library/react", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.4.0"],\
   1722             ["@babel/runtime", "npm:7.20.7"],\
   1723             ["@testing-library/dom", "npm:8.20.0"],\
   1724             ["@types/react", "npm:18.0.26"],\
   1725             ["@types/react-dom", "npm:18.0.10"],\
   1726             ["react", "npm:18.2.0"],\
   1727             ["react-dom", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:18.2.0"]\
   1728           ],\
   1729           "packagePeers": [\
   1730             "@types/react-dom",\
   1731             "@types/react",\
   1732             "react-dom",\
   1733             "react"\
   1734           ],\
   1735           "linkType": "HARD"\
   1736         }]\
   1737       ]],\
   1738       ["@testing-library/user-event", [\
   1739         ["npm:14.4.3", {\
   1740           "packageLocation": "./.yarn/cache/@testing-library-user-event-npm-14.4.3-2d1a75355f-852c48ea6d.zip/node_modules/@testing-library/user-event/",\
   1741           "packageDependencies": [\
   1742             ["@testing-library/user-event", "npm:14.4.3"]\
   1743           ],\
   1744           "linkType": "SOFT"\
   1745         }],\
   1746         ["virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:14.4.3", {\
   1747           "packageLocation": "./.yarn/__virtual__/@testing-library-user-event-virtual-bb3f51d731/0/cache/@testing-library-user-event-npm-14.4.3-2d1a75355f-852c48ea6d.zip/node_modules/@testing-library/user-event/",\
   1748           "packageDependencies": [\
   1749             ["@testing-library/user-event", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:14.4.3"],\
   1750             ["@testing-library/dom", null],\
   1751             ["@types/testing-library__dom", null]\
   1752           ],\
   1753           "packagePeers": [\
   1754             "@testing-library/dom",\
   1755             "@types/testing-library__dom"\
   1756           ],\
   1757           "linkType": "HARD"\
   1758         }]\
   1759       ]],\
   1760       ["@tootallnate/once", [\
   1761         ["npm:2.0.0", {\
   1762           "packageLocation": "./.yarn/cache/@tootallnate-once-npm-2.0.0-e36cf4f140-ad87447820.zip/node_modules/@tootallnate/once/",\
   1763           "packageDependencies": [\
   1764             ["@tootallnate/once", "npm:2.0.0"]\
   1765           ],\
   1766           "linkType": "HARD"\
   1767         }]\
   1768       ]],\
   1769       ["@types/aria-query", [\
   1770         ["npm:5.0.1", {\
   1771           "packageLocation": "./.yarn/cache/@types-aria-query-npm-5.0.1-5c01a56741-69fd7cceb6.zip/node_modules/@types/aria-query/",\
   1772           "packageDependencies": [\
   1773             ["@types/aria-query", "npm:5.0.1"]\
   1774           ],\
   1775           "linkType": "HARD"\
   1776         }]\
   1777       ]],\
   1778       ["@types/babel__core", [\
   1779         ["npm:7.20.0", {\
   1780           "packageLocation": "./.yarn/cache/@types-babel__core-npm-7.20.0-cf2ab39970-49b601a0a7.zip/node_modules/@types/babel__core/",\
   1781           "packageDependencies": [\
   1782             ["@types/babel__core", "npm:7.20.0"],\
   1783             ["@babel/parser", "npm:7.20.7"],\
   1784             ["@babel/types", "npm:7.20.7"],\
   1785             ["@types/babel__generator", "npm:7.6.4"],\
   1786             ["@types/babel__template", "npm:7.4.1"],\
   1787             ["@types/babel__traverse", "npm:7.18.3"]\
   1788           ],\
   1789           "linkType": "HARD"\
   1790         }]\
   1791       ]],\
   1792       ["@types/babel__generator", [\
   1793         ["npm:7.6.4", {\
   1794           "packageLocation": "./.yarn/cache/@types-babel__generator-npm-7.6.4-03e776f956-20effbbb5f.zip/node_modules/@types/babel__generator/",\
   1795           "packageDependencies": [\
   1796             ["@types/babel__generator", "npm:7.6.4"],\
   1797             ["@babel/types", "npm:7.20.7"]\
   1798           ],\
   1799           "linkType": "HARD"\
   1800         }]\
   1801       ]],\
   1802       ["@types/babel__template", [\
   1803         ["npm:7.4.1", {\
   1804           "packageLocation": "./.yarn/cache/@types-babel__template-npm-7.4.1-fe1db49e53-649fe8b42c.zip/node_modules/@types/babel__template/",\
   1805           "packageDependencies": [\
   1806             ["@types/babel__template", "npm:7.4.1"],\
   1807             ["@babel/parser", "npm:7.20.7"],\
   1808             ["@babel/types", "npm:7.20.7"]\
   1809           ],\
   1810           "linkType": "HARD"\
   1811         }]\
   1812       ]],\
   1813       ["@types/babel__traverse", [\
   1814         ["npm:7.18.3", {\
   1815           "packageLocation": "./.yarn/cache/@types-babel__traverse-npm-7.18.3-db279a0ed0-d20953338b.zip/node_modules/@types/babel__traverse/",\
   1816           "packageDependencies": [\
   1817             ["@types/babel__traverse", "npm:7.18.3"],\
   1818             ["@babel/types", "npm:7.20.7"]\
   1819           ],\
   1820           "linkType": "HARD"\
   1821         }]\
   1822       ]],\
   1823       ["@types/bcrypt", [\
   1824         ["npm:5.0.0", {\
   1825           "packageLocation": "./.yarn/cache/@types-bcrypt-npm-5.0.0-c074c165c2-063c32c7a5.zip/node_modules/@types/bcrypt/",\
   1826           "packageDependencies": [\
   1827             ["@types/bcrypt", "npm:5.0.0"],\
   1828             ["@types/node", "npm:18.11.18"]\
   1829           ],\
   1830           "linkType": "HARD"\
   1831         }]\
   1832       ]],\
   1833       ["@types/diff", [\
   1834         ["npm:5.0.2", {\
   1835           "packageLocation": "./.yarn/cache/@types-diff-npm-5.0.2-cc002907d4-8fbc419b5a.zip/node_modules/@types/diff/",\
   1836           "packageDependencies": [\
   1837             ["@types/diff", "npm:5.0.2"]\
   1838           ],\
   1839           "linkType": "HARD"\
   1840         }]\
   1841       ]],\
   1842       ["@types/graceful-fs", [\
   1843         ["npm:4.1.6", {\
   1844           "packageLocation": "./.yarn/cache/@types-graceful-fs-npm-4.1.6-1eadcf742d-c3070ccdc9.zip/node_modules/@types/graceful-fs/",\
   1845           "packageDependencies": [\
   1846             ["@types/graceful-fs", "npm:4.1.6"],\
   1847             ["@types/node", "npm:18.11.18"]\
   1848           ],\
   1849           "linkType": "HARD"\
   1850         }]\
   1851       ]],\
   1852       ["@types/istanbul-lib-coverage", [\
   1853         ["npm:2.0.4", {\
   1854           "packageLocation": "./.yarn/cache/@types-istanbul-lib-coverage-npm-2.0.4-734954bb56-a25d7589ee.zip/node_modules/@types/istanbul-lib-coverage/",\
   1855           "packageDependencies": [\
   1856             ["@types/istanbul-lib-coverage", "npm:2.0.4"]\
   1857           ],\
   1858           "linkType": "HARD"\
   1859         }]\
   1860       ]],\
   1861       ["@types/istanbul-lib-report", [\
   1862         ["npm:3.0.0", {\
   1863           "packageLocation": "./.yarn/cache/@types-istanbul-lib-report-npm-3.0.0-50de3e6b3b-656398b62d.zip/node_modules/@types/istanbul-lib-report/",\
   1864           "packageDependencies": [\
   1865             ["@types/istanbul-lib-report", "npm:3.0.0"],\
   1866             ["@types/istanbul-lib-coverage", "npm:2.0.4"]\
   1867           ],\
   1868           "linkType": "HARD"\
   1869         }]\
   1870       ]],\
   1871       ["@types/istanbul-reports", [\
   1872         ["npm:3.0.1", {\
   1873           "packageLocation": "./.yarn/cache/@types-istanbul-reports-npm-3.0.1-770e825002-f1ad54bc68.zip/node_modules/@types/istanbul-reports/",\
   1874           "packageDependencies": [\
   1875             ["@types/istanbul-reports", "npm:3.0.1"],\
   1876             ["@types/istanbul-lib-report", "npm:3.0.0"]\
   1877           ],\
   1878           "linkType": "HARD"\
   1879         }]\
   1880       ]],\
   1881       ["@types/jest", [\
   1882         ["npm:29.2.6", {\
   1883           "packageLocation": "./.yarn/cache/@types-jest-npm-29.2.6-6feedd29f5-90190ac830.zip/node_modules/@types/jest/",\
   1884           "packageDependencies": [\
   1885             ["@types/jest", "npm:29.2.6"],\
   1886             ["expect", "npm:29.3.1"],\
   1887             ["pretty-format", "npm:29.3.1"]\
   1888           ],\
   1889           "linkType": "HARD"\
   1890         }]\
   1891       ]],\
   1892       ["@types/jsdom", [\
   1893         ["npm:20.0.1", {\
   1894           "packageLocation": "./.yarn/cache/@types-jsdom-npm-20.0.1-5bb899e006-d55402c525.zip/node_modules/@types/jsdom/",\
   1895           "packageDependencies": [\
   1896             ["@types/jsdom", "npm:20.0.1"],\
   1897             ["@types/node", "npm:18.11.18"],\
   1898             ["@types/tough-cookie", "npm:4.0.2"],\
   1899             ["parse5", "npm:7.1.2"]\
   1900           ],\
   1901           "linkType": "HARD"\
   1902         }]\
   1903       ]],\
   1904       ["@types/json5", [\
   1905         ["npm:0.0.29", {\
   1906           "packageLocation": "./.yarn/cache/@types-json5-npm-0.0.29-f63a7916bd-e60b153664.zip/node_modules/@types/json5/",\
   1907           "packageDependencies": [\
   1908             ["@types/json5", "npm:0.0.29"]\
   1909           ],\
   1910           "linkType": "HARD"\
   1911         }]\
   1912       ]],\
   1913       ["@types/jsonwebtoken", [\
   1914         ["npm:9.0.1", {\
   1915           "packageLocation": "./.yarn/cache/@types-jsonwebtoken-npm-9.0.1-5f660fdf38-a7f0925e9a.zip/node_modules/@types/jsonwebtoken/",\
   1916           "packageDependencies": [\
   1917             ["@types/jsonwebtoken", "npm:9.0.1"],\
   1918             ["@types/node", "npm:18.11.18"]\
   1919           ],\
   1920           "linkType": "HARD"\
   1921         }]\
   1922       ]],\
   1923       ["@types/node", [\
   1924         ["npm:18.11.18", {\
   1925           "packageLocation": "./.yarn/cache/@types-node-npm-18.11.18-d61e8a4a20-03f17f9480.zip/node_modules/@types/node/",\
   1926           "packageDependencies": [\
   1927             ["@types/node", "npm:18.11.18"]\
   1928           ],\
   1929           "linkType": "HARD"\
   1930         }]\
   1931       ]],\
   1932       ["@types/nodemailer", [\
   1933         ["npm:6.4.7", {\
   1934           "packageLocation": "./.yarn/cache/@types-nodemailer-npm-6.4.7-8618621ba9-dc2a33a891.zip/node_modules/@types/nodemailer/",\
   1935           "packageDependencies": [\
   1936             ["@types/nodemailer", "npm:6.4.7"],\
   1937             ["@types/node", "npm:18.11.18"]\
   1938           ],\
   1939           "linkType": "HARD"\
   1940         }]\
   1941       ]],\
   1942       ["@types/prettier", [\
   1943         ["npm:2.7.2", {\
   1944           "packageLocation": "./.yarn/cache/@types-prettier-npm-2.7.2-6b2e2f518f-b47d76a525.zip/node_modules/@types/prettier/",\
   1945           "packageDependencies": [\
   1946             ["@types/prettier", "npm:2.7.2"]\
   1947           ],\
   1948           "linkType": "HARD"\
   1949         }]\
   1950       ]],\
   1951       ["@types/prop-types", [\
   1952         ["npm:15.7.5", {\
   1953           "packageLocation": "./.yarn/cache/@types-prop-types-npm-15.7.5-2aa48aa177-5b43b8b154.zip/node_modules/@types/prop-types/",\
   1954           "packageDependencies": [\
   1955             ["@types/prop-types", "npm:15.7.5"]\
   1956           ],\
   1957           "linkType": "HARD"\
   1958         }]\
   1959       ]],\
   1960       ["@types/react", [\
   1961         ["npm:18.0.26", {\
   1962           "packageLocation": "./.yarn/cache/@types-react-npm-18.0.26-d708995a34-b62f0ea3cd.zip/node_modules/@types/react/",\
   1963           "packageDependencies": [\
   1964             ["@types/react", "npm:18.0.26"],\
   1965             ["@types/prop-types", "npm:15.7.5"],\
   1966             ["@types/scheduler", "npm:0.16.2"],\
   1967             ["csstype", "npm:3.1.1"]\
   1968           ],\
   1969           "linkType": "HARD"\
   1970         }]\
   1971       ]],\
   1972       ["@types/react-dom", [\
   1973         ["npm:18.0.10", {\
   1974           "packageLocation": "./.yarn/cache/@types-react-dom-npm-18.0.10-97fe360927-ff8282d500.zip/node_modules/@types/react-dom/",\
   1975           "packageDependencies": [\
   1976             ["@types/react-dom", "npm:18.0.10"],\
   1977             ["@types/react", "npm:18.0.26"]\
   1978           ],\
   1979           "linkType": "HARD"\
   1980         }]\
   1981       ]],\
   1982       ["@types/scheduler", [\
   1983         ["npm:0.16.2", {\
   1984           "packageLocation": "./.yarn/cache/@types-scheduler-npm-0.16.2-ba3a7d8c68-b6b4dcfeae.zip/node_modules/@types/scheduler/",\
   1985           "packageDependencies": [\
   1986             ["@types/scheduler", "npm:0.16.2"]\
   1987           ],\
   1988           "linkType": "HARD"\
   1989         }]\
   1990       ]],\
   1991       ["@types/stack-utils", [\
   1992         ["npm:2.0.1", {\
   1993           "packageLocation": "./.yarn/cache/@types-stack-utils-npm-2.0.1-867718ab70-205fdbe332.zip/node_modules/@types/stack-utils/",\
   1994           "packageDependencies": [\
   1995             ["@types/stack-utils", "npm:2.0.1"]\
   1996           ],\
   1997           "linkType": "HARD"\
   1998         }]\
   1999       ]],\
   2000       ["@types/testing-library__jest-dom", [\
   2001         ["npm:5.14.5", {\
   2002           "packageLocation": "./.yarn/cache/@types-testing-library__jest-dom-npm-5.14.5-251c4c9d75-dcb0541675.zip/node_modules/@types/testing-library__jest-dom/",\
   2003           "packageDependencies": [\
   2004             ["@types/testing-library__jest-dom", "npm:5.14.5"],\
   2005             ["@types/jest", "npm:29.2.6"]\
   2006           ],\
   2007           "linkType": "HARD"\
   2008         }]\
   2009       ]],\
   2010       ["@types/tough-cookie", [\
   2011         ["npm:4.0.2", {\
   2012           "packageLocation": "./.yarn/cache/@types-tough-cookie-npm-4.0.2-9e61f877e6-e055556ffd.zip/node_modules/@types/tough-cookie/",\
   2013           "packageDependencies": [\
   2014             ["@types/tough-cookie", "npm:4.0.2"]\
   2015           ],\
   2016           "linkType": "HARD"\
   2017         }]\
   2018       ]],\
   2019       ["@types/yargs", [\
   2020         ["npm:17.0.20", {\
   2021           "packageLocation": "./.yarn/cache/@types-yargs-npm-17.0.20-a48364a46f-dc2edbb0e4.zip/node_modules/@types/yargs/",\
   2022           "packageDependencies": [\
   2023             ["@types/yargs", "npm:17.0.20"],\
   2024             ["@types/yargs-parser", "npm:21.0.0"]\
   2025           ],\
   2026           "linkType": "HARD"\
   2027         }]\
   2028       ]],\
   2029       ["@types/yargs-parser", [\
   2030         ["npm:21.0.0", {\
   2031           "packageLocation": "./.yarn/cache/@types-yargs-parser-npm-21.0.0-c8a3b32c52-b2f4c8d12a.zip/node_modules/@types/yargs-parser/",\
   2032           "packageDependencies": [\
   2033             ["@types/yargs-parser", "npm:21.0.0"]\
   2034           ],\
   2035           "linkType": "HARD"\
   2036         }]\
   2037       ]],\
   2038       ["@typescript-eslint/parser", [\
   2039         ["npm:5.48.1", {\
   2040           "packageLocation": "./.yarn/cache/@typescript-eslint-parser-npm-5.48.1-e11c82966a-c624d24eb2.zip/node_modules/@typescript-eslint/parser/",\
   2041           "packageDependencies": [\
   2042             ["@typescript-eslint/parser", "npm:5.48.1"]\
   2043           ],\
   2044           "linkType": "SOFT"\
   2045         }],\
   2046         ["virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:5.48.1", {\
   2047           "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-f2555630c6/0/cache/@typescript-eslint-parser-npm-5.48.1-e11c82966a-c624d24eb2.zip/node_modules/@typescript-eslint/parser/",\
   2048           "packageDependencies": [\
   2049             ["@typescript-eslint/parser", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:5.48.1"],\
   2050             ["@types/eslint", null],\
   2051             ["@types/typescript", null],\
   2052             ["@typescript-eslint/scope-manager", "npm:5.48.1"],\
   2053             ["@typescript-eslint/types", "npm:5.48.1"],\
   2054             ["@typescript-eslint/typescript-estree", "virtual:f2555630c69b17811a08f262f7620c8327b7b3e551a941b56ea0fbf3d4c2ab94a53b934b9cbf4c8fcc577abacf4b6d6dff560634161468aae5b678d9751665f6#npm:5.48.1"],\
   2055             ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\
   2056             ["eslint", "npm:8.32.0"],\
   2057             ["typescript", "patch:typescript@npm%3A4.9.4#~builtin<compat/typescript>::version=4.9.4&hash=ad5954"]\
   2058           ],\
   2059           "packagePeers": [\
   2060             "@types/eslint",\
   2061             "@types/typescript",\
   2062             "eslint",\
   2063             "typescript"\
   2064           ],\
   2065           "linkType": "HARD"\
   2066         }]\
   2067       ]],\
   2068       ["@typescript-eslint/scope-manager", [\
   2069         ["npm:5.48.1", {\
   2070           "packageLocation": "./.yarn/cache/@typescript-eslint-scope-manager-npm-5.48.1-cac4c73878-f60a7efe91.zip/node_modules/@typescript-eslint/scope-manager/",\
   2071           "packageDependencies": [\
   2072             ["@typescript-eslint/scope-manager", "npm:5.48.1"],\
   2073             ["@typescript-eslint/types", "npm:5.48.1"],\
   2074             ["@typescript-eslint/visitor-keys", "npm:5.48.1"]\
   2075           ],\
   2076           "linkType": "HARD"\
   2077         }]\
   2078       ]],\
   2079       ["@typescript-eslint/types", [\
   2080         ["npm:5.48.1", {\
   2081           "packageLocation": "./.yarn/cache/@typescript-eslint-types-npm-5.48.1-f6c112f9dc-8437986e9d.zip/node_modules/@typescript-eslint/types/",\
   2082           "packageDependencies": [\
   2083             ["@typescript-eslint/types", "npm:5.48.1"]\
   2084           ],\
   2085           "linkType": "HARD"\
   2086         }]\
   2087       ]],\
   2088       ["@typescript-eslint/typescript-estree", [\
   2089         ["npm:5.48.1", {\
   2090           "packageLocation": "./.yarn/cache/@typescript-eslint-typescript-estree-npm-5.48.1-3e28a6f3b7-2b26e5848e.zip/node_modules/@typescript-eslint/typescript-estree/",\
   2091           "packageDependencies": [\
   2092             ["@typescript-eslint/typescript-estree", "npm:5.48.1"]\
   2093           ],\
   2094           "linkType": "SOFT"\
   2095         }],\
   2096         ["virtual:f2555630c69b17811a08f262f7620c8327b7b3e551a941b56ea0fbf3d4c2ab94a53b934b9cbf4c8fcc577abacf4b6d6dff560634161468aae5b678d9751665f6#npm:5.48.1", {\
   2097           "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-7405f37162/0/cache/@typescript-eslint-typescript-estree-npm-5.48.1-3e28a6f3b7-2b26e5848e.zip/node_modules/@typescript-eslint/typescript-estree/",\
   2098           "packageDependencies": [\
   2099             ["@typescript-eslint/typescript-estree", "virtual:f2555630c69b17811a08f262f7620c8327b7b3e551a941b56ea0fbf3d4c2ab94a53b934b9cbf4c8fcc577abacf4b6d6dff560634161468aae5b678d9751665f6#npm:5.48.1"],\
   2100             ["@types/typescript", null],\
   2101             ["@typescript-eslint/types", "npm:5.48.1"],\
   2102             ["@typescript-eslint/visitor-keys", "npm:5.48.1"],\
   2103             ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\
   2104             ["globby", "npm:11.1.0"],\
   2105             ["is-glob", "npm:4.0.3"],\
   2106             ["semver", "npm:7.3.8"],\
   2107             ["tsutils", "virtual:7405f371622a6871c6a8d58e7bdb32f140e6bfae8a5e144f129244df6c027e2d160980c8d4cee0e4473d9243e7c00f918872fe46db463a64ee59e1da7e9c0d2d#npm:3.21.0"],\
   2108             ["typescript", "patch:typescript@npm%3A4.9.4#~builtin<compat/typescript>::version=4.9.4&hash=ad5954"]\
   2109           ],\
   2110           "packagePeers": [\
   2111             "@types/typescript",\
   2112             "typescript"\
   2113           ],\
   2114           "linkType": "HARD"\
   2115         }]\
   2116       ]],\
   2117       ["@typescript-eslint/visitor-keys", [\
   2118         ["npm:5.48.1", {\
   2119           "packageLocation": "./.yarn/cache/@typescript-eslint-visitor-keys-npm-5.48.1-60f2bfb2a6-2bda10cf4e.zip/node_modules/@typescript-eslint/visitor-keys/",\
   2120           "packageDependencies": [\
   2121             ["@typescript-eslint/visitor-keys", "npm:5.48.1"],\
   2122             ["@typescript-eslint/types", "npm:5.48.1"],\
   2123             ["eslint-visitor-keys", "npm:3.3.0"]\
   2124           ],\
   2125           "linkType": "HARD"\
   2126         }]\
   2127       ]],\
   2128       ["abab", [\
   2129         ["npm:2.0.6", {\
   2130           "packageLocation": "./.yarn/cache/abab-npm-2.0.6-2662fba7f0-6ffc1af4ff.zip/node_modules/abab/",\
   2131           "packageDependencies": [\
   2132             ["abab", "npm:2.0.6"]\
   2133           ],\
   2134           "linkType": "HARD"\
   2135         }]\
   2136       ]],\
   2137       ["abbrev", [\
   2138         ["npm:1.1.1", {\
   2139           "packageLocation": "./.yarn/cache/abbrev-npm-1.1.1-3659247eab-a4a97ec07d.zip/node_modules/abbrev/",\
   2140           "packageDependencies": [\
   2141             ["abbrev", "npm:1.1.1"]\
   2142           ],\
   2143           "linkType": "HARD"\
   2144         }]\
   2145       ]],\
   2146       ["abort-controller", [\
   2147         ["npm:3.0.0", {\
   2148           "packageLocation": "./.yarn/cache/abort-controller-npm-3.0.0-2f3a9a2bcb-170bdba9b4.zip/node_modules/abort-controller/",\
   2149           "packageDependencies": [\
   2150             ["abort-controller", "npm:3.0.0"],\
   2151             ["event-target-shim", "npm:5.0.1"]\
   2152           ],\
   2153           "linkType": "HARD"\
   2154         }]\
   2155       ]],\
   2156       ["acorn", [\
   2157         ["npm:8.8.1", {\
   2158           "packageLocation": "./.yarn/cache/acorn-npm-8.8.1-20e4aea981-4079b67283.zip/node_modules/acorn/",\
   2159           "packageDependencies": [\
   2160             ["acorn", "npm:8.8.1"]\
   2161           ],\
   2162           "linkType": "HARD"\
   2163         }]\
   2164       ]],\
   2165       ["acorn-globals", [\
   2166         ["npm:7.0.1", {\
   2167           "packageLocation": "./.yarn/cache/acorn-globals-npm-7.0.1-97c48c0140-2a2998a547.zip/node_modules/acorn-globals/",\
   2168           "packageDependencies": [\
   2169             ["acorn-globals", "npm:7.0.1"],\
   2170             ["acorn", "npm:8.8.1"],\
   2171             ["acorn-walk", "npm:8.2.0"]\
   2172           ],\
   2173           "linkType": "HARD"\
   2174         }]\
   2175       ]],\
   2176       ["acorn-jsx", [\
   2177         ["npm:5.3.2", {\
   2178           "packageLocation": "./.yarn/cache/acorn-jsx-npm-5.3.2-d7594599ea-c3d3b2a89c.zip/node_modules/acorn-jsx/",\
   2179           "packageDependencies": [\
   2180             ["acorn-jsx", "npm:5.3.2"]\
   2181           ],\
   2182           "linkType": "SOFT"\
   2183         }],\
   2184         ["virtual:b88faf10bc38b7bf99c4359521e8a0ed3f77dcbbc8677c8ff2c327d003d8f82b0e79a6212f450e879d54de3af7d71a6a67818de313afc6e195445593b76b6db0#npm:5.3.2", {\
   2185           "packageLocation": "./.yarn/__virtual__/acorn-jsx-virtual-18707c8687/0/cache/acorn-jsx-npm-5.3.2-d7594599ea-c3d3b2a89c.zip/node_modules/acorn-jsx/",\
   2186           "packageDependencies": [\
   2187             ["acorn-jsx", "virtual:b88faf10bc38b7bf99c4359521e8a0ed3f77dcbbc8677c8ff2c327d003d8f82b0e79a6212f450e879d54de3af7d71a6a67818de313afc6e195445593b76b6db0#npm:5.3.2"],\
   2188             ["@types/acorn", null],\
   2189             ["acorn", "npm:8.8.1"]\
   2190           ],\
   2191           "packagePeers": [\
   2192             "@types/acorn",\
   2193             "acorn"\
   2194           ],\
   2195           "linkType": "HARD"\
   2196         }]\
   2197       ]],\
   2198       ["acorn-walk", [\
   2199         ["npm:8.2.0", {\
   2200           "packageLocation": "./.yarn/cache/acorn-walk-npm-8.2.0-2f2cac3177-1715e76c01.zip/node_modules/acorn-walk/",\
   2201           "packageDependencies": [\
   2202             ["acorn-walk", "npm:8.2.0"]\
   2203           ],\
   2204           "linkType": "HARD"\
   2205         }]\
   2206       ]],\
   2207       ["agent-base", [\
   2208         ["npm:6.0.2", {\
   2209           "packageLocation": "./.yarn/cache/agent-base-npm-6.0.2-428f325a93-f52b6872cc.zip/node_modules/agent-base/",\
   2210           "packageDependencies": [\
   2211             ["agent-base", "npm:6.0.2"],\
   2212             ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"]\
   2213           ],\
   2214           "linkType": "HARD"\
   2215         }]\
   2216       ]],\
   2217       ["agentkeepalive", [\
   2218         ["npm:4.2.1", {\
   2219           "packageLocation": "./.yarn/cache/agentkeepalive-npm-4.2.1-b86a9fb343-39cb49ed8c.zip/node_modules/agentkeepalive/",\
   2220           "packageDependencies": [\
   2221             ["agentkeepalive", "npm:4.2.1"],\
   2222             ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\
   2223             ["depd", "npm:1.1.2"],\
   2224             ["humanize-ms", "npm:1.2.1"]\
   2225           ],\
   2226           "linkType": "HARD"\
   2227         }]\
   2228       ]],\
   2229       ["aggregate-error", [\
   2230         ["npm:3.1.0", {\
   2231           "packageLocation": "./.yarn/cache/aggregate-error-npm-3.1.0-415a406f4e-1101a33f21.zip/node_modules/aggregate-error/",\
   2232           "packageDependencies": [\
   2233             ["aggregate-error", "npm:3.1.0"],\
   2234             ["clean-stack", "npm:2.2.0"],\
   2235             ["indent-string", "npm:4.0.0"]\
   2236           ],\
   2237           "linkType": "HARD"\
   2238         }]\
   2239       ]],\
   2240       ["ajv", [\
   2241         ["npm:6.12.6", {\
   2242           "packageLocation": "./.yarn/cache/ajv-npm-6.12.6-4b5105e2b2-874972efe5.zip/node_modules/ajv/",\
   2243           "packageDependencies": [\
   2244             ["ajv", "npm:6.12.6"],\
   2245             ["fast-deep-equal", "npm:3.1.3"],\
   2246             ["fast-json-stable-stringify", "npm:2.1.0"],\
   2247             ["json-schema-traverse", "npm:0.4.1"],\
   2248             ["uri-js", "npm:4.4.1"]\
   2249           ],\
   2250           "linkType": "HARD"\
   2251         }]\
   2252       ]],\
   2253       ["ansi-escapes", [\
   2254         ["npm:4.3.2", {\
   2255           "packageLocation": "./.yarn/cache/ansi-escapes-npm-4.3.2-3ad173702f-93111c4218.zip/node_modules/ansi-escapes/",\
   2256           "packageDependencies": [\
   2257             ["ansi-escapes", "npm:4.3.2"],\
   2258             ["type-fest", "npm:0.21.3"]\
   2259           ],\
   2260           "linkType": "HARD"\
   2261         }]\
   2262       ]],\
   2263       ["ansi-regex", [\
   2264         ["npm:5.0.1", {\
   2265           "packageLocation": "./.yarn/cache/ansi-regex-npm-5.0.1-c963a48615-2aa4bb54ca.zip/node_modules/ansi-regex/",\
   2266           "packageDependencies": [\
   2267             ["ansi-regex", "npm:5.0.1"]\
   2268           ],\
   2269           "linkType": "HARD"\
   2270         }]\
   2271       ]],\
   2272       ["ansi-styles", [\
   2273         ["npm:3.2.1", {\
   2274           "packageLocation": "./.yarn/cache/ansi-styles-npm-3.2.1-8cb8107983-d85ade01c1.zip/node_modules/ansi-styles/",\
   2275           "packageDependencies": [\
   2276             ["ansi-styles", "npm:3.2.1"],\
   2277             ["color-convert", "npm:1.9.3"]\
   2278           ],\
   2279           "linkType": "HARD"\
   2280         }],\
   2281         ["npm:4.3.0", {\
   2282           "packageLocation": "./.yarn/cache/ansi-styles-npm-4.3.0-245c7d42c7-513b44c3b2.zip/node_modules/ansi-styles/",\
   2283           "packageDependencies": [\
   2284             ["ansi-styles", "npm:4.3.0"],\
   2285             ["color-convert", "npm:2.0.1"]\
   2286           ],\
   2287           "linkType": "HARD"\
   2288         }],\
   2289         ["npm:5.2.0", {\
   2290           "packageLocation": "./.yarn/cache/ansi-styles-npm-5.2.0-72fc7003e3-d7f4e97ce0.zip/node_modules/ansi-styles/",\
   2291           "packageDependencies": [\
   2292             ["ansi-styles", "npm:5.2.0"]\
   2293           ],\
   2294           "linkType": "HARD"\
   2295         }]\
   2296       ]],\
   2297       ["anymatch", [\
   2298         ["npm:3.1.3", {\
   2299           "packageLocation": "./.yarn/cache/anymatch-npm-3.1.3-bc81d103b1-3e044fd6d1.zip/node_modules/anymatch/",\
   2300           "packageDependencies": [\
   2301             ["anymatch", "npm:3.1.3"],\
   2302             ["normalize-path", "npm:3.0.0"],\
   2303             ["picomatch", "npm:2.3.1"]\
   2304           ],\
   2305           "linkType": "HARD"\
   2306         }]\
   2307       ]],\
   2308       ["aproba", [\
   2309         ["npm:2.0.0", {\
   2310           "packageLocation": "./.yarn/cache/aproba-npm-2.0.0-8716bcfde6-5615cadcfb.zip/node_modules/aproba/",\
   2311           "packageDependencies": [\
   2312             ["aproba", "npm:2.0.0"]\
   2313           ],\
   2314           "linkType": "HARD"\
   2315         }]\
   2316       ]],\
   2317       ["are-we-there-yet", [\
   2318         ["npm:2.0.0", {\
   2319           "packageLocation": "./.yarn/cache/are-we-there-yet-npm-2.0.0-7d2f5201ce-6c80b4fd04.zip/node_modules/are-we-there-yet/",\
   2320           "packageDependencies": [\
   2321             ["are-we-there-yet", "npm:2.0.0"],\
   2322             ["delegates", "npm:1.0.0"],\
   2323             ["readable-stream", "npm:3.6.0"]\
   2324           ],\
   2325           "linkType": "HARD"\
   2326         }],\
   2327         ["npm:3.0.1", {\
   2328           "packageLocation": "./.yarn/cache/are-we-there-yet-npm-3.0.1-3395b1512f-52590c2486.zip/node_modules/are-we-there-yet/",\
   2329           "packageDependencies": [\
   2330             ["are-we-there-yet", "npm:3.0.1"],\
   2331             ["delegates", "npm:1.0.0"],\
   2332             ["readable-stream", "npm:3.6.0"]\
   2333           ],\
   2334           "linkType": "HARD"\
   2335         }]\
   2336       ]],\
   2337       ["argparse", [\
   2338         ["npm:1.0.10", {\
   2339           "packageLocation": "./.yarn/cache/argparse-npm-1.0.10-528934e59d-7ca6e45583.zip/node_modules/argparse/",\
   2340           "packageDependencies": [\
   2341             ["argparse", "npm:1.0.10"],\
   2342             ["sprintf-js", "npm:1.0.3"]\
   2343           ],\
   2344           "linkType": "HARD"\
   2345         }],\
   2346         ["npm:2.0.1", {\
   2347           "packageLocation": "./.yarn/cache/argparse-npm-2.0.1-faff7999e6-83644b5649.zip/node_modules/argparse/",\
   2348           "packageDependencies": [\
   2349             ["argparse", "npm:2.0.1"]\
   2350           ],\
   2351           "linkType": "HARD"\
   2352         }]\
   2353       ]],\
   2354       ["aria-query", [\
   2355         ["npm:5.1.3", {\
   2356           "packageLocation": "./.yarn/cache/aria-query-npm-5.1.3-9632eccdee-929ff95f02.zip/node_modules/aria-query/",\
   2357           "packageDependencies": [\
   2358             ["aria-query", "npm:5.1.3"],\
   2359             ["deep-equal", "npm:2.2.0"]\
   2360           ],\
   2361           "linkType": "HARD"\
   2362         }]\
   2363       ]],\
   2364       ["array-includes", [\
   2365         ["npm:3.1.6", {\
   2366           "packageLocation": "./.yarn/cache/array-includes-npm-3.1.6-d0ff9d248b-f22f8cd8ba.zip/node_modules/array-includes/",\
   2367           "packageDependencies": [\
   2368             ["array-includes", "npm:3.1.6"],\
   2369             ["call-bind", "npm:1.0.2"],\
   2370             ["define-properties", "npm:1.1.4"],\
   2371             ["es-abstract", "npm:1.21.1"],\
   2372             ["get-intrinsic", "npm:1.1.3"],\
   2373             ["is-string", "npm:1.0.7"]\
   2374           ],\
   2375           "linkType": "HARD"\
   2376         }]\
   2377       ]],\
   2378       ["array-union", [\
   2379         ["npm:2.1.0", {\
   2380           "packageLocation": "./.yarn/cache/array-union-npm-2.1.0-4e4852b221-5bee12395c.zip/node_modules/array-union/",\
   2381           "packageDependencies": [\
   2382             ["array-union", "npm:2.1.0"]\
   2383           ],\
   2384           "linkType": "HARD"\
   2385         }]\
   2386       ]],\
   2387       ["array.prototype.flat", [\
   2388         ["npm:1.3.1", {\
   2389           "packageLocation": "./.yarn/cache/array.prototype.flat-npm-1.3.1-e9a9e389c0-5a8415949d.zip/node_modules/array.prototype.flat/",\
   2390           "packageDependencies": [\
   2391             ["array.prototype.flat", "npm:1.3.1"],\
   2392             ["call-bind", "npm:1.0.2"],\
   2393             ["define-properties", "npm:1.1.4"],\
   2394             ["es-abstract", "npm:1.21.1"],\
   2395             ["es-shim-unscopables", "npm:1.0.0"]\
   2396           ],\
   2397           "linkType": "HARD"\
   2398         }]\
   2399       ]],\
   2400       ["array.prototype.flatmap", [\
   2401         ["npm:1.3.1", {\
   2402           "packageLocation": "./.yarn/cache/array.prototype.flatmap-npm-1.3.1-c65186ca34-8c1c43a499.zip/node_modules/array.prototype.flatmap/",\
   2403           "packageDependencies": [\
   2404             ["array.prototype.flatmap", "npm:1.3.1"],\
   2405             ["call-bind", "npm:1.0.2"],\
   2406             ["define-properties", "npm:1.1.4"],\
   2407             ["es-abstract", "npm:1.21.1"],\
   2408             ["es-shim-unscopables", "npm:1.0.0"]\
   2409           ],\
   2410           "linkType": "HARD"\
   2411         }]\
   2412       ]],\
   2413       ["array.prototype.tosorted", [\
   2414         ["npm:1.1.1", {\
   2415           "packageLocation": "./.yarn/cache/array.prototype.tosorted-npm-1.1.1-1be94ad4a7-7923324a67.zip/node_modules/array.prototype.tosorted/",\
   2416           "packageDependencies": [\
   2417             ["array.prototype.tosorted", "npm:1.1.1"],\
   2418             ["call-bind", "npm:1.0.2"],\
   2419             ["define-properties", "npm:1.1.4"],\
   2420             ["es-abstract", "npm:1.21.1"],\
   2421             ["es-shim-unscopables", "npm:1.0.0"],\
   2422             ["get-intrinsic", "npm:1.1.3"]\
   2423           ],\
   2424           "linkType": "HARD"\
   2425         }]\
   2426       ]],\
   2427       ["ast-types-flow", [\
   2428         ["npm:0.0.7", {\
   2429           "packageLocation": "./.yarn/cache/ast-types-flow-npm-0.0.7-7d32a3abf5-a26dcc2182.zip/node_modules/ast-types-flow/",\
   2430           "packageDependencies": [\
   2431             ["ast-types-flow", "npm:0.0.7"]\
   2432           ],\
   2433           "linkType": "HARD"\
   2434         }]\
   2435       ]],\
   2436       ["asynckit", [\
   2437         ["npm:0.4.0", {\
   2438           "packageLocation": "./.yarn/cache/asynckit-npm-0.4.0-c718858525-7b78c451df.zip/node_modules/asynckit/",\
   2439           "packageDependencies": [\
   2440             ["asynckit", "npm:0.4.0"]\
   2441           ],\
   2442           "linkType": "HARD"\
   2443         }]\
   2444       ]],\
   2445       ["atomic-sleep", [\
   2446         ["npm:1.0.0", {\
   2447           "packageLocation": "./.yarn/cache/atomic-sleep-npm-1.0.0-17d8a762a3-b95275afb2.zip/node_modules/atomic-sleep/",\
   2448           "packageDependencies": [\
   2449             ["atomic-sleep", "npm:1.0.0"]\
   2450           ],\
   2451           "linkType": "HARD"\
   2452         }]\
   2453       ]],\
   2454       ["available-typed-arrays", [\
   2455         ["npm:1.0.5", {\
   2456           "packageLocation": "./.yarn/cache/available-typed-arrays-npm-1.0.5-88f321e4d3-20eb47b3ce.zip/node_modules/available-typed-arrays/",\
   2457           "packageDependencies": [\
   2458             ["available-typed-arrays", "npm:1.0.5"]\
   2459           ],\
   2460           "linkType": "HARD"\
   2461         }]\
   2462       ]],\
   2463       ["axe-core", [\
   2464         ["npm:4.6.2", {\
   2465           "packageLocation": "./.yarn/cache/axe-core-npm-4.6.2-0de0e7b3e6-81523eeaf1.zip/node_modules/axe-core/",\
   2466           "packageDependencies": [\
   2467             ["axe-core", "npm:4.6.2"]\
   2468           ],\
   2469           "linkType": "HARD"\
   2470         }]\
   2471       ]],\
   2472       ["axobject-query", [\
   2473         ["npm:3.1.1", {\
   2474           "packageLocation": "./.yarn/cache/axobject-query-npm-3.1.1-13705ce3c1-c12a5da10d.zip/node_modules/axobject-query/",\
   2475           "packageDependencies": [\
   2476             ["axobject-query", "npm:3.1.1"],\
   2477             ["deep-equal", "npm:2.2.0"]\
   2478           ],\
   2479           "linkType": "HARD"\
   2480         }]\
   2481       ]],\
   2482       ["babel-jest", [\
   2483         ["npm:29.3.1", {\
   2484           "packageLocation": "./.yarn/cache/babel-jest-npm-29.3.1-871da66c2a-793848238a.zip/node_modules/babel-jest/",\
   2485           "packageDependencies": [\
   2486             ["babel-jest", "npm:29.3.1"]\
   2487           ],\
   2488           "linkType": "SOFT"\
   2489         }],\
   2490         ["virtual:788d0118a981621b95508a19cf21b7827158443c6db1f5680f3b2be78bad2f52fcc5613c309a8eab46fb07757bf8cb8cf5d03762e2d70972705fabae2fdabca3#npm:29.3.1", {\
   2491           "packageLocation": "./.yarn/__virtual__/babel-jest-virtual-ec7a7dd7d3/0/cache/babel-jest-npm-29.3.1-871da66c2a-793848238a.zip/node_modules/babel-jest/",\
   2492           "packageDependencies": [\
   2493             ["babel-jest", "virtual:788d0118a981621b95508a19cf21b7827158443c6db1f5680f3b2be78bad2f52fcc5613c309a8eab46fb07757bf8cb8cf5d03762e2d70972705fabae2fdabca3#npm:29.3.1"],\
   2494             ["@babel/core", "npm:7.20.12"],\
   2495             ["@jest/transform", "npm:29.3.1"],\
   2496             ["@types/babel__core", "npm:7.20.0"],\
   2497             ["babel-plugin-istanbul", "npm:6.1.1"],\
   2498             ["babel-preset-jest", "virtual:ec7a7dd7d38ca5d5ffbf4e26ec5ec41db80426f7a890053e08e0e11d43ee5d948d4244a15d6a856abf516d6dae11e0b778c98cf15e29dd05565aa81dc02bc371#npm:29.2.0"],\
   2499             ["chalk", "npm:4.1.2"],\
   2500             ["graceful-fs", "npm:4.2.10"],\
   2501             ["slash", "npm:3.0.0"]\
   2502           ],\
   2503           "packagePeers": [\
   2504             "@babel/core"\
   2505           ],\
   2506           "linkType": "HARD"\
   2507         }]\
   2508       ]],\
   2509       ["babel-plugin-istanbul", [\
   2510         ["npm:6.1.1", {\
   2511           "packageLocation": "./.yarn/cache/babel-plugin-istanbul-npm-6.1.1-df824055e4-cb4fd95738.zip/node_modules/babel-plugin-istanbul/",\
   2512           "packageDependencies": [\
   2513             ["babel-plugin-istanbul", "npm:6.1.1"],\
   2514             ["@babel/helper-plugin-utils", "npm:7.20.2"],\
   2515             ["@istanbuljs/load-nyc-config", "npm:1.1.0"],\
   2516             ["@istanbuljs/schema", "npm:0.1.3"],\
   2517             ["istanbul-lib-instrument", "npm:5.2.1"],\
   2518             ["test-exclude", "npm:6.0.0"]\
   2519           ],\
   2520           "linkType": "HARD"\
   2521         }]\
   2522       ]],\
   2523       ["babel-plugin-jest-hoist", [\
   2524         ["npm:29.2.0", {\
   2525           "packageLocation": "./.yarn/cache/babel-plugin-jest-hoist-npm-29.2.0-bad358f3a4-368d271cea.zip/node_modules/babel-plugin-jest-hoist/",\
   2526           "packageDependencies": [\
   2527             ["babel-plugin-jest-hoist", "npm:29.2.0"],\
   2528             ["@babel/template", "npm:7.20.7"],\
   2529             ["@babel/types", "npm:7.20.7"],\
   2530             ["@types/babel__core", "npm:7.20.0"],\
   2531             ["@types/babel__traverse", "npm:7.18.3"]\
   2532           ],\
   2533           "linkType": "HARD"\
   2534         }]\
   2535       ]],\
   2536       ["babel-preset-current-node-syntax", [\
   2537         ["npm:1.0.1", {\
   2538           "packageLocation": "./.yarn/cache/babel-preset-current-node-syntax-npm-1.0.1-849ec71e32-d118c27424.zip/node_modules/babel-preset-current-node-syntax/",\
   2539           "packageDependencies": [\
   2540             ["babel-preset-current-node-syntax", "npm:1.0.1"]\
   2541           ],\
   2542           "linkType": "SOFT"\
   2543         }],\
   2544         ["virtual:532d5ba12da4e0712fd4ee1959226792558005547b76e38ef9a10812eb5eaa216af23f87433a139e045652661cdf5a8cb298fcb6396605bcd4db8079eb0fa98b#npm:1.0.1", {\
   2545           "packageLocation": "./.yarn/__virtual__/babel-preset-current-node-syntax-virtual-c30e580943/0/cache/babel-preset-current-node-syntax-npm-1.0.1-849ec71e32-d118c27424.zip/node_modules/babel-preset-current-node-syntax/",\
   2546           "packageDependencies": [\
   2547             ["babel-preset-current-node-syntax", "virtual:532d5ba12da4e0712fd4ee1959226792558005547b76e38ef9a10812eb5eaa216af23f87433a139e045652661cdf5a8cb298fcb6396605bcd4db8079eb0fa98b#npm:1.0.1"],\
   2548             ["@babel/core", "npm:7.20.12"],\
   2549             ["@babel/plugin-syntax-async-generators", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.4"],\
   2550             ["@babel/plugin-syntax-bigint", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3"],\
   2551             ["@babel/plugin-syntax-class-properties", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.12.13"],\
   2552             ["@babel/plugin-syntax-import-meta", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.10.4"],\
   2553             ["@babel/plugin-syntax-json-strings", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3"],\
   2554             ["@babel/plugin-syntax-logical-assignment-operators", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.10.4"],\
   2555             ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3"],\
   2556             ["@babel/plugin-syntax-numeric-separator", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.10.4"],\
   2557             ["@babel/plugin-syntax-object-rest-spread", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3"],\
   2558             ["@babel/plugin-syntax-optional-catch-binding", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3"],\
   2559             ["@babel/plugin-syntax-optional-chaining", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.8.3"],\
   2560             ["@babel/plugin-syntax-top-level-await", "virtual:c30e580943ccbd3cf562a25260552a7fb34b1ef407cec9bce9bcdfcbe216a090db208ba4836b81595d2731f5c1e9941c40ca547596a67bb3ba8c6dee34564d4c#npm:7.14.5"],\
   2561             ["@types/babel__core", null]\
   2562           ],\
   2563           "packagePeers": [\
   2564             "@babel/core",\
   2565             "@types/babel__core"\
   2566           ],\
   2567           "linkType": "HARD"\
   2568         }],\
   2569         ["virtual:7b3f7f6eeed1ae4eee8602648cc6fbec893a2c67535d2704aef0049ce53c0dfa43a1f2949dbd7d00a2f3076823a7428d49cc887d6c5a579366f75e69ade520bc#npm:1.0.1", {\
   2570           "packageLocation": "./.yarn/__virtual__/babel-preset-current-node-syntax-virtual-b0bcc6ed62/0/cache/babel-preset-current-node-syntax-npm-1.0.1-849ec71e32-d118c27424.zip/node_modules/babel-preset-current-node-syntax/",\
   2571           "packageDependencies": [\
   2572             ["babel-preset-current-node-syntax", "virtual:7b3f7f6eeed1ae4eee8602648cc6fbec893a2c67535d2704aef0049ce53c0dfa43a1f2949dbd7d00a2f3076823a7428d49cc887d6c5a579366f75e69ade520bc#npm:1.0.1"],\
   2573             ["@babel/core", "npm:7.20.12"],\
   2574             ["@babel/plugin-syntax-async-generators", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.4"],\
   2575             ["@babel/plugin-syntax-bigint", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3"],\
   2576             ["@babel/plugin-syntax-class-properties", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.12.13"],\
   2577             ["@babel/plugin-syntax-import-meta", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.10.4"],\
   2578             ["@babel/plugin-syntax-json-strings", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3"],\
   2579             ["@babel/plugin-syntax-logical-assignment-operators", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.10.4"],\
   2580             ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3"],\
   2581             ["@babel/plugin-syntax-numeric-separator", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.10.4"],\
   2582             ["@babel/plugin-syntax-object-rest-spread", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3"],\
   2583             ["@babel/plugin-syntax-optional-catch-binding", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3"],\
   2584             ["@babel/plugin-syntax-optional-chaining", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.8.3"],\
   2585             ["@babel/plugin-syntax-top-level-await", "virtual:b0bcc6ed62f8cf440c643d427cdd1fc566ec22f126451716118ef952823b573e8f7f1cb7c591f1288add1fa897fe0a163bfb63cd397e5c0d0fcd25bdd3b3b26b#npm:7.14.5"],\
   2586             ["@types/babel__core", "npm:7.20.0"]\
   2587           ],\
   2588           "packagePeers": [\
   2589             "@babel/core",\
   2590             "@types/babel__core"\
   2591           ],\
   2592           "linkType": "HARD"\
   2593         }]\
   2594       ]],\
   2595       ["babel-preset-jest", [\
   2596         ["npm:29.2.0", {\
   2597           "packageLocation": "./.yarn/cache/babel-preset-jest-npm-29.2.0-d765a77392-1b09a2db96.zip/node_modules/babel-preset-jest/",\
   2598           "packageDependencies": [\
   2599             ["babel-preset-jest", "npm:29.2.0"]\
   2600           ],\
   2601           "linkType": "SOFT"\
   2602         }],\
   2603         ["virtual:ec7a7dd7d38ca5d5ffbf4e26ec5ec41db80426f7a890053e08e0e11d43ee5d948d4244a15d6a856abf516d6dae11e0b778c98cf15e29dd05565aa81dc02bc371#npm:29.2.0", {\
   2604           "packageLocation": "./.yarn/__virtual__/babel-preset-jest-virtual-7b3f7f6eee/0/cache/babel-preset-jest-npm-29.2.0-d765a77392-1b09a2db96.zip/node_modules/babel-preset-jest/",\
   2605           "packageDependencies": [\
   2606             ["babel-preset-jest", "virtual:ec7a7dd7d38ca5d5ffbf4e26ec5ec41db80426f7a890053e08e0e11d43ee5d948d4244a15d6a856abf516d6dae11e0b778c98cf15e29dd05565aa81dc02bc371#npm:29.2.0"],\
   2607             ["@babel/core", "npm:7.20.12"],\
   2608             ["@types/babel__core", "npm:7.20.0"],\
   2609             ["babel-plugin-jest-hoist", "npm:29.2.0"],\
   2610             ["babel-preset-current-node-syntax", "virtual:7b3f7f6eeed1ae4eee8602648cc6fbec893a2c67535d2704aef0049ce53c0dfa43a1f2949dbd7d00a2f3076823a7428d49cc887d6c5a579366f75e69ade520bc#npm:1.0.1"]\
   2611           ],\
   2612           "packagePeers": [\
   2613             "@babel/core",\
   2614             "@types/babel__core"\
   2615           ],\
   2616           "linkType": "HARD"\
   2617         }]\
   2618       ]],\
   2619       ["balanced-match", [\
   2620         ["npm:1.0.2", {\
   2621           "packageLocation": "./.yarn/cache/balanced-match-npm-1.0.2-a53c126459-9706c088a2.zip/node_modules/balanced-match/",\
   2622           "packageDependencies": [\
   2623             ["balanced-match", "npm:1.0.2"]\
   2624           ],\
   2625           "linkType": "HARD"\
   2626         }]\
   2627       ]],\
   2628       ["base64-js", [\
   2629         ["npm:1.5.1", {\
   2630           "packageLocation": "./.yarn/cache/base64-js-npm-1.5.1-b2f7275641-669632eb37.zip/node_modules/base64-js/",\
   2631           "packageDependencies": [\
   2632             ["base64-js", "npm:1.5.1"]\
   2633           ],\
   2634           "linkType": "HARD"\
   2635         }]\
   2636       ]],\
   2637       ["bcrypt", [\
   2638         ["npm:5.1.0", {\
   2639           "packageLocation": "./.yarn/unplugged/bcrypt-npm-5.1.0-2a4230b3eb/node_modules/bcrypt/",\
   2640           "packageDependencies": [\
   2641             ["bcrypt", "npm:5.1.0"],\
   2642             ["@mapbox/node-pre-gyp", "npm:1.0.10"],\
   2643             ["node-addon-api", "npm:5.1.0"]\
   2644           ],\
   2645           "linkType": "HARD"\
   2646         }]\
   2647       ]],\
   2648       ["binary-extensions", [\
   2649         ["npm:2.2.0", {\
   2650           "packageLocation": "./.yarn/cache/binary-extensions-npm-2.2.0-180c33fec7-ccd267956c.zip/node_modules/binary-extensions/",\
   2651           "packageDependencies": [\
   2652             ["binary-extensions", "npm:2.2.0"]\
   2653           ],\
   2654           "linkType": "HARD"\
   2655         }]\
   2656       ]],\
   2657       ["brace-expansion", [\
   2658         ["npm:1.1.11", {\
   2659           "packageLocation": "./.yarn/cache/brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zip/node_modules/brace-expansion/",\
   2660           "packageDependencies": [\
   2661             ["brace-expansion", "npm:1.1.11"],\
   2662             ["balanced-match", "npm:1.0.2"],\
   2663             ["concat-map", "npm:0.0.1"]\
   2664           ],\
   2665           "linkType": "HARD"\
   2666         }],\
   2667         ["npm:2.0.1", {\
   2668           "packageLocation": "./.yarn/cache/brace-expansion-npm-2.0.1-17aa2616f9-a61e7cd2e8.zip/node_modules/brace-expansion/",\
   2669           "packageDependencies": [\
   2670             ["brace-expansion", "npm:2.0.1"],\
   2671             ["balanced-match", "npm:1.0.2"]\
   2672           ],\
   2673           "linkType": "HARD"\
   2674         }]\
   2675       ]],\
   2676       ["braces", [\
   2677         ["npm:3.0.2", {\
   2678           "packageLocation": "./.yarn/cache/braces-npm-3.0.2-782240b28a-e2a8e769a8.zip/node_modules/braces/",\
   2679           "packageDependencies": [\
   2680             ["braces", "npm:3.0.2"],\
   2681             ["fill-range", "npm:7.0.1"]\
   2682           ],\
   2683           "linkType": "HARD"\
   2684         }]\
   2685       ]],\
   2686       ["browserslist", [\
   2687         ["npm:4.21.4", {\
   2688           "packageLocation": "./.yarn/cache/browserslist-npm-4.21.4-7d64a96afc-4af3793704.zip/node_modules/browserslist/",\
   2689           "packageDependencies": [\
   2690             ["browserslist", "npm:4.21.4"],\
   2691             ["caniuse-lite", "npm:1.0.30001446"],\
   2692             ["electron-to-chromium", "npm:1.4.284"],\
   2693             ["node-releases", "npm:2.0.8"],\
   2694             ["update-browserslist-db", "virtual:7d64a96afc8cf9b31b95951ccc2f47931d0cf97faa526fd0d20448bf2c73ddf9f5ef9e5cd28839ae8b5791451df45079a407b3f4978367b4210748169f5848f6#npm:1.0.10"]\
   2695           ],\
   2696           "linkType": "HARD"\
   2697         }]\
   2698       ]],\
   2699       ["bser", [\
   2700         ["npm:2.1.1", {\
   2701           "packageLocation": "./.yarn/cache/bser-npm-2.1.1-cc902055ce-9ba4dc58ce.zip/node_modules/bser/",\
   2702           "packageDependencies": [\
   2703             ["bser", "npm:2.1.1"],\
   2704             ["node-int64", "npm:0.4.0"]\
   2705           ],\
   2706           "linkType": "HARD"\
   2707         }]\
   2708       ]],\
   2709       ["buffer", [\
   2710         ["npm:6.0.3", {\
   2711           "packageLocation": "./.yarn/cache/buffer-npm-6.0.3-cd90dfedfe-5ad23293d9.zip/node_modules/buffer/",\
   2712           "packageDependencies": [\
   2713             ["buffer", "npm:6.0.3"],\
   2714             ["base64-js", "npm:1.5.1"],\
   2715             ["ieee754", "npm:1.2.1"]\
   2716           ],\
   2717           "linkType": "HARD"\
   2718         }]\
   2719       ]],\
   2720       ["buffer-equal-constant-time", [\
   2721         ["npm:1.0.1", {\
   2722           "packageLocation": "./.yarn/cache/buffer-equal-constant-time-npm-1.0.1-41826f3419-80bb945f5d.zip/node_modules/buffer-equal-constant-time/",\
   2723           "packageDependencies": [\
   2724             ["buffer-equal-constant-time", "npm:1.0.1"]\
   2725           ],\
   2726           "linkType": "HARD"\
   2727         }]\
   2728       ]],\
   2729       ["buffer-from", [\
   2730         ["npm:1.1.2", {\
   2731           "packageLocation": "./.yarn/cache/buffer-from-npm-1.1.2-03d2f20d7e-0448524a56.zip/node_modules/buffer-from/",\
   2732           "packageDependencies": [\
   2733             ["buffer-from", "npm:1.1.2"]\
   2734           ],\
   2735           "linkType": "HARD"\
   2736         }]\
   2737       ]],\
   2738       ["cacache", [\
   2739         ["npm:16.1.3", {\
   2740           "packageLocation": "./.yarn/cache/cacache-npm-16.1.3-4e2088ed0d-d91409e6e5.zip/node_modules/cacache/",\
   2741           "packageDependencies": [\
   2742             ["cacache", "npm:16.1.3"],\
   2743             ["@npmcli/fs", "npm:2.1.2"],\
   2744             ["@npmcli/move-file", "npm:2.0.1"],\
   2745             ["chownr", "npm:2.0.0"],\
   2746             ["fs-minipass", "npm:2.1.0"],\
   2747             ["glob", "npm:8.1.0"],\
   2748             ["infer-owner", "npm:1.0.4"],\
   2749             ["lru-cache", "npm:7.14.1"],\
   2750             ["minipass", "npm:3.3.6"],\
   2751             ["minipass-collect", "npm:1.0.2"],\
   2752             ["minipass-flush", "npm:1.0.5"],\
   2753             ["minipass-pipeline", "npm:1.2.4"],\
   2754             ["mkdirp", "npm:1.0.4"],\
   2755             ["p-map", "npm:4.0.0"],\
   2756             ["promise-inflight", "virtual:4e2088ed0df52533102f445d7e7aeba6560b7effa0cabbc7cc20dd1e36a86dd838cc541de4414688f4ce3ec77b0ad5298cea6de581350d934ceb35c3e0fe3462#npm:1.0.1"],\
   2757             ["rimraf", "npm:3.0.2"],\
   2758             ["ssri", "npm:9.0.1"],\
   2759             ["tar", "npm:6.1.13"],\
   2760             ["unique-filename", "npm:2.0.1"]\
   2761           ],\
   2762           "linkType": "HARD"\
   2763         }]\
   2764       ]],\
   2765       ["call-bind", [\
   2766         ["npm:1.0.2", {\
   2767           "packageLocation": "./.yarn/cache/call-bind-npm-1.0.2-c957124861-f8e31de9d1.zip/node_modules/call-bind/",\
   2768           "packageDependencies": [\
   2769             ["call-bind", "npm:1.0.2"],\
   2770             ["function-bind", "npm:1.1.1"],\
   2771             ["get-intrinsic", "npm:1.1.3"]\
   2772           ],\
   2773           "linkType": "HARD"\
   2774         }]\
   2775       ]],\
   2776       ["callsites", [\
   2777         ["npm:3.1.0", {\
   2778           "packageLocation": "./.yarn/cache/callsites-npm-3.1.0-268f989910-072d17b6ab.zip/node_modules/callsites/",\
   2779           "packageDependencies": [\
   2780             ["callsites", "npm:3.1.0"]\
   2781           ],\
   2782           "linkType": "HARD"\
   2783         }]\
   2784       ]],\
   2785       ["camelcase", [\
   2786         ["npm:5.3.1", {\
   2787           "packageLocation": "./.yarn/cache/camelcase-npm-5.3.1-5db8af62c5-e6effce26b.zip/node_modules/camelcase/",\
   2788           "packageDependencies": [\
   2789             ["camelcase", "npm:5.3.1"]\
   2790           ],\
   2791           "linkType": "HARD"\
   2792         }],\
   2793         ["npm:6.3.0", {\
   2794           "packageLocation": "./.yarn/cache/camelcase-npm-6.3.0-e5e42a0d15-8c96818a90.zip/node_modules/camelcase/",\
   2795           "packageDependencies": [\
   2796             ["camelcase", "npm:6.3.0"]\
   2797           ],\
   2798           "linkType": "HARD"\
   2799         }]\
   2800       ]],\
   2801       ["caniuse-lite", [\
   2802         ["npm:1.0.30001445", {\
   2803           "packageLocation": "./.yarn/cache/caniuse-lite-npm-1.0.30001445-535a3ade2b-f98ca67829.zip/node_modules/caniuse-lite/",\
   2804           "packageDependencies": [\
   2805             ["caniuse-lite", "npm:1.0.30001445"]\
   2806           ],\
   2807           "linkType": "HARD"\
   2808         }],\
   2809         ["npm:1.0.30001446", {\
   2810           "packageLocation": "./.yarn/cache/caniuse-lite-npm-1.0.30001446-7fe6417e87-b31a7e1837.zip/node_modules/caniuse-lite/",\
   2811           "packageDependencies": [\
   2812             ["caniuse-lite", "npm:1.0.30001446"]\
   2813           ],\
   2814           "linkType": "HARD"\
   2815         }]\
   2816       ]],\
   2817       ["chalk", [\
   2818         ["npm:2.4.2", {\
   2819           "packageLocation": "./.yarn/cache/chalk-npm-2.4.2-3ea16dd91e-ec3661d38f.zip/node_modules/chalk/",\
   2820           "packageDependencies": [\
   2821             ["chalk", "npm:2.4.2"],\
   2822             ["ansi-styles", "npm:3.2.1"],\
   2823             ["escape-string-regexp", "npm:1.0.5"],\
   2824             ["supports-color", "npm:5.5.0"]\
   2825           ],\
   2826           "linkType": "HARD"\
   2827         }],\
   2828         ["npm:3.0.0", {\
   2829           "packageLocation": "./.yarn/cache/chalk-npm-3.0.0-e813208025-8e3ddf3981.zip/node_modules/chalk/",\
   2830           "packageDependencies": [\
   2831             ["chalk", "npm:3.0.0"],\
   2832             ["ansi-styles", "npm:4.3.0"],\
   2833             ["supports-color", "npm:7.2.0"]\
   2834           ],\
   2835           "linkType": "HARD"\
   2836         }],\
   2837         ["npm:4.1.2", {\
   2838           "packageLocation": "./.yarn/cache/chalk-npm-4.1.2-ba8b67ab80-fe75c9d5c7.zip/node_modules/chalk/",\
   2839           "packageDependencies": [\
   2840             ["chalk", "npm:4.1.2"],\
   2841             ["ansi-styles", "npm:4.3.0"],\
   2842             ["supports-color", "npm:7.2.0"]\
   2843           ],\
   2844           "linkType": "HARD"\
   2845         }]\
   2846       ]],\
   2847       ["char-regex", [\
   2848         ["npm:1.0.2", {\
   2849           "packageLocation": "./.yarn/cache/char-regex-npm-1.0.2-ecade5f97f-b563e4b603.zip/node_modules/char-regex/",\
   2850           "packageDependencies": [\
   2851             ["char-regex", "npm:1.0.2"]\
   2852           ],\
   2853           "linkType": "HARD"\
   2854         }]\
   2855       ]],\
   2856       ["chokidar", [\
   2857         ["npm:3.5.3", {\
   2858           "packageLocation": "./.yarn/cache/chokidar-npm-3.5.3-c5f9b0a56a-b49fcde401.zip/node_modules/chokidar/",\
   2859           "packageDependencies": [\
   2860             ["chokidar", "npm:3.5.3"],\
   2861             ["anymatch", "npm:3.1.3"],\
   2862             ["braces", "npm:3.0.2"],\
   2863             ["fsevents", "patch:fsevents@npm%3A2.3.2#~builtin<compat/fsevents>::version=2.3.2&hash=df0bf1"],\
   2864             ["glob-parent", "npm:5.1.2"],\
   2865             ["is-binary-path", "npm:2.1.0"],\
   2866             ["is-glob", "npm:4.0.3"],\
   2867             ["normalize-path", "npm:3.0.0"],\
   2868             ["readdirp", "npm:3.6.0"]\
   2869           ],\
   2870           "linkType": "HARD"\
   2871         }]\
   2872       ]],\
   2873       ["chownr", [\
   2874         ["npm:2.0.0", {\
   2875           "packageLocation": "./.yarn/cache/chownr-npm-2.0.0-638f1c9c61-c57cf9dd07.zip/node_modules/chownr/",\
   2876           "packageDependencies": [\
   2877             ["chownr", "npm:2.0.0"]\
   2878           ],\
   2879           "linkType": "HARD"\
   2880         }]\
   2881       ]],\
   2882       ["ci-info", [\
   2883         ["npm:3.7.1", {\
   2884           "packageLocation": "./.yarn/cache/ci-info-npm-3.7.1-fd86862c3f-72d93d5101.zip/node_modules/ci-info/",\
   2885           "packageDependencies": [\
   2886             ["ci-info", "npm:3.7.1"]\
   2887           ],\
   2888           "linkType": "HARD"\
   2889         }]\
   2890       ]],\
   2891       ["cjs-module-lexer", [\
   2892         ["npm:1.2.2", {\
   2893           "packageLocation": "./.yarn/cache/cjs-module-lexer-npm-1.2.2-473ce063ea-977f3f042b.zip/node_modules/cjs-module-lexer/",\
   2894           "packageDependencies": [\
   2895             ["cjs-module-lexer", "npm:1.2.2"]\
   2896           ],\
   2897           "linkType": "HARD"\
   2898         }]\
   2899       ]],\
   2900       ["clean-stack", [\
   2901         ["npm:2.2.0", {\
   2902           "packageLocation": "./.yarn/cache/clean-stack-npm-2.2.0-a8ce435a5c-2ac8cd2b2f.zip/node_modules/clean-stack/",\
   2903           "packageDependencies": [\
   2904             ["clean-stack", "npm:2.2.0"]\
   2905           ],\
   2906           "linkType": "HARD"\
   2907         }]\
   2908       ]],\
   2909       ["client-only", [\
   2910         ["npm:0.0.1", {\
   2911           "packageLocation": "./.yarn/cache/client-only-npm-0.0.1-07d3e9505c-0c16bf660d.zip/node_modules/client-only/",\
   2912           "packageDependencies": [\
   2913             ["client-only", "npm:0.0.1"]\
   2914           ],\
   2915           "linkType": "HARD"\
   2916         }]\
   2917       ]],\
   2918       ["cliui", [\
   2919         ["npm:8.0.1", {\
   2920           "packageLocation": "./.yarn/cache/cliui-npm-8.0.1-3b029092cf-79648b3b00.zip/node_modules/cliui/",\
   2921           "packageDependencies": [\
   2922             ["cliui", "npm:8.0.1"],\
   2923             ["string-width", "npm:4.2.3"],\
   2924             ["strip-ansi", "npm:6.0.1"],\
   2925             ["wrap-ansi", "npm:7.0.0"]\
   2926           ],\
   2927           "linkType": "HARD"\
   2928         }]\
   2929       ]],\
   2930       ["cluster-key-slot", [\
   2931         ["npm:1.1.2", {\
   2932           "packageLocation": "./.yarn/cache/cluster-key-slot-npm-1.1.2-0571a28825-be0ad2d262.zip/node_modules/cluster-key-slot/",\
   2933           "packageDependencies": [\
   2934             ["cluster-key-slot", "npm:1.1.2"]\
   2935           ],\
   2936           "linkType": "HARD"\
   2937         }]\
   2938       ]],\
   2939       ["co", [\
   2940         ["npm:4.6.0", {\
   2941           "packageLocation": "./.yarn/cache/co-npm-4.6.0-03f2d1feb6-5210d92230.zip/node_modules/co/",\
   2942           "packageDependencies": [\
   2943             ["co", "npm:4.6.0"]\
   2944           ],\
   2945           "linkType": "HARD"\
   2946         }]\
   2947       ]],\
   2948       ["collect-v8-coverage", [\
   2949         ["npm:1.0.1", {\
   2950           "packageLocation": "./.yarn/cache/collect-v8-coverage-npm-1.0.1-39dec86bad-4efe0a1fcc.zip/node_modules/collect-v8-coverage/",\
   2951           "packageDependencies": [\
   2952             ["collect-v8-coverage", "npm:1.0.1"]\
   2953           ],\
   2954           "linkType": "HARD"\
   2955         }]\
   2956       ]],\
   2957       ["color-convert", [\
   2958         ["npm:1.9.3", {\
   2959           "packageLocation": "./.yarn/cache/color-convert-npm-1.9.3-1fe690075e-fd7a64a17c.zip/node_modules/color-convert/",\
   2960           "packageDependencies": [\
   2961             ["color-convert", "npm:1.9.3"],\
   2962             ["color-name", "npm:1.1.3"]\
   2963           ],\
   2964           "linkType": "HARD"\
   2965         }],\
   2966         ["npm:2.0.1", {\
   2967           "packageLocation": "./.yarn/cache/color-convert-npm-2.0.1-79730e935b-79e6bdb9fd.zip/node_modules/color-convert/",\
   2968           "packageDependencies": [\
   2969             ["color-convert", "npm:2.0.1"],\
   2970             ["color-name", "npm:1.1.4"]\
   2971           ],\
   2972           "linkType": "HARD"\
   2973         }]\
   2974       ]],\
   2975       ["color-name", [\
   2976         ["npm:1.1.3", {\
   2977           "packageLocation": "./.yarn/cache/color-name-npm-1.1.3-728b7b5d39-09c5d3e33d.zip/node_modules/color-name/",\
   2978           "packageDependencies": [\
   2979             ["color-name", "npm:1.1.3"]\
   2980           ],\
   2981           "linkType": "HARD"\
   2982         }],\
   2983         ["npm:1.1.4", {\
   2984           "packageLocation": "./.yarn/cache/color-name-npm-1.1.4-025792b0ea-b044585952.zip/node_modules/color-name/",\
   2985           "packageDependencies": [\
   2986             ["color-name", "npm:1.1.4"]\
   2987           ],\
   2988           "linkType": "HARD"\
   2989         }]\
   2990       ]],\
   2991       ["color-support", [\
   2992         ["npm:1.1.3", {\
   2993           "packageLocation": "./.yarn/cache/color-support-npm-1.1.3-3be5c53455-9b73568176.zip/node_modules/color-support/",\
   2994           "packageDependencies": [\
   2995             ["color-support", "npm:1.1.3"]\
   2996           ],\
   2997           "linkType": "HARD"\
   2998         }]\
   2999       ]],\
   3000       ["combined-stream", [\
   3001         ["npm:1.0.8", {\
   3002           "packageLocation": "./.yarn/cache/combined-stream-npm-1.0.8-dc14d4a63a-49fa4aeb49.zip/node_modules/combined-stream/",\
   3003           "packageDependencies": [\
   3004             ["combined-stream", "npm:1.0.8"],\
   3005             ["delayed-stream", "npm:1.0.0"]\
   3006           ],\
   3007           "linkType": "HARD"\
   3008         }]\
   3009       ]],\
   3010       ["concat-map", [\
   3011         ["npm:0.0.1", {\
   3012           "packageLocation": "./.yarn/cache/concat-map-npm-0.0.1-85a921b7ee-902a9f5d89.zip/node_modules/concat-map/",\
   3013           "packageDependencies": [\
   3014             ["concat-map", "npm:0.0.1"]\
   3015           ],\
   3016           "linkType": "HARD"\
   3017         }]\
   3018       ]],\
   3019       ["console-control-strings", [\
   3020         ["npm:1.1.0", {\
   3021           "packageLocation": "./.yarn/cache/console-control-strings-npm-1.1.0-e3160e5275-8755d76787.zip/node_modules/console-control-strings/",\
   3022           "packageDependencies": [\
   3023             ["console-control-strings", "npm:1.1.0"]\
   3024           ],\
   3025           "linkType": "HARD"\
   3026         }]\
   3027       ]],\
   3028       ["convert-source-map", [\
   3029         ["npm:1.9.0", {\
   3030           "packageLocation": "./.yarn/cache/convert-source-map-npm-1.9.0-e294555f4b-dc55a1f28d.zip/node_modules/convert-source-map/",\
   3031           "packageDependencies": [\
   3032             ["convert-source-map", "npm:1.9.0"]\
   3033           ],\
   3034           "linkType": "HARD"\
   3035         }],\
   3036         ["npm:2.0.0", {\
   3037           "packageLocation": "./.yarn/cache/convert-source-map-npm-2.0.0-7ab664dc4e-63ae9933be.zip/node_modules/convert-source-map/",\
   3038           "packageDependencies": [\
   3039             ["convert-source-map", "npm:2.0.0"]\
   3040           ],\
   3041           "linkType": "HARD"\
   3042         }]\
   3043       ]],\
   3044       ["copy-anything", [\
   3045         ["npm:3.0.3", {\
   3046           "packageLocation": "./.yarn/cache/copy-anything-npm-3.0.3-a24d77ec4d-d456dc5ec9.zip/node_modules/copy-anything/",\
   3047           "packageDependencies": [\
   3048             ["copy-anything", "npm:3.0.3"],\
   3049             ["is-what", "npm:4.1.8"]\
   3050           ],\
   3051           "linkType": "HARD"\
   3052         }]\
   3053       ]],\
   3054       ["cross-spawn", [\
   3055         ["npm:7.0.3", {\
   3056           "packageLocation": "./.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-671cc7c728.zip/node_modules/cross-spawn/",\
   3057           "packageDependencies": [\
   3058             ["cross-spawn", "npm:7.0.3"],\
   3059             ["path-key", "npm:3.1.1"],\
   3060             ["shebang-command", "npm:2.0.0"],\
   3061             ["which", "npm:2.0.2"]\
   3062           ],\
   3063           "linkType": "HARD"\
   3064         }]\
   3065       ]],\
   3066       ["css.escape", [\
   3067         ["npm:1.5.1", {\
   3068           "packageLocation": "./.yarn/cache/css.escape-npm-1.5.1-b24d2ba77a-f6d38088d8.zip/node_modules/css.escape/",\
   3069           "packageDependencies": [\
   3070             ["css.escape", "npm:1.5.1"]\
   3071           ],\
   3072           "linkType": "HARD"\
   3073         }]\
   3074       ]],\
   3075       ["cssom", [\
   3076         ["npm:0.3.8", {\
   3077           "packageLocation": "./.yarn/cache/cssom-npm-0.3.8-a9291d36ff-24beb3087c.zip/node_modules/cssom/",\
   3078           "packageDependencies": [\
   3079             ["cssom", "npm:0.3.8"]\
   3080           ],\
   3081           "linkType": "HARD"\
   3082         }],\
   3083         ["npm:0.5.0", {\
   3084           "packageLocation": "./.yarn/cache/cssom-npm-0.5.0-44ab2704f2-823471aa30.zip/node_modules/cssom/",\
   3085           "packageDependencies": [\
   3086             ["cssom", "npm:0.5.0"]\
   3087           ],\
   3088           "linkType": "HARD"\
   3089         }]\
   3090       ]],\
   3091       ["cssstyle", [\
   3092         ["npm:2.3.0", {\
   3093           "packageLocation": "./.yarn/cache/cssstyle-npm-2.3.0-b5d112c450-5f05e6fd2e.zip/node_modules/cssstyle/",\
   3094           "packageDependencies": [\
   3095             ["cssstyle", "npm:2.3.0"],\
   3096             ["cssom", "npm:0.3.8"]\
   3097           ],\
   3098           "linkType": "HARD"\
   3099         }]\
   3100       ]],\
   3101       ["csstype", [\
   3102         ["npm:3.1.1", {\
   3103           "packageLocation": "./.yarn/cache/csstype-npm-3.1.1-3857baf48b-1f7b4f5fdd.zip/node_modules/csstype/",\
   3104           "packageDependencies": [\
   3105             ["csstype", "npm:3.1.1"]\
   3106           ],\
   3107           "linkType": "HARD"\
   3108         }]\
   3109       ]],\
   3110       ["damerau-levenshtein", [\
   3111         ["npm:1.0.8", {\
   3112           "packageLocation": "./.yarn/cache/damerau-levenshtein-npm-1.0.8-bda7311c69-d240b77575.zip/node_modules/damerau-levenshtein/",\
   3113           "packageDependencies": [\
   3114             ["damerau-levenshtein", "npm:1.0.8"]\
   3115           ],\
   3116           "linkType": "HARD"\
   3117         }]\
   3118       ]],\
   3119       ["data-urls", [\
   3120         ["npm:3.0.2", {\
   3121           "packageLocation": "./.yarn/cache/data-urls-npm-3.0.2-c8b2050319-033fc3dd0f.zip/node_modules/data-urls/",\
   3122           "packageDependencies": [\
   3123             ["data-urls", "npm:3.0.2"],\
   3124             ["abab", "npm:2.0.6"],\
   3125             ["whatwg-mimetype", "npm:3.0.0"],\
   3126             ["whatwg-url", "npm:11.0.0"]\
   3127           ],\
   3128           "linkType": "HARD"\
   3129         }]\
   3130       ]],\
   3131       ["debug", [\
   3132         ["npm:3.2.7", {\
   3133           "packageLocation": "./.yarn/cache/debug-npm-3.2.7-754e818c7a-b3d8c59407.zip/node_modules/debug/",\
   3134           "packageDependencies": [\
   3135             ["debug", "npm:3.2.7"]\
   3136           ],\
   3137           "linkType": "SOFT"\
   3138         }],\
   3139         ["npm:4.3.4", {\
   3140           "packageLocation": "./.yarn/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip/node_modules/debug/",\
   3141           "packageDependencies": [\
   3142             ["debug", "npm:4.3.4"]\
   3143           ],\
   3144           "linkType": "SOFT"\
   3145         }],\
   3146         ["virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4", {\
   3147           "packageLocation": "./.yarn/__virtual__/debug-virtual-218613e218/0/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip/node_modules/debug/",\
   3148           "packageDependencies": [\
   3149             ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\
   3150             ["@types/supports-color", null],\
   3151             ["ms", "npm:2.1.2"],\
   3152             ["supports-color", null]\
   3153           ],\
   3154           "packagePeers": [\
   3155             "@types/supports-color",\
   3156             "supports-color"\
   3157           ],\
   3158           "linkType": "HARD"\
   3159         }],\
   3160         ["virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7", {\
   3161           "packageLocation": "./.yarn/__virtual__/debug-virtual-2e2daad542/0/cache/debug-npm-3.2.7-754e818c7a-b3d8c59407.zip/node_modules/debug/",\
   3162           "packageDependencies": [\
   3163             ["debug", "virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7"],\
   3164             ["@types/supports-color", null],\
   3165             ["ms", "npm:2.1.3"],\
   3166             ["supports-color", null]\
   3167           ],\
   3168           "packagePeers": [\
   3169             "@types/supports-color",\
   3170             "supports-color"\
   3171           ],\
   3172           "linkType": "HARD"\
   3173         }]\
   3174       ]],\
   3175       ["decimal.js", [\
   3176         ["npm:10.4.3", {\
   3177           "packageLocation": "./.yarn/cache/decimal.js-npm-10.4.3-e7d483387c-796404dcfa.zip/node_modules/decimal.js/",\
   3178           "packageDependencies": [\
   3179             ["decimal.js", "npm:10.4.3"]\
   3180           ],\
   3181           "linkType": "HARD"\
   3182         }]\
   3183       ]],\
   3184       ["dedent", [\
   3185         ["npm:0.7.0", {\
   3186           "packageLocation": "./.yarn/cache/dedent-npm-0.7.0-2dbb45a4c5-87de191050.zip/node_modules/dedent/",\
   3187           "packageDependencies": [\
   3188             ["dedent", "npm:0.7.0"]\
   3189           ],\
   3190           "linkType": "HARD"\
   3191         }]\
   3192       ]],\
   3193       ["deep-equal", [\
   3194         ["npm:2.2.0", {\
   3195           "packageLocation": "./.yarn/cache/deep-equal-npm-2.2.0-d9712e0040-46a34509d2.zip/node_modules/deep-equal/",\
   3196           "packageDependencies": [\
   3197             ["deep-equal", "npm:2.2.0"],\
   3198             ["call-bind", "npm:1.0.2"],\
   3199             ["es-get-iterator", "npm:1.1.3"],\
   3200             ["get-intrinsic", "npm:1.1.3"],\
   3201             ["is-arguments", "npm:1.1.1"],\
   3202             ["is-array-buffer", "npm:3.0.1"],\
   3203             ["is-date-object", "npm:1.0.5"],\
   3204             ["is-regex", "npm:1.1.4"],\
   3205             ["is-shared-array-buffer", "npm:1.0.2"],\
   3206             ["isarray", "npm:2.0.5"],\
   3207             ["object-is", "npm:1.1.5"],\
   3208             ["object-keys", "npm:1.1.1"],\
   3209             ["object.assign", "npm:4.1.4"],\
   3210             ["regexp.prototype.flags", "npm:1.4.3"],\
   3211             ["side-channel", "npm:1.0.4"],\
   3212             ["which-boxed-primitive", "npm:1.0.2"],\
   3213             ["which-collection", "npm:1.0.1"],\
   3214             ["which-typed-array", "npm:1.1.9"]\
   3215           ],\
   3216           "linkType": "HARD"\
   3217         }]\
   3218       ]],\
   3219       ["deep-is", [\
   3220         ["npm:0.1.4", {\
   3221           "packageLocation": "./.yarn/cache/deep-is-npm-0.1.4-88938b5a67-edb65dd0d7.zip/node_modules/deep-is/",\
   3222           "packageDependencies": [\
   3223             ["deep-is", "npm:0.1.4"]\
   3224           ],\
   3225           "linkType": "HARD"\
   3226         }]\
   3227       ]],\
   3228       ["deepmerge", [\
   3229         ["npm:4.2.2", {\
   3230           "packageLocation": "./.yarn/cache/deepmerge-npm-4.2.2-112165ced2-a8c43a1ed8.zip/node_modules/deepmerge/",\
   3231           "packageDependencies": [\
   3232             ["deepmerge", "npm:4.2.2"]\
   3233           ],\
   3234           "linkType": "HARD"\
   3235         }]\
   3236       ]],\
   3237       ["define-lazy-prop", [\
   3238         ["npm:2.0.0", {\
   3239           "packageLocation": "./.yarn/cache/define-lazy-prop-npm-2.0.0-bba0cd91a7-0115fdb065.zip/node_modules/define-lazy-prop/",\
   3240           "packageDependencies": [\
   3241             ["define-lazy-prop", "npm:2.0.0"]\
   3242           ],\
   3243           "linkType": "HARD"\
   3244         }]\
   3245       ]],\
   3246       ["define-properties", [\
   3247         ["npm:1.1.4", {\
   3248           "packageLocation": "./.yarn/cache/define-properties-npm-1.1.4-85ee575655-ce0aef3f9e.zip/node_modules/define-properties/",\
   3249           "packageDependencies": [\
   3250             ["define-properties", "npm:1.1.4"],\
   3251             ["has-property-descriptors", "npm:1.0.0"],\
   3252             ["object-keys", "npm:1.1.1"]\
   3253           ],\
   3254           "linkType": "HARD"\
   3255         }]\
   3256       ]],\
   3257       ["delayed-stream", [\
   3258         ["npm:1.0.0", {\
   3259           "packageLocation": "./.yarn/cache/delayed-stream-npm-1.0.0-c5a4c4cc02-46fe6e83e2.zip/node_modules/delayed-stream/",\
   3260           "packageDependencies": [\
   3261             ["delayed-stream", "npm:1.0.0"]\
   3262           ],\
   3263           "linkType": "HARD"\
   3264         }]\
   3265       ]],\
   3266       ["delegates", [\
   3267         ["npm:1.0.0", {\
   3268           "packageLocation": "./.yarn/cache/delegates-npm-1.0.0-9b1942d75f-a51744d9b5.zip/node_modules/delegates/",\
   3269           "packageDependencies": [\
   3270             ["delegates", "npm:1.0.0"]\
   3271           ],\
   3272           "linkType": "HARD"\
   3273         }]\
   3274       ]],\
   3275       ["denque", [\
   3276         ["npm:2.1.0", {\
   3277           "packageLocation": "./.yarn/cache/denque-npm-2.1.0-578d0b6297-1d4ae1d05e.zip/node_modules/denque/",\
   3278           "packageDependencies": [\
   3279             ["denque", "npm:2.1.0"]\
   3280           ],\
   3281           "linkType": "HARD"\
   3282         }]\
   3283       ]],\
   3284       ["depd", [\
   3285         ["npm:1.1.2", {\
   3286           "packageLocation": "./.yarn/cache/depd-npm-1.1.2-b0c8414da7-6b406620d2.zip/node_modules/depd/",\
   3287           "packageDependencies": [\
   3288             ["depd", "npm:1.1.2"]\
   3289           ],\
   3290           "linkType": "HARD"\
   3291         }]\
   3292       ]],\
   3293       ["detect-libc", [\
   3294         ["npm:2.0.1", {\
   3295           "packageLocation": "./.yarn/cache/detect-libc-npm-2.0.1-2699cb2ac4-ccb05fcabb.zip/node_modules/detect-libc/",\
   3296           "packageDependencies": [\
   3297             ["detect-libc", "npm:2.0.1"]\
   3298           ],\
   3299           "linkType": "HARD"\
   3300         }]\
   3301       ]],\
   3302       ["detect-newline", [\
   3303         ["npm:3.1.0", {\
   3304           "packageLocation": "./.yarn/cache/detect-newline-npm-3.1.0-6d33fa8d37-ae6cd429c4.zip/node_modules/detect-newline/",\
   3305           "packageDependencies": [\
   3306             ["detect-newline", "npm:3.1.0"]\
   3307           ],\
   3308           "linkType": "HARD"\
   3309         }]\
   3310       ]],\
   3311       ["diff", [\
   3312         ["npm:5.1.0", {\
   3313           "packageLocation": "./.yarn/cache/diff-npm-5.1.0-d24d222280-c7bf0df7c9.zip/node_modules/diff/",\
   3314           "packageDependencies": [\
   3315             ["diff", "npm:5.1.0"]\
   3316           ],\
   3317           "linkType": "HARD"\
   3318         }]\
   3319       ]],\
   3320       ["diff-sequences", [\
   3321         ["npm:29.3.1", {\
   3322           "packageLocation": "./.yarn/cache/diff-sequences-npm-29.3.1-817e98637b-8edab8c383.zip/node_modules/diff-sequences/",\
   3323           "packageDependencies": [\
   3324             ["diff-sequences", "npm:29.3.1"]\
   3325           ],\
   3326           "linkType": "HARD"\
   3327         }]\
   3328       ]],\
   3329       ["dir-glob", [\
   3330         ["npm:3.0.1", {\
   3331           "packageLocation": "./.yarn/cache/dir-glob-npm-3.0.1-1aea628b1b-fa05e18324.zip/node_modules/dir-glob/",\
   3332           "packageDependencies": [\
   3333             ["dir-glob", "npm:3.0.1"],\
   3334             ["path-type", "npm:4.0.0"]\
   3335           ],\
   3336           "linkType": "HARD"\
   3337         }]\
   3338       ]],\
   3339       ["doctrine", [\
   3340         ["npm:2.1.0", {\
   3341           "packageLocation": "./.yarn/cache/doctrine-npm-2.1.0-ac15d049b7-a45e277f7f.zip/node_modules/doctrine/",\
   3342           "packageDependencies": [\
   3343             ["doctrine", "npm:2.1.0"],\
   3344             ["esutils", "npm:2.0.3"]\
   3345           ],\
   3346           "linkType": "HARD"\
   3347         }],\
   3348         ["npm:3.0.0", {\
   3349           "packageLocation": "./.yarn/cache/doctrine-npm-3.0.0-c6f1615f04-fd7673ca77.zip/node_modules/doctrine/",\
   3350           "packageDependencies": [\
   3351             ["doctrine", "npm:3.0.0"],\
   3352             ["esutils", "npm:2.0.3"]\
   3353           ],\
   3354           "linkType": "HARD"\
   3355         }]\
   3356       ]],\
   3357       ["dom-accessibility-api", [\
   3358         ["npm:0.5.16", {\
   3359           "packageLocation": "./.yarn/cache/dom-accessibility-api-npm-0.5.16-d3e2310666-005eb283ca.zip/node_modules/dom-accessibility-api/",\
   3360           "packageDependencies": [\
   3361             ["dom-accessibility-api", "npm:0.5.16"]\
   3362           ],\
   3363           "linkType": "HARD"\
   3364         }]\
   3365       ]],\
   3366       ["domexception", [\
   3367         ["npm:4.0.0", {\
   3368           "packageLocation": "./.yarn/cache/domexception-npm-4.0.0-5093673f9b-ddbc1268ed.zip/node_modules/domexception/",\
   3369           "packageDependencies": [\
   3370             ["domexception", "npm:4.0.0"],\
   3371             ["webidl-conversions", "npm:7.0.0"]\
   3372           ],\
   3373           "linkType": "HARD"\
   3374         }]\
   3375       ]],\
   3376       ["dreamhanks-demo-project", [\
   3377         ["workspace:.", {\
   3378           "packageLocation": "./",\
   3379           "packageDependencies": [\
   3380             ["dreamhanks-demo-project", "workspace:."],\
   3381             ["@next/font", "npm:13.1.2"],\
   3382             ["@testing-library/jest-dom", "npm:5.16.5"],\
   3383             ["@testing-library/react", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.4.0"],\
   3384             ["@testing-library/user-event", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:14.4.3"],\
   3385             ["@types/bcrypt", "npm:5.0.0"],\
   3386             ["@types/diff", "npm:5.0.2"],\
   3387             ["@types/jest", "npm:29.2.6"],\
   3388             ["@types/jsonwebtoken", "npm:9.0.1"],\
   3389             ["@types/node", "npm:18.11.18"],\
   3390             ["@types/nodemailer", "npm:6.4.7"],\
   3391             ["@types/react", "npm:18.0.26"],\
   3392             ["@types/react-dom", "npm:18.0.10"],\
   3393             ["@types/testing-library__jest-dom", "npm:5.14.5"],\
   3394             ["bcrypt", "npm:5.1.0"],\
   3395             ["diff", "npm:5.1.0"],\
   3396             ["eslint", "npm:8.32.0"],\
   3397             ["eslint-config-next", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.1.2"],\
   3398             ["handlebars", "npm:4.7.7"],\
   3399             ["jest", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:29.3.1"],\
   3400             ["jest-environment-jsdom", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:29.3.1"],\
   3401             ["jsonwebtoken", "npm:9.0.0"],\
   3402             ["moment", "npm:2.29.4"],\
   3403             ["mysql2", "npm:3.0.1"],\
   3404             ["nanoevents", "npm:7.0.1"],\
   3405             ["nanoid", "npm:4.0.0"],\
   3406             ["next", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.1.2"],\
   3407             ["next-router-mock", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:0.9.1-beta.0"],\
   3408             ["next-superjson-plugin", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:0.5.4"],\
   3409             ["nodemailer", "npm:6.9.0"],\
   3410             ["pino", "npm:8.8.0"],\
   3411             ["react", "npm:18.2.0"],\
   3412             ["react-dom", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:18.2.0"],\
   3413             ["react-hot-toast", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:2.4.0"],\
   3414             ["redis", "npm:4.6.1"],\
   3415             ["sass", "npm:1.57.1"],\
   3416             ["superjson", "npm:1.12.2"],\
   3417             ["typescript", "patch:typescript@npm%3A4.9.4#~builtin<compat/typescript>::version=4.9.4&hash=ad5954"],\
   3418             ["ws", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:8.12.0"],\
   3419             ["yaml", "npm:2.2.1"]\
   3420           ],\
   3421           "linkType": "SOFT"\
   3422         }]\
   3423       ]],\
   3424       ["ecdsa-sig-formatter", [\
   3425         ["npm:1.0.11", {\
   3426           "packageLocation": "./.yarn/cache/ecdsa-sig-formatter-npm-1.0.11-b6784e7852-207f9ab1c2.zip/node_modules/ecdsa-sig-formatter/",\
   3427           "packageDependencies": [\
   3428             ["ecdsa-sig-formatter", "npm:1.0.11"],\
   3429             ["safe-buffer", "npm:5.2.1"]\
   3430           ],\
   3431           "linkType": "HARD"\
   3432         }]\
   3433       ]],\
   3434       ["electron-to-chromium", [\
   3435         ["npm:1.4.284", {\
   3436           "packageLocation": "./.yarn/cache/electron-to-chromium-npm-1.4.284-2fb881a7ac-be496e9dca.zip/node_modules/electron-to-chromium/",\
   3437           "packageDependencies": [\
   3438             ["electron-to-chromium", "npm:1.4.284"]\
   3439           ],\
   3440           "linkType": "HARD"\
   3441         }]\
   3442       ]],\
   3443       ["emittery", [\
   3444         ["npm:0.13.1", {\
   3445           "packageLocation": "./.yarn/cache/emittery-npm-0.13.1-cb6cd1bb03-2b089ab630.zip/node_modules/emittery/",\
   3446           "packageDependencies": [\
   3447             ["emittery", "npm:0.13.1"]\
   3448           ],\
   3449           "linkType": "HARD"\
   3450         }]\
   3451       ]],\
   3452       ["emoji-regex", [\
   3453         ["npm:8.0.0", {\
   3454           "packageLocation": "./.yarn/cache/emoji-regex-npm-8.0.0-213764015c-d4c5c39d5a.zip/node_modules/emoji-regex/",\
   3455           "packageDependencies": [\
   3456             ["emoji-regex", "npm:8.0.0"]\
   3457           ],\
   3458           "linkType": "HARD"\
   3459         }],\
   3460         ["npm:9.2.2", {\
   3461           "packageLocation": "./.yarn/cache/emoji-regex-npm-9.2.2-e6fac8d058-8487182da7.zip/node_modules/emoji-regex/",\
   3462           "packageDependencies": [\
   3463             ["emoji-regex", "npm:9.2.2"]\
   3464           ],\
   3465           "linkType": "HARD"\
   3466         }]\
   3467       ]],\
   3468       ["encoding", [\
   3469         ["npm:0.1.13", {\
   3470           "packageLocation": "./.yarn/cache/encoding-npm-0.1.13-82a1837d30-bb98632f8f.zip/node_modules/encoding/",\
   3471           "packageDependencies": [\
   3472             ["encoding", "npm:0.1.13"],\
   3473             ["iconv-lite", "npm:0.6.3"]\
   3474           ],\
   3475           "linkType": "HARD"\
   3476         }]\
   3477       ]],\
   3478       ["enhanced-resolve", [\
   3479         ["npm:5.12.0", {\
   3480           "packageLocation": "./.yarn/cache/enhanced-resolve-npm-5.12.0-c291ce4ee3-bf3f787fac.zip/node_modules/enhanced-resolve/",\
   3481           "packageDependencies": [\
   3482             ["enhanced-resolve", "npm:5.12.0"],\
   3483             ["graceful-fs", "npm:4.2.10"],\
   3484             ["tapable", "npm:2.2.1"]\
   3485           ],\
   3486           "linkType": "HARD"\
   3487         }]\
   3488       ]],\
   3489       ["entities", [\
   3490         ["npm:4.4.0", {\
   3491           "packageLocation": "./.yarn/cache/entities-npm-4.4.0-97635dc5cc-84d250329f.zip/node_modules/entities/",\
   3492           "packageDependencies": [\
   3493             ["entities", "npm:4.4.0"]\
   3494           ],\
   3495           "linkType": "HARD"\
   3496         }]\
   3497       ]],\
   3498       ["env-paths", [\
   3499         ["npm:2.2.1", {\
   3500           "packageLocation": "./.yarn/cache/env-paths-npm-2.2.1-7c7577428c-65b5df55a8.zip/node_modules/env-paths/",\
   3501           "packageDependencies": [\
   3502             ["env-paths", "npm:2.2.1"]\
   3503           ],\
   3504           "linkType": "HARD"\
   3505         }]\
   3506       ]],\
   3507       ["err-code", [\
   3508         ["npm:2.0.3", {\
   3509           "packageLocation": "./.yarn/cache/err-code-npm-2.0.3-082e0ff9a7-8b7b1be20d.zip/node_modules/err-code/",\
   3510           "packageDependencies": [\
   3511             ["err-code", "npm:2.0.3"]\
   3512           ],\
   3513           "linkType": "HARD"\
   3514         }]\
   3515       ]],\
   3516       ["error-ex", [\
   3517         ["npm:1.3.2", {\
   3518           "packageLocation": "./.yarn/cache/error-ex-npm-1.3.2-5654f80c0f-c1c2b8b65f.zip/node_modules/error-ex/",\
   3519           "packageDependencies": [\
   3520             ["error-ex", "npm:1.3.2"],\
   3521             ["is-arrayish", "npm:0.2.1"]\
   3522           ],\
   3523           "linkType": "HARD"\
   3524         }]\
   3525       ]],\
   3526       ["es-abstract", [\
   3527         ["npm:1.21.1", {\
   3528           "packageLocation": "./.yarn/cache/es-abstract-npm-1.21.1-28d9a4a469-23ff60d42d.zip/node_modules/es-abstract/",\
   3529           "packageDependencies": [\
   3530             ["es-abstract", "npm:1.21.1"],\
   3531             ["available-typed-arrays", "npm:1.0.5"],\
   3532             ["call-bind", "npm:1.0.2"],\
   3533             ["es-set-tostringtag", "npm:2.0.1"],\
   3534             ["es-to-primitive", "npm:1.2.1"],\
   3535             ["function-bind", "npm:1.1.1"],\
   3536             ["function.prototype.name", "npm:1.1.5"],\
   3537             ["get-intrinsic", "npm:1.1.3"],\
   3538             ["get-symbol-description", "npm:1.0.0"],\
   3539             ["globalthis", "npm:1.0.3"],\
   3540             ["gopd", "npm:1.0.1"],\
   3541             ["has", "npm:1.0.3"],\
   3542             ["has-property-descriptors", "npm:1.0.0"],\
   3543             ["has-proto", "npm:1.0.1"],\
   3544             ["has-symbols", "npm:1.0.3"],\
   3545             ["internal-slot", "npm:1.0.4"],\
   3546             ["is-array-buffer", "npm:3.0.1"],\
   3547             ["is-callable", "npm:1.2.7"],\
   3548             ["is-negative-zero", "npm:2.0.2"],\
   3549             ["is-regex", "npm:1.1.4"],\
   3550             ["is-shared-array-buffer", "npm:1.0.2"],\
   3551             ["is-string", "npm:1.0.7"],\
   3552             ["is-typed-array", "npm:1.1.10"],\
   3553             ["is-weakref", "npm:1.0.2"],\
   3554             ["object-inspect", "npm:1.12.3"],\
   3555             ["object-keys", "npm:1.1.1"],\
   3556             ["object.assign", "npm:4.1.4"],\
   3557             ["regexp.prototype.flags", "npm:1.4.3"],\
   3558             ["safe-regex-test", "npm:1.0.0"],\
   3559             ["string.prototype.trimend", "npm:1.0.6"],\
   3560             ["string.prototype.trimstart", "npm:1.0.6"],\
   3561             ["typed-array-length", "npm:1.0.4"],\
   3562             ["unbox-primitive", "npm:1.0.2"],\
   3563             ["which-typed-array", "npm:1.1.9"]\
   3564           ],\
   3565           "linkType": "HARD"\
   3566         }]\
   3567       ]],\
   3568       ["es-get-iterator", [\
   3569         ["npm:1.1.3", {\
   3570           "packageLocation": "./.yarn/cache/es-get-iterator-npm-1.1.3-7911befaac-8fa118da42.zip/node_modules/es-get-iterator/",\
   3571           "packageDependencies": [\
   3572             ["es-get-iterator", "npm:1.1.3"],\
   3573             ["call-bind", "npm:1.0.2"],\
   3574             ["get-intrinsic", "npm:1.1.3"],\
   3575             ["has-symbols", "npm:1.0.3"],\
   3576             ["is-arguments", "npm:1.1.1"],\
   3577             ["is-map", "npm:2.0.2"],\
   3578             ["is-set", "npm:2.0.2"],\
   3579             ["is-string", "npm:1.0.7"],\
   3580             ["isarray", "npm:2.0.5"],\
   3581             ["stop-iteration-iterator", "npm:1.0.0"]\
   3582           ],\
   3583           "linkType": "HARD"\
   3584         }]\
   3585       ]],\
   3586       ["es-set-tostringtag", [\
   3587         ["npm:2.0.1", {\
   3588           "packageLocation": "./.yarn/cache/es-set-tostringtag-npm-2.0.1-c87b5de872-ec416a1294.zip/node_modules/es-set-tostringtag/",\
   3589           "packageDependencies": [\
   3590             ["es-set-tostringtag", "npm:2.0.1"],\
   3591             ["get-intrinsic", "npm:1.1.3"],\
   3592             ["has", "npm:1.0.3"],\
   3593             ["has-tostringtag", "npm:1.0.0"]\
   3594           ],\
   3595           "linkType": "HARD"\
   3596         }]\
   3597       ]],\
   3598       ["es-shim-unscopables", [\
   3599         ["npm:1.0.0", {\
   3600           "packageLocation": "./.yarn/cache/es-shim-unscopables-npm-1.0.0-06186593f1-83e95cadbb.zip/node_modules/es-shim-unscopables/",\
   3601           "packageDependencies": [\
   3602             ["es-shim-unscopables", "npm:1.0.0"],\
   3603             ["has", "npm:1.0.3"]\
   3604           ],\
   3605           "linkType": "HARD"\
   3606         }]\
   3607       ]],\
   3608       ["es-to-primitive", [\
   3609         ["npm:1.2.1", {\
   3610           "packageLocation": "./.yarn/cache/es-to-primitive-npm-1.2.1-b7a7eac6c5-4ead6671a2.zip/node_modules/es-to-primitive/",\
   3611           "packageDependencies": [\
   3612             ["es-to-primitive", "npm:1.2.1"],\
   3613             ["is-callable", "npm:1.2.7"],\
   3614             ["is-date-object", "npm:1.0.5"],\
   3615             ["is-symbol", "npm:1.0.4"]\
   3616           ],\
   3617           "linkType": "HARD"\
   3618         }]\
   3619       ]],\
   3620       ["escalade", [\
   3621         ["npm:3.1.1", {\
   3622           "packageLocation": "./.yarn/cache/escalade-npm-3.1.1-e02da076aa-a3e2a99f07.zip/node_modules/escalade/",\
   3623           "packageDependencies": [\
   3624             ["escalade", "npm:3.1.1"]\
   3625           ],\
   3626           "linkType": "HARD"\
   3627         }]\
   3628       ]],\
   3629       ["escape-string-regexp", [\
   3630         ["npm:1.0.5", {\
   3631           "packageLocation": "./.yarn/cache/escape-string-regexp-npm-1.0.5-3284de402f-6092fda75c.zip/node_modules/escape-string-regexp/",\
   3632           "packageDependencies": [\
   3633             ["escape-string-regexp", "npm:1.0.5"]\
   3634           ],\
   3635           "linkType": "HARD"\
   3636         }],\
   3637         ["npm:2.0.0", {\
   3638           "packageLocation": "./.yarn/cache/escape-string-regexp-npm-2.0.0-aef69d2a25-9f8a2d5743.zip/node_modules/escape-string-regexp/",\
   3639           "packageDependencies": [\
   3640             ["escape-string-regexp", "npm:2.0.0"]\
   3641           ],\
   3642           "linkType": "HARD"\
   3643         }],\
   3644         ["npm:4.0.0", {\
   3645           "packageLocation": "./.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-98b48897d9.zip/node_modules/escape-string-regexp/",\
   3646           "packageDependencies": [\
   3647             ["escape-string-regexp", "npm:4.0.0"]\
   3648           ],\
   3649           "linkType": "HARD"\
   3650         }]\
   3651       ]],\
   3652       ["escodegen", [\
   3653         ["npm:2.0.0", {\
   3654           "packageLocation": "./.yarn/cache/escodegen-npm-2.0.0-6450b02925-5aa6b2966f.zip/node_modules/escodegen/",\
   3655           "packageDependencies": [\
   3656             ["escodegen", "npm:2.0.0"],\
   3657             ["esprima", "npm:4.0.1"],\
   3658             ["estraverse", "npm:5.3.0"],\
   3659             ["esutils", "npm:2.0.3"],\
   3660             ["optionator", "npm:0.8.3"],\
   3661             ["source-map", "npm:0.6.1"]\
   3662           ],\
   3663           "linkType": "HARD"\
   3664         }]\
   3665       ]],\
   3666       ["eslint", [\
   3667         ["npm:8.32.0", {\
   3668           "packageLocation": "./.yarn/cache/eslint-npm-8.32.0-ce390f6a3f-23c8fb3c57.zip/node_modules/eslint/",\
   3669           "packageDependencies": [\
   3670             ["eslint", "npm:8.32.0"],\
   3671             ["@eslint/eslintrc", "npm:1.4.1"],\
   3672             ["@humanwhocodes/config-array", "npm:0.11.8"],\
   3673             ["@humanwhocodes/module-importer", "npm:1.0.1"],\
   3674             ["@nodelib/fs.walk", "npm:1.2.8"],\
   3675             ["ajv", "npm:6.12.6"],\
   3676             ["chalk", "npm:4.1.2"],\
   3677             ["cross-spawn", "npm:7.0.3"],\
   3678             ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\
   3679             ["doctrine", "npm:3.0.0"],\
   3680             ["escape-string-regexp", "npm:4.0.0"],\
   3681             ["eslint-scope", "npm:7.1.1"],\
   3682             ["eslint-utils", "virtual:ce390f6a3f485d617e3b348339c56730c4c095a916405f20c5e9ffb3d90e981e5a3936fe6ffe116d1ab20e8802d84b6e7025bc0b2b95bffc5b1af4e2cfeccf25#npm:3.0.0"],\
   3683             ["eslint-visitor-keys", "npm:3.3.0"],\
   3684             ["espree", "npm:9.4.1"],\
   3685             ["esquery", "npm:1.4.0"],\
   3686             ["esutils", "npm:2.0.3"],\
   3687             ["fast-deep-equal", "npm:3.1.3"],\
   3688             ["file-entry-cache", "npm:6.0.1"],\
   3689             ["find-up", "npm:5.0.0"],\
   3690             ["glob-parent", "npm:6.0.2"],\
   3691             ["globals", "npm:13.19.0"],\
   3692             ["grapheme-splitter", "npm:1.0.4"],\
   3693             ["ignore", "npm:5.2.4"],\
   3694             ["import-fresh", "npm:3.3.0"],\
   3695             ["imurmurhash", "npm:0.1.4"],\
   3696             ["is-glob", "npm:4.0.3"],\
   3697             ["is-path-inside", "npm:3.0.3"],\
   3698             ["js-sdsl", "npm:4.2.0"],\
   3699             ["js-yaml", "npm:4.1.0"],\
   3700             ["json-stable-stringify-without-jsonify", "npm:1.0.1"],\
   3701             ["levn", "npm:0.4.1"],\
   3702             ["lodash.merge", "npm:4.6.2"],\
   3703             ["minimatch", "npm:3.1.2"],\
   3704             ["natural-compare", "npm:1.4.0"],\
   3705             ["optionator", "npm:0.9.1"],\
   3706             ["regexpp", "npm:3.2.0"],\
   3707             ["strip-ansi", "npm:6.0.1"],\
   3708             ["strip-json-comments", "npm:3.1.1"],\
   3709             ["text-table", "npm:0.2.0"]\
   3710           ],\
   3711           "linkType": "HARD"\
   3712         }]\
   3713       ]],\
   3714       ["eslint-config-next", [\
   3715         ["npm:13.1.2", {\
   3716           "packageLocation": "./.yarn/cache/eslint-config-next-npm-13.1.2-5a861662b7-332ab947d1.zip/node_modules/eslint-config-next/",\
   3717           "packageDependencies": [\
   3718             ["eslint-config-next", "npm:13.1.2"]\
   3719           ],\
   3720           "linkType": "SOFT"\
   3721         }],\
   3722         ["virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.1.2", {\
   3723           "packageLocation": "./.yarn/__virtual__/eslint-config-next-virtual-51c22dc6e4/0/cache/eslint-config-next-npm-13.1.2-5a861662b7-332ab947d1.zip/node_modules/eslint-config-next/",\
   3724           "packageDependencies": [\
   3725             ["eslint-config-next", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.1.2"],\
   3726             ["@next/eslint-plugin-next", "npm:13.1.2"],\
   3727             ["@rushstack/eslint-patch", "npm:1.2.0"],\
   3728             ["@types/eslint", null],\
   3729             ["@types/typescript", null],\
   3730             ["@typescript-eslint/parser", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:5.48.1"],\
   3731             ["eslint", "npm:8.32.0"],\
   3732             ["eslint-import-resolver-node", "npm:0.3.7"],\
   3733             ["eslint-import-resolver-typescript", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:3.5.3"],\
   3734             ["eslint-plugin-import", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:2.27.4"],\
   3735             ["eslint-plugin-jsx-a11y", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:6.7.1"],\
   3736             ["eslint-plugin-react", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:7.32.0"],\
   3737             ["eslint-plugin-react-hooks", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:4.6.0"],\
   3738             ["typescript", "patch:typescript@npm%3A4.9.4#~builtin<compat/typescript>::version=4.9.4&hash=ad5954"]\
   3739           ],\
   3740           "packagePeers": [\
   3741             "@types/eslint",\
   3742             "@types/typescript",\
   3743             "eslint",\
   3744             "typescript"\
   3745           ],\
   3746           "linkType": "HARD"\
   3747         }]\
   3748       ]],\
   3749       ["eslint-import-resolver-node", [\
   3750         ["npm:0.3.7", {\
   3751           "packageLocation": "./.yarn/cache/eslint-import-resolver-node-npm-0.3.7-65bed19543-3379aacf1d.zip/node_modules/eslint-import-resolver-node/",\
   3752           "packageDependencies": [\
   3753             ["eslint-import-resolver-node", "npm:0.3.7"],\
   3754             ["debug", "virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7"],\
   3755             ["is-core-module", "npm:2.11.0"],\
   3756             ["resolve", "patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=c3c19d"]\
   3757           ],\
   3758           "linkType": "HARD"\
   3759         }]\
   3760       ]],\
   3761       ["eslint-import-resolver-typescript", [\
   3762         ["npm:3.5.3", {\
   3763           "packageLocation": "./.yarn/cache/eslint-import-resolver-typescript-npm-3.5.3-9363d7a124-63b5f28bec.zip/node_modules/eslint-import-resolver-typescript/",\
   3764           "packageDependencies": [\
   3765             ["eslint-import-resolver-typescript", "npm:3.5.3"]\
   3766           ],\
   3767           "linkType": "SOFT"\
   3768         }],\
   3769         ["virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:3.5.3", {\
   3770           "packageLocation": "./.yarn/__virtual__/eslint-import-resolver-typescript-virtual-078539f30d/0/cache/eslint-import-resolver-typescript-npm-3.5.3-9363d7a124-63b5f28bec.zip/node_modules/eslint-import-resolver-typescript/",\
   3771           "packageDependencies": [\
   3772             ["eslint-import-resolver-typescript", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:3.5.3"],\
   3773             ["@types/eslint", null],\
   3774             ["@types/eslint-plugin-import", null],\
   3775             ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\
   3776             ["enhanced-resolve", "npm:5.12.0"],\
   3777             ["eslint", "npm:8.32.0"],\
   3778             ["eslint-plugin-import", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:2.27.4"],\
   3779             ["get-tsconfig", "npm:4.3.0"],\
   3780             ["globby", "npm:13.1.3"],\
   3781             ["is-core-module", "npm:2.11.0"],\
   3782             ["is-glob", "npm:4.0.3"],\
   3783             ["synckit", "npm:0.8.4"]\
   3784           ],\
   3785           "packagePeers": [\
   3786             "@types/eslint-plugin-import",\
   3787             "@types/eslint",\
   3788             "eslint-plugin-import",\
   3789             "eslint"\
   3790           ],\
   3791           "linkType": "HARD"\
   3792         }]\
   3793       ]],\
   3794       ["eslint-module-utils", [\
   3795         ["npm:2.7.4", {\
   3796           "packageLocation": "./.yarn/cache/eslint-module-utils-npm-2.7.4-a1640084cb-5da13645da.zip/node_modules/eslint-module-utils/",\
   3797           "packageDependencies": [\
   3798             ["eslint-module-utils", "npm:2.7.4"]\
   3799           ],\
   3800           "linkType": "SOFT"\
   3801         }],\
   3802         ["virtual:a0905098521dc3e2f72219cd1f17936ba1f1d9d5fed652c7569056f54ebe41454d6ded09504fe035fa53bad7a2b8d02c05af58710403826df7b2dae903646b3a#npm:2.7.4", {\
   3803           "packageLocation": "./.yarn/__virtual__/eslint-module-utils-virtual-aba5700019/0/cache/eslint-module-utils-npm-2.7.4-a1640084cb-5da13645da.zip/node_modules/eslint-module-utils/",\
   3804           "packageDependencies": [\
   3805             ["eslint-module-utils", "virtual:a0905098521dc3e2f72219cd1f17936ba1f1d9d5fed652c7569056f54ebe41454d6ded09504fe035fa53bad7a2b8d02c05af58710403826df7b2dae903646b3a#npm:2.7.4"],\
   3806             ["@types/eslint", null],\
   3807             ["@types/eslint-import-resolver-node", null],\
   3808             ["@types/eslint-import-resolver-typescript", null],\
   3809             ["@types/eslint-import-resolver-webpack", null],\
   3810             ["@types/typescript-eslint__parser", null],\
   3811             ["@typescript-eslint/parser", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:5.48.1"],\
   3812             ["debug", "virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7"],\
   3813             ["eslint", "npm:8.32.0"],\
   3814             ["eslint-import-resolver-node", "npm:0.3.7"],\
   3815             ["eslint-import-resolver-typescript", null],\
   3816             ["eslint-import-resolver-webpack", null]\
   3817           ],\
   3818           "packagePeers": [\
   3819             "@types/eslint-import-resolver-node",\
   3820             "@types/eslint-import-resolver-typescript",\
   3821             "@types/eslint-import-resolver-webpack",\
   3822             "@types/eslint",\
   3823             "@types/typescript-eslint__parser",\
   3824             "@typescript-eslint/parser",\
   3825             "eslint-import-resolver-node",\
   3826             "eslint-import-resolver-typescript",\
   3827             "eslint-import-resolver-webpack",\
   3828             "eslint"\
   3829           ],\
   3830           "linkType": "HARD"\
   3831         }]\
   3832       ]],\
   3833       ["eslint-plugin-import", [\
   3834         ["npm:2.27.4", {\
   3835           "packageLocation": "./.yarn/cache/eslint-plugin-import-npm-2.27.4-68e361a300-e298a9b1fd.zip/node_modules/eslint-plugin-import/",\
   3836           "packageDependencies": [\
   3837             ["eslint-plugin-import", "npm:2.27.4"]\
   3838           ],\
   3839           "linkType": "SOFT"\
   3840         }],\
   3841         ["virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:2.27.4", {\
   3842           "packageLocation": "./.yarn/__virtual__/eslint-plugin-import-virtual-a090509852/0/cache/eslint-plugin-import-npm-2.27.4-68e361a300-e298a9b1fd.zip/node_modules/eslint-plugin-import/",\
   3843           "packageDependencies": [\
   3844             ["eslint-plugin-import", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:2.27.4"],\
   3845             ["@types/eslint", null],\
   3846             ["@types/typescript-eslint__parser", null],\
   3847             ["@typescript-eslint/parser", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:5.48.1"],\
   3848             ["array-includes", "npm:3.1.6"],\
   3849             ["array.prototype.flat", "npm:1.3.1"],\
   3850             ["array.prototype.flatmap", "npm:1.3.1"],\
   3851             ["debug", "virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7"],\
   3852             ["doctrine", "npm:2.1.0"],\
   3853             ["eslint", "npm:8.32.0"],\
   3854             ["eslint-import-resolver-node", "npm:0.3.7"],\
   3855             ["eslint-module-utils", "virtual:a0905098521dc3e2f72219cd1f17936ba1f1d9d5fed652c7569056f54ebe41454d6ded09504fe035fa53bad7a2b8d02c05af58710403826df7b2dae903646b3a#npm:2.7.4"],\
   3856             ["has", "npm:1.0.3"],\
   3857             ["is-core-module", "npm:2.11.0"],\
   3858             ["is-glob", "npm:4.0.3"],\
   3859             ["minimatch", "npm:3.1.2"],\
   3860             ["object.values", "npm:1.1.6"],\
   3861             ["resolve", "patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=c3c19d"],\
   3862             ["semver", "npm:6.3.0"],\
   3863             ["tsconfig-paths", "npm:3.14.1"]\
   3864           ],\
   3865           "packagePeers": [\
   3866             "@types/eslint",\
   3867             "@types/typescript-eslint__parser",\
   3868             "@typescript-eslint/parser",\
   3869             "eslint"\
   3870           ],\
   3871           "linkType": "HARD"\
   3872         }]\
   3873       ]],\
   3874       ["eslint-plugin-jsx-a11y", [\
   3875         ["npm:6.7.1", {\
   3876           "packageLocation": "./.yarn/cache/eslint-plugin-jsx-a11y-npm-6.7.1-84f912ba17-f166dd5fe7.zip/node_modules/eslint-plugin-jsx-a11y/",\
   3877           "packageDependencies": [\
   3878             ["eslint-plugin-jsx-a11y", "npm:6.7.1"]\
   3879           ],\
   3880           "linkType": "SOFT"\
   3881         }],\
   3882         ["virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:6.7.1", {\
   3883           "packageLocation": "./.yarn/__virtual__/eslint-plugin-jsx-a11y-virtual-6ca978feee/0/cache/eslint-plugin-jsx-a11y-npm-6.7.1-84f912ba17-f166dd5fe7.zip/node_modules/eslint-plugin-jsx-a11y/",\
   3884           "packageDependencies": [\
   3885             ["eslint-plugin-jsx-a11y", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:6.7.1"],\
   3886             ["@babel/runtime", "npm:7.20.7"],\
   3887             ["@types/eslint", null],\
   3888             ["aria-query", "npm:5.1.3"],\
   3889             ["array-includes", "npm:3.1.6"],\
   3890             ["array.prototype.flatmap", "npm:1.3.1"],\
   3891             ["ast-types-flow", "npm:0.0.7"],\
   3892             ["axe-core", "npm:4.6.2"],\
   3893             ["axobject-query", "npm:3.1.1"],\
   3894             ["damerau-levenshtein", "npm:1.0.8"],\
   3895             ["emoji-regex", "npm:9.2.2"],\
   3896             ["eslint", "npm:8.32.0"],\
   3897             ["has", "npm:1.0.3"],\
   3898             ["jsx-ast-utils", "npm:3.3.3"],\
   3899             ["language-tags", "npm:1.0.5"],\
   3900             ["minimatch", "npm:3.1.2"],\
   3901             ["object.entries", "npm:1.1.6"],\
   3902             ["object.fromentries", "npm:2.0.6"],\
   3903             ["semver", "npm:6.3.0"]\
   3904           ],\
   3905           "packagePeers": [\
   3906             "@types/eslint",\
   3907             "eslint"\
   3908           ],\
   3909           "linkType": "HARD"\
   3910         }]\
   3911       ]],\
   3912       ["eslint-plugin-react", [\
   3913         ["npm:7.32.0", {\
   3914           "packageLocation": "./.yarn/cache/eslint-plugin-react-npm-7.32.0-60a40d5ae1-b81ce2623b.zip/node_modules/eslint-plugin-react/",\
   3915           "packageDependencies": [\
   3916             ["eslint-plugin-react", "npm:7.32.0"]\
   3917           ],\
   3918           "linkType": "SOFT"\
   3919         }],\
   3920         ["virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:7.32.0", {\
   3921           "packageLocation": "./.yarn/__virtual__/eslint-plugin-react-virtual-492b7991bd/0/cache/eslint-plugin-react-npm-7.32.0-60a40d5ae1-b81ce2623b.zip/node_modules/eslint-plugin-react/",\
   3922           "packageDependencies": [\
   3923             ["eslint-plugin-react", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:7.32.0"],\
   3924             ["@types/eslint", null],\
   3925             ["array-includes", "npm:3.1.6"],\
   3926             ["array.prototype.flatmap", "npm:1.3.1"],\
   3927             ["array.prototype.tosorted", "npm:1.1.1"],\
   3928             ["doctrine", "npm:2.1.0"],\
   3929             ["eslint", "npm:8.32.0"],\
   3930             ["estraverse", "npm:5.3.0"],\
   3931             ["jsx-ast-utils", "npm:3.3.3"],\
   3932             ["minimatch", "npm:3.1.2"],\
   3933             ["object.entries", "npm:1.1.6"],\
   3934             ["object.fromentries", "npm:2.0.6"],\
   3935             ["object.hasown", "npm:1.1.2"],\
   3936             ["object.values", "npm:1.1.6"],\
   3937             ["prop-types", "npm:15.8.1"],\
   3938             ["resolve", "patch:resolve@npm%3A2.0.0-next.4#~builtin<compat/resolve>::version=2.0.0-next.4&hash=c3c19d"],\
   3939             ["semver", "npm:6.3.0"],\
   3940             ["string.prototype.matchall", "npm:4.0.8"]\
   3941           ],\
   3942           "packagePeers": [\
   3943             "@types/eslint",\
   3944             "eslint"\
   3945           ],\
   3946           "linkType": "HARD"\
   3947         }]\
   3948       ]],\
   3949       ["eslint-plugin-react-hooks", [\
   3950         ["npm:4.6.0", {\
   3951           "packageLocation": "./.yarn/cache/eslint-plugin-react-hooks-npm-4.6.0-b429fac07f-23001801f1.zip/node_modules/eslint-plugin-react-hooks/",\
   3952           "packageDependencies": [\
   3953             ["eslint-plugin-react-hooks", "npm:4.6.0"]\
   3954           ],\
   3955           "linkType": "SOFT"\
   3956         }],\
   3957         ["virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:4.6.0", {\
   3958           "packageLocation": "./.yarn/__virtual__/eslint-plugin-react-hooks-virtual-c079784ace/0/cache/eslint-plugin-react-hooks-npm-4.6.0-b429fac07f-23001801f1.zip/node_modules/eslint-plugin-react-hooks/",\
   3959           "packageDependencies": [\
   3960             ["eslint-plugin-react-hooks", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:4.6.0"],\
   3961             ["@types/eslint", null],\
   3962             ["eslint", "npm:8.32.0"]\
   3963           ],\
   3964           "packagePeers": [\
   3965             "@types/eslint",\
   3966             "eslint"\
   3967           ],\
   3968           "linkType": "HARD"\
   3969         }]\
   3970       ]],\
   3971       ["eslint-scope", [\
   3972         ["npm:7.1.1", {\
   3973           "packageLocation": "./.yarn/cache/eslint-scope-npm-7.1.1-23935eb377-9f6e974ab2.zip/node_modules/eslint-scope/",\
   3974           "packageDependencies": [\
   3975             ["eslint-scope", "npm:7.1.1"],\
   3976             ["esrecurse", "npm:4.3.0"],\
   3977             ["estraverse", "npm:5.3.0"]\
   3978           ],\
   3979           "linkType": "HARD"\
   3980         }]\
   3981       ]],\
   3982       ["eslint-utils", [\
   3983         ["npm:3.0.0", {\
   3984           "packageLocation": "./.yarn/cache/eslint-utils-npm-3.0.0-630b3a4013-0668fe02f5.zip/node_modules/eslint-utils/",\
   3985           "packageDependencies": [\
   3986             ["eslint-utils", "npm:3.0.0"]\
   3987           ],\
   3988           "linkType": "SOFT"\
   3989         }],\
   3990         ["virtual:ce390f6a3f485d617e3b348339c56730c4c095a916405f20c5e9ffb3d90e981e5a3936fe6ffe116d1ab20e8802d84b6e7025bc0b2b95bffc5b1af4e2cfeccf25#npm:3.0.0", {\
   3991           "packageLocation": "./.yarn/__virtual__/eslint-utils-virtual-c1905d128f/0/cache/eslint-utils-npm-3.0.0-630b3a4013-0668fe02f5.zip/node_modules/eslint-utils/",\
   3992           "packageDependencies": [\
   3993             ["eslint-utils", "virtual:ce390f6a3f485d617e3b348339c56730c4c095a916405f20c5e9ffb3d90e981e5a3936fe6ffe116d1ab20e8802d84b6e7025bc0b2b95bffc5b1af4e2cfeccf25#npm:3.0.0"],\
   3994             ["@types/eslint", null],\
   3995             ["eslint", "npm:8.32.0"],\
   3996             ["eslint-visitor-keys", "npm:2.1.0"]\
   3997           ],\
   3998           "packagePeers": [\
   3999             "@types/eslint",\
   4000             "eslint"\
   4001           ],\
   4002           "linkType": "HARD"\
   4003         }]\
   4004       ]],\
   4005       ["eslint-visitor-keys", [\
   4006         ["npm:2.1.0", {\
   4007           "packageLocation": "./.yarn/cache/eslint-visitor-keys-npm-2.1.0-c31806b6b9-e3081d7dd2.zip/node_modules/eslint-visitor-keys/",\
   4008           "packageDependencies": [\
   4009             ["eslint-visitor-keys", "npm:2.1.0"]\
   4010           ],\
   4011           "linkType": "HARD"\
   4012         }],\
   4013         ["npm:3.3.0", {\
   4014           "packageLocation": "./.yarn/cache/eslint-visitor-keys-npm-3.3.0-d329af7c8c-d59e68a7c5.zip/node_modules/eslint-visitor-keys/",\
   4015           "packageDependencies": [\
   4016             ["eslint-visitor-keys", "npm:3.3.0"]\
   4017           ],\
   4018           "linkType": "HARD"\
   4019         }]\
   4020       ]],\
   4021       ["espree", [\
   4022         ["npm:9.4.1", {\
   4023           "packageLocation": "./.yarn/cache/espree-npm-9.4.1-b88faf10bc-4d266b0cf8.zip/node_modules/espree/",\
   4024           "packageDependencies": [\
   4025             ["espree", "npm:9.4.1"],\
   4026             ["acorn", "npm:8.8.1"],\
   4027             ["acorn-jsx", "virtual:b88faf10bc38b7bf99c4359521e8a0ed3f77dcbbc8677c8ff2c327d003d8f82b0e79a6212f450e879d54de3af7d71a6a67818de313afc6e195445593b76b6db0#npm:5.3.2"],\
   4028             ["eslint-visitor-keys", "npm:3.3.0"]\
   4029           ],\
   4030           "linkType": "HARD"\
   4031         }]\
   4032       ]],\
   4033       ["esprima", [\
   4034         ["npm:4.0.1", {\
   4035           "packageLocation": "./.yarn/cache/esprima-npm-4.0.1-1084e98778-b45bc805a6.zip/node_modules/esprima/",\
   4036           "packageDependencies": [\
   4037             ["esprima", "npm:4.0.1"]\
   4038           ],\
   4039           "linkType": "HARD"\
   4040         }]\
   4041       ]],\
   4042       ["esquery", [\
   4043         ["npm:1.4.0", {\
   4044           "packageLocation": "./.yarn/cache/esquery-npm-1.4.0-f39408b1a7-a0807e17ab.zip/node_modules/esquery/",\
   4045           "packageDependencies": [\
   4046             ["esquery", "npm:1.4.0"],\
   4047             ["estraverse", "npm:5.3.0"]\
   4048           ],\
   4049           "linkType": "HARD"\
   4050         }]\
   4051       ]],\
   4052       ["esrecurse", [\
   4053         ["npm:4.3.0", {\
   4054           "packageLocation": "./.yarn/cache/esrecurse-npm-4.3.0-10b86a887a-ebc17b1a33.zip/node_modules/esrecurse/",\
   4055           "packageDependencies": [\
   4056             ["esrecurse", "npm:4.3.0"],\
   4057             ["estraverse", "npm:5.3.0"]\
   4058           ],\
   4059           "linkType": "HARD"\
   4060         }]\
   4061       ]],\
   4062       ["estraverse", [\
   4063         ["npm:5.3.0", {\
   4064           "packageLocation": "./.yarn/cache/estraverse-npm-5.3.0-03284f8f63-072780882d.zip/node_modules/estraverse/",\
   4065           "packageDependencies": [\
   4066             ["estraverse", "npm:5.3.0"]\
   4067           ],\
   4068           "linkType": "HARD"\
   4069         }]\
   4070       ]],\
   4071       ["esutils", [\
   4072         ["npm:2.0.3", {\
   4073           "packageLocation": "./.yarn/cache/esutils-npm-2.0.3-f865beafd5-22b5b08f74.zip/node_modules/esutils/",\
   4074           "packageDependencies": [\
   4075             ["esutils", "npm:2.0.3"]\
   4076           ],\
   4077           "linkType": "HARD"\
   4078         }]\
   4079       ]],\
   4080       ["event-target-shim", [\
   4081         ["npm:5.0.1", {\
   4082           "packageLocation": "./.yarn/cache/event-target-shim-npm-5.0.1-cb48709025-1ffe3bb22a.zip/node_modules/event-target-shim/",\
   4083           "packageDependencies": [\
   4084             ["event-target-shim", "npm:5.0.1"]\
   4085           ],\
   4086           "linkType": "HARD"\
   4087         }]\
   4088       ]],\
   4089       ["events", [\
   4090         ["npm:3.3.0", {\
   4091           "packageLocation": "./.yarn/cache/events-npm-3.3.0-c280bc7e48-f6f487ad21.zip/node_modules/events/",\
   4092           "packageDependencies": [\
   4093             ["events", "npm:3.3.0"]\
   4094           ],\
   4095           "linkType": "HARD"\
   4096         }]\
   4097       ]],\
   4098       ["execa", [\
   4099         ["npm:5.1.1", {\
   4100           "packageLocation": "./.yarn/cache/execa-npm-5.1.1-191347acf5-fba9022c8c.zip/node_modules/execa/",\
   4101           "packageDependencies": [\
   4102             ["execa", "npm:5.1.1"],\
   4103             ["cross-spawn", "npm:7.0.3"],\
   4104             ["get-stream", "npm:6.0.1"],\
   4105             ["human-signals", "npm:2.1.0"],\
   4106             ["is-stream", "npm:2.0.1"],\
   4107             ["merge-stream", "npm:2.0.0"],\
   4108             ["npm-run-path", "npm:4.0.1"],\
   4109             ["onetime", "npm:5.1.2"],\
   4110             ["signal-exit", "npm:3.0.7"],\
   4111             ["strip-final-newline", "npm:2.0.0"]\
   4112           ],\
   4113           "linkType": "HARD"\
   4114         }]\
   4115       ]],\
   4116       ["exit", [\
   4117         ["npm:0.1.2", {\
   4118           "packageLocation": "./.yarn/cache/exit-npm-0.1.2-ef3761a67d-abc407f07a.zip/node_modules/exit/",\
   4119           "packageDependencies": [\
   4120             ["exit", "npm:0.1.2"]\
   4121           ],\
   4122           "linkType": "HARD"\
   4123         }]\
   4124       ]],\
   4125       ["expect", [\
   4126         ["npm:29.3.1", {\
   4127           "packageLocation": "./.yarn/cache/expect-npm-29.3.1-2892df60b8-e9588c2a43.zip/node_modules/expect/",\
   4128           "packageDependencies": [\
   4129             ["expect", "npm:29.3.1"],\
   4130             ["@jest/expect-utils", "npm:29.3.1"],\
   4131             ["jest-get-type", "npm:29.2.0"],\
   4132             ["jest-matcher-utils", "npm:29.3.1"],\
   4133             ["jest-message-util", "npm:29.3.1"],\
   4134             ["jest-util", "npm:29.3.1"]\
   4135           ],\
   4136           "linkType": "HARD"\
   4137         }]\
   4138       ]],\
   4139       ["fast-deep-equal", [\
   4140         ["npm:3.1.3", {\
   4141           "packageLocation": "./.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip/node_modules/fast-deep-equal/",\
   4142           "packageDependencies": [\
   4143             ["fast-deep-equal", "npm:3.1.3"]\
   4144           ],\
   4145           "linkType": "HARD"\
   4146         }]\
   4147       ]],\
   4148       ["fast-glob", [\
   4149         ["npm:3.2.12", {\
   4150           "packageLocation": "./.yarn/cache/fast-glob-npm-3.2.12-162763bbae-0b1990f6ce.zip/node_modules/fast-glob/",\
   4151           "packageDependencies": [\
   4152             ["fast-glob", "npm:3.2.12"],\
   4153             ["@nodelib/fs.stat", "npm:2.0.5"],\
   4154             ["@nodelib/fs.walk", "npm:1.2.8"],\
   4155             ["glob-parent", "npm:5.1.2"],\
   4156             ["merge2", "npm:1.4.1"],\
   4157             ["micromatch", "npm:4.0.5"]\
   4158           ],\
   4159           "linkType": "HARD"\
   4160         }]\
   4161       ]],\
   4162       ["fast-json-stable-stringify", [\
   4163         ["npm:2.1.0", {\
   4164           "packageLocation": "./.yarn/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-b191531e36.zip/node_modules/fast-json-stable-stringify/",\
   4165           "packageDependencies": [\
   4166             ["fast-json-stable-stringify", "npm:2.1.0"]\
   4167           ],\
   4168           "linkType": "HARD"\
   4169         }]\
   4170       ]],\
   4171       ["fast-levenshtein", [\
   4172         ["npm:2.0.6", {\
   4173           "packageLocation": "./.yarn/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-92cfec0a8d.zip/node_modules/fast-levenshtein/",\
   4174           "packageDependencies": [\
   4175             ["fast-levenshtein", "npm:2.0.6"]\
   4176           ],\
   4177           "linkType": "HARD"\
   4178         }]\
   4179       ]],\
   4180       ["fast-redact", [\
   4181         ["npm:3.1.2", {\
   4182           "packageLocation": "./.yarn/cache/fast-redact-npm-3.1.2-e090ce0184-a30eb6b683.zip/node_modules/fast-redact/",\
   4183           "packageDependencies": [\
   4184             ["fast-redact", "npm:3.1.2"]\
   4185           ],\
   4186           "linkType": "HARD"\
   4187         }]\
   4188       ]],\
   4189       ["fastq", [\
   4190         ["npm:1.15.0", {\
   4191           "packageLocation": "./.yarn/cache/fastq-npm-1.15.0-1013f6514e-0170e6bfcd.zip/node_modules/fastq/",\
   4192           "packageDependencies": [\
   4193             ["fastq", "npm:1.15.0"],\
   4194             ["reusify", "npm:1.0.4"]\
   4195           ],\
   4196           "linkType": "HARD"\
   4197         }]\
   4198       ]],\
   4199       ["fb-watchman", [\
   4200         ["npm:2.0.2", {\
   4201           "packageLocation": "./.yarn/cache/fb-watchman-npm-2.0.2-bcb6f8f831-b15a124cef.zip/node_modules/fb-watchman/",\
   4202           "packageDependencies": [\
   4203             ["fb-watchman", "npm:2.0.2"],\
   4204             ["bser", "npm:2.1.1"]\
   4205           ],\
   4206           "linkType": "HARD"\
   4207         }]\
   4208       ]],\
   4209       ["file-entry-cache", [\
   4210         ["npm:6.0.1", {\
   4211           "packageLocation": "./.yarn/cache/file-entry-cache-npm-6.0.1-31965cf0af-f49701feaa.zip/node_modules/file-entry-cache/",\
   4212           "packageDependencies": [\
   4213             ["file-entry-cache", "npm:6.0.1"],\
   4214             ["flat-cache", "npm:3.0.4"]\
   4215           ],\
   4216           "linkType": "HARD"\
   4217         }]\
   4218       ]],\
   4219       ["fill-range", [\
   4220         ["npm:7.0.1", {\
   4221           "packageLocation": "./.yarn/cache/fill-range-npm-7.0.1-b8b1817caa-cc283f4e65.zip/node_modules/fill-range/",\
   4222           "packageDependencies": [\
   4223             ["fill-range", "npm:7.0.1"],\
   4224             ["to-regex-range", "npm:5.0.1"]\
   4225           ],\
   4226           "linkType": "HARD"\
   4227         }]\
   4228       ]],\
   4229       ["find-up", [\
   4230         ["npm:4.1.0", {\
   4231           "packageLocation": "./.yarn/cache/find-up-npm-4.1.0-c3ccf8d855-4c172680e8.zip/node_modules/find-up/",\
   4232           "packageDependencies": [\
   4233             ["find-up", "npm:4.1.0"],\
   4234             ["locate-path", "npm:5.0.0"],\
   4235             ["path-exists", "npm:4.0.0"]\
   4236           ],\
   4237           "linkType": "HARD"\
   4238         }],\
   4239         ["npm:5.0.0", {\
   4240           "packageLocation": "./.yarn/cache/find-up-npm-5.0.0-e03e9b796d-07955e3573.zip/node_modules/find-up/",\
   4241           "packageDependencies": [\
   4242             ["find-up", "npm:5.0.0"],\
   4243             ["locate-path", "npm:6.0.0"],\
   4244             ["path-exists", "npm:4.0.0"]\
   4245           ],\
   4246           "linkType": "HARD"\
   4247         }]\
   4248       ]],\
   4249       ["flat-cache", [\
   4250         ["npm:3.0.4", {\
   4251           "packageLocation": "./.yarn/cache/flat-cache-npm-3.0.4-ee77e5911e-4fdd10ecbc.zip/node_modules/flat-cache/",\
   4252           "packageDependencies": [\
   4253             ["flat-cache", "npm:3.0.4"],\
   4254             ["flatted", "npm:3.2.7"],\
   4255             ["rimraf", "npm:3.0.2"]\
   4256           ],\
   4257           "linkType": "HARD"\
   4258         }]\
   4259       ]],\
   4260       ["flatted", [\
   4261         ["npm:3.2.7", {\
   4262           "packageLocation": "./.yarn/cache/flatted-npm-3.2.7-0da10b7c56-427633049d.zip/node_modules/flatted/",\
   4263           "packageDependencies": [\
   4264             ["flatted", "npm:3.2.7"]\
   4265           ],\
   4266           "linkType": "HARD"\
   4267         }]\
   4268       ]],\
   4269       ["for-each", [\
   4270         ["npm:0.3.3", {\
   4271           "packageLocation": "./.yarn/cache/for-each-npm-0.3.3-0010ca8cdd-6c48ff2bc6.zip/node_modules/for-each/",\
   4272           "packageDependencies": [\
   4273             ["for-each", "npm:0.3.3"],\
   4274             ["is-callable", "npm:1.2.7"]\
   4275           ],\
   4276           "linkType": "HARD"\
   4277         }]\
   4278       ]],\
   4279       ["form-data", [\
   4280         ["npm:4.0.0", {\
   4281           "packageLocation": "./.yarn/cache/form-data-npm-4.0.0-916facec2d-01135bf867.zip/node_modules/form-data/",\
   4282           "packageDependencies": [\
   4283             ["form-data", "npm:4.0.0"],\
   4284             ["asynckit", "npm:0.4.0"],\
   4285             ["combined-stream", "npm:1.0.8"],\
   4286             ["mime-types", "npm:2.1.35"]\
   4287           ],\
   4288           "linkType": "HARD"\
   4289         }]\
   4290       ]],\
   4291       ["fs-minipass", [\
   4292         ["npm:2.1.0", {\
   4293           "packageLocation": "./.yarn/cache/fs-minipass-npm-2.1.0-501ef87306-1b8d128dae.zip/node_modules/fs-minipass/",\
   4294           "packageDependencies": [\
   4295             ["fs-minipass", "npm:2.1.0"],\
   4296             ["minipass", "npm:3.3.6"]\
   4297           ],\
   4298           "linkType": "HARD"\
   4299         }]\
   4300       ]],\
   4301       ["fs.realpath", [\
   4302         ["npm:1.0.0", {\
   4303           "packageLocation": "./.yarn/cache/fs.realpath-npm-1.0.0-c8f05d8126-99ddea01a7.zip/node_modules/fs.realpath/",\
   4304           "packageDependencies": [\
   4305             ["fs.realpath", "npm:1.0.0"]\
   4306           ],\
   4307           "linkType": "HARD"\
   4308         }]\
   4309       ]],\
   4310       ["fsevents", [\
   4311         ["patch:fsevents@npm%3A2.3.2#~builtin<compat/fsevents>::version=2.3.2&hash=df0bf1", {\
   4312           "packageLocation": "./.yarn/unplugged/fsevents-patch-2882183fbf/node_modules/fsevents/",\
   4313           "packageDependencies": [\
   4314             ["fsevents", "patch:fsevents@npm%3A2.3.2#~builtin<compat/fsevents>::version=2.3.2&hash=df0bf1"],\
   4315             ["node-gyp", "npm:9.3.1"]\
   4316           ],\
   4317           "linkType": "HARD"\
   4318         }]\
   4319       ]],\
   4320       ["function-bind", [\
   4321         ["npm:1.1.1", {\
   4322           "packageLocation": "./.yarn/cache/function-bind-npm-1.1.1-b56b322ae9-b32fbaebb3.zip/node_modules/function-bind/",\
   4323           "packageDependencies": [\
   4324             ["function-bind", "npm:1.1.1"]\
   4325           ],\
   4326           "linkType": "HARD"\
   4327         }]\
   4328       ]],\
   4329       ["function.prototype.name", [\
   4330         ["npm:1.1.5", {\
   4331           "packageLocation": "./.yarn/cache/function.prototype.name-npm-1.1.5-e776a642bb-acd21d733a.zip/node_modules/function.prototype.name/",\
   4332           "packageDependencies": [\
   4333             ["function.prototype.name", "npm:1.1.5"],\
   4334             ["call-bind", "npm:1.0.2"],\
   4335             ["define-properties", "npm:1.1.4"],\
   4336             ["es-abstract", "npm:1.21.1"],\
   4337             ["functions-have-names", "npm:1.2.3"]\
   4338           ],\
   4339           "linkType": "HARD"\
   4340         }]\
   4341       ]],\
   4342       ["functions-have-names", [\
   4343         ["npm:1.2.3", {\
   4344           "packageLocation": "./.yarn/cache/functions-have-names-npm-1.2.3-e5cf1e2208-c3f1f5ba20.zip/node_modules/functions-have-names/",\
   4345           "packageDependencies": [\
   4346             ["functions-have-names", "npm:1.2.3"]\
   4347           ],\
   4348           "linkType": "HARD"\
   4349         }]\
   4350       ]],\
   4351       ["gauge", [\
   4352         ["npm:3.0.2", {\
   4353           "packageLocation": "./.yarn/cache/gauge-npm-3.0.2-9e22f7af9e-81296c00c7.zip/node_modules/gauge/",\
   4354           "packageDependencies": [\
   4355             ["gauge", "npm:3.0.2"],\
   4356             ["aproba", "npm:2.0.0"],\
   4357             ["color-support", "npm:1.1.3"],\
   4358             ["console-control-strings", "npm:1.1.0"],\
   4359             ["has-unicode", "npm:2.0.1"],\
   4360             ["object-assign", "npm:4.1.1"],\
   4361             ["signal-exit", "npm:3.0.7"],\
   4362             ["string-width", "npm:4.2.3"],\
   4363             ["strip-ansi", "npm:6.0.1"],\
   4364             ["wide-align", "npm:1.1.5"]\
   4365           ],\
   4366           "linkType": "HARD"\
   4367         }],\
   4368         ["npm:4.0.4", {\
   4369           "packageLocation": "./.yarn/cache/gauge-npm-4.0.4-8f878385e9-788b6bfe52.zip/node_modules/gauge/",\
   4370           "packageDependencies": [\
   4371             ["gauge", "npm:4.0.4"],\
   4372             ["aproba", "npm:2.0.0"],\
   4373             ["color-support", "npm:1.1.3"],\
   4374             ["console-control-strings", "npm:1.1.0"],\
   4375             ["has-unicode", "npm:2.0.1"],\
   4376             ["signal-exit", "npm:3.0.7"],\
   4377             ["string-width", "npm:4.2.3"],\
   4378             ["strip-ansi", "npm:6.0.1"],\
   4379             ["wide-align", "npm:1.1.5"]\
   4380           ],\
   4381           "linkType": "HARD"\
   4382         }]\
   4383       ]],\
   4384       ["generate-function", [\
   4385         ["npm:2.3.1", {\
   4386           "packageLocation": "./.yarn/cache/generate-function-npm-2.3.1-c839dc559c-652f083de2.zip/node_modules/generate-function/",\
   4387           "packageDependencies": [\
   4388             ["generate-function", "npm:2.3.1"],\
   4389             ["is-property", "npm:1.0.2"]\
   4390           ],\
   4391           "linkType": "HARD"\
   4392         }]\
   4393       ]],\
   4394       ["generic-pool", [\
   4395         ["npm:3.9.0", {\
   4396           "packageLocation": "./.yarn/cache/generic-pool-npm-3.9.0-21fff1a77f-3d89e9b201.zip/node_modules/generic-pool/",\
   4397           "packageDependencies": [\
   4398             ["generic-pool", "npm:3.9.0"]\
   4399           ],\
   4400           "linkType": "HARD"\
   4401         }]\
   4402       ]],\
   4403       ["gensync", [\
   4404         ["npm:1.0.0-beta.2", {\
   4405           "packageLocation": "./.yarn/cache/gensync-npm-1.0.0-beta.2-224666d72f-a7437e58c6.zip/node_modules/gensync/",\
   4406           "packageDependencies": [\
   4407             ["gensync", "npm:1.0.0-beta.2"]\
   4408           ],\
   4409           "linkType": "HARD"\
   4410         }]\
   4411       ]],\
   4412       ["get-caller-file", [\
   4413         ["npm:2.0.5", {\
   4414           "packageLocation": "./.yarn/cache/get-caller-file-npm-2.0.5-80e8a86305-b9769a836d.zip/node_modules/get-caller-file/",\
   4415           "packageDependencies": [\
   4416             ["get-caller-file", "npm:2.0.5"]\
   4417           ],\
   4418           "linkType": "HARD"\
   4419         }]\
   4420       ]],\
   4421       ["get-intrinsic", [\
   4422         ["npm:1.1.3", {\
   4423           "packageLocation": "./.yarn/cache/get-intrinsic-npm-1.1.3-b6c7bd1010-152d79e872.zip/node_modules/get-intrinsic/",\
   4424           "packageDependencies": [\
   4425             ["get-intrinsic", "npm:1.1.3"],\
   4426             ["function-bind", "npm:1.1.1"],\
   4427             ["has", "npm:1.0.3"],\
   4428             ["has-symbols", "npm:1.0.3"]\
   4429           ],\
   4430           "linkType": "HARD"\
   4431         }]\
   4432       ]],\
   4433       ["get-package-type", [\
   4434         ["npm:0.1.0", {\
   4435           "packageLocation": "./.yarn/cache/get-package-type-npm-0.1.0-6c70cdc8ab-bba0811116.zip/node_modules/get-package-type/",\
   4436           "packageDependencies": [\
   4437             ["get-package-type", "npm:0.1.0"]\
   4438           ],\
   4439           "linkType": "HARD"\
   4440         }]\
   4441       ]],\
   4442       ["get-stream", [\
   4443         ["npm:6.0.1", {\
   4444           "packageLocation": "./.yarn/cache/get-stream-npm-6.0.1-83e51a4642-e04ecece32.zip/node_modules/get-stream/",\
   4445           "packageDependencies": [\
   4446             ["get-stream", "npm:6.0.1"]\
   4447           ],\
   4448           "linkType": "HARD"\
   4449         }]\
   4450       ]],\
   4451       ["get-symbol-description", [\
   4452         ["npm:1.0.0", {\
   4453           "packageLocation": "./.yarn/cache/get-symbol-description-npm-1.0.0-9c95a4bc1f-9ceff8fe96.zip/node_modules/get-symbol-description/",\
   4454           "packageDependencies": [\
   4455             ["get-symbol-description", "npm:1.0.0"],\
   4456             ["call-bind", "npm:1.0.2"],\
   4457             ["get-intrinsic", "npm:1.1.3"]\
   4458           ],\
   4459           "linkType": "HARD"\
   4460         }]\
   4461       ]],\
   4462       ["get-tsconfig", [\
   4463         ["npm:4.3.0", {\
   4464           "packageLocation": "./.yarn/cache/get-tsconfig-npm-4.3.0-f27579e1f4-2597aab99a.zip/node_modules/get-tsconfig/",\
   4465           "packageDependencies": [\
   4466             ["get-tsconfig", "npm:4.3.0"]\
   4467           ],\
   4468           "linkType": "HARD"\
   4469         }]\
   4470       ]],\
   4471       ["glob", [\
   4472         ["npm:7.1.7", {\
   4473           "packageLocation": "./.yarn/cache/glob-npm-7.1.7-5698ad9c48-b61f48973b.zip/node_modules/glob/",\
   4474           "packageDependencies": [\
   4475             ["glob", "npm:7.1.7"],\
   4476             ["fs.realpath", "npm:1.0.0"],\
   4477             ["inflight", "npm:1.0.6"],\
   4478             ["inherits", "npm:2.0.4"],\
   4479             ["minimatch", "npm:3.1.2"],\
   4480             ["once", "npm:1.4.0"],\
   4481             ["path-is-absolute", "npm:1.0.1"]\
   4482           ],\
   4483           "linkType": "HARD"\
   4484         }],\
   4485         ["npm:7.2.3", {\
   4486           "packageLocation": "./.yarn/cache/glob-npm-7.2.3-2d866d17a5-29452e97b3.zip/node_modules/glob/",\
   4487           "packageDependencies": [\
   4488             ["glob", "npm:7.2.3"],\
   4489             ["fs.realpath", "npm:1.0.0"],\
   4490             ["inflight", "npm:1.0.6"],\
   4491             ["inherits", "npm:2.0.4"],\
   4492             ["minimatch", "npm:3.1.2"],\
   4493             ["once", "npm:1.4.0"],\
   4494             ["path-is-absolute", "npm:1.0.1"]\
   4495           ],\
   4496           "linkType": "HARD"\
   4497         }],\
   4498         ["npm:8.1.0", {\
   4499           "packageLocation": "./.yarn/cache/glob-npm-8.1.0-65f64af8b1-92fbea3221.zip/node_modules/glob/",\
   4500           "packageDependencies": [\
   4501             ["glob", "npm:8.1.0"],\
   4502             ["fs.realpath", "npm:1.0.0"],\
   4503             ["inflight", "npm:1.0.6"],\
   4504             ["inherits", "npm:2.0.4"],\
   4505             ["minimatch", "npm:5.1.4"],\
   4506             ["once", "npm:1.4.0"]\
   4507           ],\
   4508           "linkType": "HARD"\
   4509         }]\
   4510       ]],\
   4511       ["glob-parent", [\
   4512         ["npm:5.1.2", {\
   4513           "packageLocation": "./.yarn/cache/glob-parent-npm-5.1.2-021ab32634-f4f2bfe242.zip/node_modules/glob-parent/",\
   4514           "packageDependencies": [\
   4515             ["glob-parent", "npm:5.1.2"],\
   4516             ["is-glob", "npm:4.0.3"]\
   4517           ],\
   4518           "linkType": "HARD"\
   4519         }],\
   4520         ["npm:6.0.2", {\
   4521           "packageLocation": "./.yarn/cache/glob-parent-npm-6.0.2-2cbef12738-c13ee97978.zip/node_modules/glob-parent/",\
   4522           "packageDependencies": [\
   4523             ["glob-parent", "npm:6.0.2"],\
   4524             ["is-glob", "npm:4.0.3"]\
   4525           ],\
   4526           "linkType": "HARD"\
   4527         }]\
   4528       ]],\
   4529       ["globals", [\
   4530         ["npm:11.12.0", {\
   4531           "packageLocation": "./.yarn/cache/globals-npm-11.12.0-1fa7f41a6c-67051a45ec.zip/node_modules/globals/",\
   4532           "packageDependencies": [\
   4533             ["globals", "npm:11.12.0"]\
   4534           ],\
   4535           "linkType": "HARD"\
   4536         }],\
   4537         ["npm:13.19.0", {\
   4538           "packageLocation": "./.yarn/cache/globals-npm-13.19.0-a63c75a2dd-a000dbd00b.zip/node_modules/globals/",\
   4539           "packageDependencies": [\
   4540             ["globals", "npm:13.19.0"],\
   4541             ["type-fest", "npm:0.20.2"]\
   4542           ],\
   4543           "linkType": "HARD"\
   4544         }]\
   4545       ]],\
   4546       ["globalthis", [\
   4547         ["npm:1.0.3", {\
   4548           "packageLocation": "./.yarn/cache/globalthis-npm-1.0.3-96cd56020d-fbd7d760dc.zip/node_modules/globalthis/",\
   4549           "packageDependencies": [\
   4550             ["globalthis", "npm:1.0.3"],\
   4551             ["define-properties", "npm:1.1.4"]\
   4552           ],\
   4553           "linkType": "HARD"\
   4554         }]\
   4555       ]],\
   4556       ["globalyzer", [\
   4557         ["npm:0.1.0", {\
   4558           "packageLocation": "./.yarn/cache/globalyzer-npm-0.1.0-3982d25961-419a0f95ba.zip/node_modules/globalyzer/",\
   4559           "packageDependencies": [\
   4560             ["globalyzer", "npm:0.1.0"]\
   4561           ],\
   4562           "linkType": "HARD"\
   4563         }]\
   4564       ]],\
   4565       ["globby", [\
   4566         ["npm:11.1.0", {\
   4567           "packageLocation": "./.yarn/cache/globby-npm-11.1.0-bdcdf20c71-b4be8885e0.zip/node_modules/globby/",\
   4568           "packageDependencies": [\
   4569             ["globby", "npm:11.1.0"],\
   4570             ["array-union", "npm:2.1.0"],\
   4571             ["dir-glob", "npm:3.0.1"],\
   4572             ["fast-glob", "npm:3.2.12"],\
   4573             ["ignore", "npm:5.2.4"],\
   4574             ["merge2", "npm:1.4.1"],\
   4575             ["slash", "npm:3.0.0"]\
   4576           ],\
   4577           "linkType": "HARD"\
   4578         }],\
   4579         ["npm:13.1.3", {\
   4580           "packageLocation": "./.yarn/cache/globby-npm-13.1.3-3b0bb18d0b-93f06e0200.zip/node_modules/globby/",\
   4581           "packageDependencies": [\
   4582             ["globby", "npm:13.1.3"],\
   4583             ["dir-glob", "npm:3.0.1"],\
   4584             ["fast-glob", "npm:3.2.12"],\
   4585             ["ignore", "npm:5.2.4"],\
   4586             ["merge2", "npm:1.4.1"],\
   4587             ["slash", "npm:4.0.0"]\
   4588           ],\
   4589           "linkType": "HARD"\
   4590         }]\
   4591       ]],\
   4592       ["globrex", [\
   4593         ["npm:0.1.2", {\
   4594           "packageLocation": "./.yarn/cache/globrex-npm-0.1.2-ddda94f2d0-adca162494.zip/node_modules/globrex/",\
   4595           "packageDependencies": [\
   4596             ["globrex", "npm:0.1.2"]\
   4597           ],\
   4598           "linkType": "HARD"\
   4599         }]\
   4600       ]],\
   4601       ["goober", [\
   4602         ["npm:2.1.11", {\
   4603           "packageLocation": "./.yarn/cache/goober-npm-2.1.11-7a0d27368b-c37c14f476.zip/node_modules/goober/",\
   4604           "packageDependencies": [\
   4605             ["goober", "npm:2.1.11"]\
   4606           ],\
   4607           "linkType": "SOFT"\
   4608         }],\
   4609         ["virtual:fb9c7734729e35124b57143a9a3090a64e7de6291d24560db9b56f966d0cf34bbc3d7321078118671e0aae2410d649021f8bac248a2e89fc41bf77987f9c3d18#npm:2.1.11", {\
   4610           "packageLocation": "./.yarn/__virtual__/goober-virtual-6bcde5f80c/0/cache/goober-npm-2.1.11-7a0d27368b-c37c14f476.zip/node_modules/goober/",\
   4611           "packageDependencies": [\
   4612             ["goober", "virtual:fb9c7734729e35124b57143a9a3090a64e7de6291d24560db9b56f966d0cf34bbc3d7321078118671e0aae2410d649021f8bac248a2e89fc41bf77987f9c3d18#npm:2.1.11"],\
   4613             ["@types/csstype", null],\
   4614             ["csstype", null]\
   4615           ],\
   4616           "packagePeers": [\
   4617             "@types/csstype",\
   4618             "csstype"\
   4619           ],\
   4620           "linkType": "HARD"\
   4621         }]\
   4622       ]],\
   4623       ["gopd", [\
   4624         ["npm:1.0.1", {\
   4625           "packageLocation": "./.yarn/cache/gopd-npm-1.0.1-10c1d0b534-a5ccfb8806.zip/node_modules/gopd/",\
   4626           "packageDependencies": [\
   4627             ["gopd", "npm:1.0.1"],\
   4628             ["get-intrinsic", "npm:1.1.3"]\
   4629           ],\
   4630           "linkType": "HARD"\
   4631         }]\
   4632       ]],\
   4633       ["graceful-fs", [\
   4634         ["npm:4.2.10", {\
   4635           "packageLocation": "./.yarn/cache/graceful-fs-npm-4.2.10-79c70989ca-3f109d70ae.zip/node_modules/graceful-fs/",\
   4636           "packageDependencies": [\
   4637             ["graceful-fs", "npm:4.2.10"]\
   4638           ],\
   4639           "linkType": "HARD"\
   4640         }]\
   4641       ]],\
   4642       ["grapheme-splitter", [\
   4643         ["npm:1.0.4", {\
   4644           "packageLocation": "./.yarn/cache/grapheme-splitter-npm-1.0.4-648f2bf509-0c22ec54de.zip/node_modules/grapheme-splitter/",\
   4645           "packageDependencies": [\
   4646             ["grapheme-splitter", "npm:1.0.4"]\
   4647           ],\
   4648           "linkType": "HARD"\
   4649         }]\
   4650       ]],\
   4651       ["handlebars", [\
   4652         ["npm:4.7.7", {\
   4653           "packageLocation": "./.yarn/cache/handlebars-npm-4.7.7-a9ccfabf80-1e79a43f5e.zip/node_modules/handlebars/",\
   4654           "packageDependencies": [\
   4655             ["handlebars", "npm:4.7.7"],\
   4656             ["minimist", "npm:1.2.7"],\
   4657             ["neo-async", "npm:2.6.2"],\
   4658             ["source-map", "npm:0.6.1"],\
   4659             ["uglify-js", "npm:3.17.4"],\
   4660             ["wordwrap", "npm:1.0.0"]\
   4661           ],\
   4662           "linkType": "HARD"\
   4663         }]\
   4664       ]],\
   4665       ["has", [\
   4666         ["npm:1.0.3", {\
   4667           "packageLocation": "./.yarn/cache/has-npm-1.0.3-b7f00631c1-b9ad53d53b.zip/node_modules/has/",\
   4668           "packageDependencies": [\
   4669             ["has", "npm:1.0.3"],\
   4670             ["function-bind", "npm:1.1.1"]\
   4671           ],\
   4672           "linkType": "HARD"\
   4673         }]\
   4674       ]],\
   4675       ["has-bigints", [\
   4676         ["npm:1.0.2", {\
   4677           "packageLocation": "./.yarn/cache/has-bigints-npm-1.0.2-52732e614d-390e31e7be.zip/node_modules/has-bigints/",\
   4678           "packageDependencies": [\
   4679             ["has-bigints", "npm:1.0.2"]\
   4680           ],\
   4681           "linkType": "HARD"\
   4682         }]\
   4683       ]],\
   4684       ["has-flag", [\
   4685         ["npm:3.0.0", {\
   4686           "packageLocation": "./.yarn/cache/has-flag-npm-3.0.0-16ac11fe05-4a15638b45.zip/node_modules/has-flag/",\
   4687           "packageDependencies": [\
   4688             ["has-flag", "npm:3.0.0"]\
   4689           ],\
   4690           "linkType": "HARD"\
   4691         }],\
   4692         ["npm:4.0.0", {\
   4693           "packageLocation": "./.yarn/cache/has-flag-npm-4.0.0-32af9f0536-261a135703.zip/node_modules/has-flag/",\
   4694           "packageDependencies": [\
   4695             ["has-flag", "npm:4.0.0"]\
   4696           ],\
   4697           "linkType": "HARD"\
   4698         }]\
   4699       ]],\
   4700       ["has-property-descriptors", [\
   4701         ["npm:1.0.0", {\
   4702           "packageLocation": "./.yarn/cache/has-property-descriptors-npm-1.0.0-56289b918d-a6d3f0a266.zip/node_modules/has-property-descriptors/",\
   4703           "packageDependencies": [\
   4704             ["has-property-descriptors", "npm:1.0.0"],\
   4705             ["get-intrinsic", "npm:1.1.3"]\
   4706           ],\
   4707           "linkType": "HARD"\
   4708         }]\
   4709       ]],\
   4710       ["has-proto", [\
   4711         ["npm:1.0.1", {\
   4712           "packageLocation": "./.yarn/cache/has-proto-npm-1.0.1-631ea9d820-febc5b5b53.zip/node_modules/has-proto/",\
   4713           "packageDependencies": [\
   4714             ["has-proto", "npm:1.0.1"]\
   4715           ],\
   4716           "linkType": "HARD"\
   4717         }]\
   4718       ]],\
   4719       ["has-symbols", [\
   4720         ["npm:1.0.3", {\
   4721           "packageLocation": "./.yarn/cache/has-symbols-npm-1.0.3-1986bff2c4-a054c40c63.zip/node_modules/has-symbols/",\
   4722           "packageDependencies": [\
   4723             ["has-symbols", "npm:1.0.3"]\
   4724           ],\
   4725           "linkType": "HARD"\
   4726         }]\
   4727       ]],\
   4728       ["has-tostringtag", [\
   4729         ["npm:1.0.0", {\
   4730           "packageLocation": "./.yarn/cache/has-tostringtag-npm-1.0.0-b1fcf3ab55-cc12eb28cb.zip/node_modules/has-tostringtag/",\
   4731           "packageDependencies": [\
   4732             ["has-tostringtag", "npm:1.0.0"],\
   4733             ["has-symbols", "npm:1.0.3"]\
   4734           ],\
   4735           "linkType": "HARD"\
   4736         }]\
   4737       ]],\
   4738       ["has-unicode", [\
   4739         ["npm:2.0.1", {\
   4740           "packageLocation": "./.yarn/cache/has-unicode-npm-2.0.1-893adb4747-1eab07a743.zip/node_modules/has-unicode/",\
   4741           "packageDependencies": [\
   4742             ["has-unicode", "npm:2.0.1"]\
   4743           ],\
   4744           "linkType": "HARD"\
   4745         }]\
   4746       ]],\
   4747       ["hoist-non-react-statics", [\
   4748         ["npm:3.3.2", {\
   4749           "packageLocation": "./.yarn/cache/hoist-non-react-statics-npm-3.3.2-e7b709e6c1-b153827042.zip/node_modules/hoist-non-react-statics/",\
   4750           "packageDependencies": [\
   4751             ["hoist-non-react-statics", "npm:3.3.2"],\
   4752             ["react-is", "npm:16.13.1"]\
   4753           ],\
   4754           "linkType": "HARD"\
   4755         }]\
   4756       ]],\
   4757       ["html-encoding-sniffer", [\
   4758         ["npm:3.0.0", {\
   4759           "packageLocation": "./.yarn/cache/html-encoding-sniffer-npm-3.0.0-daac3dfe41-8d806aa004.zip/node_modules/html-encoding-sniffer/",\
   4760           "packageDependencies": [\
   4761             ["html-encoding-sniffer", "npm:3.0.0"],\
   4762             ["whatwg-encoding", "npm:2.0.0"]\
   4763           ],\
   4764           "linkType": "HARD"\
   4765         }]\
   4766       ]],\
   4767       ["html-escaper", [\
   4768         ["npm:2.0.2", {\
   4769           "packageLocation": "./.yarn/cache/html-escaper-npm-2.0.2-38e51ef294-d2df2da3ad.zip/node_modules/html-escaper/",\
   4770           "packageDependencies": [\
   4771             ["html-escaper", "npm:2.0.2"]\
   4772           ],\
   4773           "linkType": "HARD"\
   4774         }]\
   4775       ]],\
   4776       ["http-cache-semantics", [\
   4777         ["npm:4.1.0", {\
   4778           "packageLocation": "./.yarn/cache/http-cache-semantics-npm-4.1.0-860520a31f-974de94a81.zip/node_modules/http-cache-semantics/",\
   4779           "packageDependencies": [\
   4780             ["http-cache-semantics", "npm:4.1.0"]\
   4781           ],\
   4782           "linkType": "HARD"\
   4783         }]\
   4784       ]],\
   4785       ["http-proxy-agent", [\
   4786         ["npm:5.0.0", {\
   4787           "packageLocation": "./.yarn/cache/http-proxy-agent-npm-5.0.0-7f1f121b83-e2ee1ff165.zip/node_modules/http-proxy-agent/",\
   4788           "packageDependencies": [\
   4789             ["http-proxy-agent", "npm:5.0.0"],\
   4790             ["@tootallnate/once", "npm:2.0.0"],\
   4791             ["agent-base", "npm:6.0.2"],\
   4792             ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"]\
   4793           ],\
   4794           "linkType": "HARD"\
   4795         }]\
   4796       ]],\
   4797       ["https-proxy-agent", [\
   4798         ["npm:5.0.1", {\
   4799           "packageLocation": "./.yarn/cache/https-proxy-agent-npm-5.0.1-42d65f358e-571fccdf38.zip/node_modules/https-proxy-agent/",\
   4800           "packageDependencies": [\
   4801             ["https-proxy-agent", "npm:5.0.1"],\
   4802             ["agent-base", "npm:6.0.2"],\
   4803             ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"]\
   4804           ],\
   4805           "linkType": "HARD"\
   4806         }]\
   4807       ]],\
   4808       ["human-signals", [\
   4809         ["npm:2.1.0", {\
   4810           "packageLocation": "./.yarn/cache/human-signals-npm-2.1.0-f75815481d-b87fd89fce.zip/node_modules/human-signals/",\
   4811           "packageDependencies": [\
   4812             ["human-signals", "npm:2.1.0"]\
   4813           ],\
   4814           "linkType": "HARD"\
   4815         }]\
   4816       ]],\
   4817       ["humanize-ms", [\
   4818         ["npm:1.2.1", {\
   4819           "packageLocation": "./.yarn/cache/humanize-ms-npm-1.2.1-e942bd7329-9c7a74a282.zip/node_modules/humanize-ms/",\
   4820           "packageDependencies": [\
   4821             ["humanize-ms", "npm:1.2.1"],\
   4822             ["ms", "npm:2.1.3"]\
   4823           ],\
   4824           "linkType": "HARD"\
   4825         }]\
   4826       ]],\
   4827       ["iconv-lite", [\
   4828         ["npm:0.6.3", {\
   4829           "packageLocation": "./.yarn/cache/iconv-lite-npm-0.6.3-24b8aae27e-3f60d47a5c.zip/node_modules/iconv-lite/",\
   4830           "packageDependencies": [\
   4831             ["iconv-lite", "npm:0.6.3"],\
   4832             ["safer-buffer", "npm:2.1.2"]\
   4833           ],\
   4834           "linkType": "HARD"\
   4835         }]\
   4836       ]],\
   4837       ["ieee754", [\
   4838         ["npm:1.2.1", {\
   4839           "packageLocation": "./.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-5144c0c981.zip/node_modules/ieee754/",\
   4840           "packageDependencies": [\
   4841             ["ieee754", "npm:1.2.1"]\
   4842           ],\
   4843           "linkType": "HARD"\
   4844         }]\
   4845       ]],\
   4846       ["ignore", [\
   4847         ["npm:5.2.4", {\
   4848           "packageLocation": "./.yarn/cache/ignore-npm-5.2.4-fbe6e989e5-3d4c309c60.zip/node_modules/ignore/",\
   4849           "packageDependencies": [\
   4850             ["ignore", "npm:5.2.4"]\
   4851           ],\
   4852           "linkType": "HARD"\
   4853         }]\
   4854       ]],\
   4855       ["immutable", [\
   4856         ["npm:4.2.2", {\
   4857           "packageLocation": "./.yarn/cache/immutable-npm-4.2.2-613ea9d8d9-4d6437ea93.zip/node_modules/immutable/",\
   4858           "packageDependencies": [\
   4859             ["immutable", "npm:4.2.2"]\
   4860           ],\
   4861           "linkType": "HARD"\
   4862         }]\
   4863       ]],\
   4864       ["import-fresh", [\
   4865         ["npm:3.3.0", {\
   4866           "packageLocation": "./.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-2cacfad06e.zip/node_modules/import-fresh/",\
   4867           "packageDependencies": [\
   4868             ["import-fresh", "npm:3.3.0"],\
   4869             ["parent-module", "npm:1.0.1"],\
   4870             ["resolve-from", "npm:4.0.0"]\
   4871           ],\
   4872           "linkType": "HARD"\
   4873         }]\
   4874       ]],\
   4875       ["import-local", [\
   4876         ["npm:3.1.0", {\
   4877           "packageLocation": "./.yarn/cache/import-local-npm-3.1.0-8960af5e51-bfcdb63b5e.zip/node_modules/import-local/",\
   4878           "packageDependencies": [\
   4879             ["import-local", "npm:3.1.0"],\
   4880             ["pkg-dir", "npm:4.2.0"],\
   4881             ["resolve-cwd", "npm:3.0.0"]\
   4882           ],\
   4883           "linkType": "HARD"\
   4884         }]\
   4885       ]],\
   4886       ["imurmurhash", [\
   4887         ["npm:0.1.4", {\
   4888           "packageLocation": "./.yarn/cache/imurmurhash-npm-0.1.4-610c5068a0-7cae75c8cd.zip/node_modules/imurmurhash/",\
   4889           "packageDependencies": [\
   4890             ["imurmurhash", "npm:0.1.4"]\
   4891           ],\
   4892           "linkType": "HARD"\
   4893         }]\
   4894       ]],\
   4895       ["indent-string", [\
   4896         ["npm:4.0.0", {\
   4897           "packageLocation": "./.yarn/cache/indent-string-npm-4.0.0-7b717435b2-824cfb9929.zip/node_modules/indent-string/",\
   4898           "packageDependencies": [\
   4899             ["indent-string", "npm:4.0.0"]\
   4900           ],\
   4901           "linkType": "HARD"\
   4902         }]\
   4903       ]],\
   4904       ["infer-owner", [\
   4905         ["npm:1.0.4", {\
   4906           "packageLocation": "./.yarn/cache/infer-owner-npm-1.0.4-685ac3d2af-181e732764.zip/node_modules/infer-owner/",\
   4907           "packageDependencies": [\
   4908             ["infer-owner", "npm:1.0.4"]\
   4909           ],\
   4910           "linkType": "HARD"\
   4911         }]\
   4912       ]],\
   4913       ["inflight", [\
   4914         ["npm:1.0.6", {\
   4915           "packageLocation": "./.yarn/cache/inflight-npm-1.0.6-ccedb4b908-f4f76aa072.zip/node_modules/inflight/",\
   4916           "packageDependencies": [\
   4917             ["inflight", "npm:1.0.6"],\
   4918             ["once", "npm:1.4.0"],\
   4919             ["wrappy", "npm:1.0.2"]\
   4920           ],\
   4921           "linkType": "HARD"\
   4922         }]\
   4923       ]],\
   4924       ["inherits", [\
   4925         ["npm:2.0.4", {\
   4926           "packageLocation": "./.yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip/node_modules/inherits/",\
   4927           "packageDependencies": [\
   4928             ["inherits", "npm:2.0.4"]\
   4929           ],\
   4930           "linkType": "HARD"\
   4931         }]\
   4932       ]],\
   4933       ["internal-slot", [\
   4934         ["npm:1.0.4", {\
   4935           "packageLocation": "./.yarn/cache/internal-slot-npm-1.0.4-9183007374-8974588d06.zip/node_modules/internal-slot/",\
   4936           "packageDependencies": [\
   4937             ["internal-slot", "npm:1.0.4"],\
   4938             ["get-intrinsic", "npm:1.1.3"],\
   4939             ["has", "npm:1.0.3"],\
   4940             ["side-channel", "npm:1.0.4"]\
   4941           ],\
   4942           "linkType": "HARD"\
   4943         }]\
   4944       ]],\
   4945       ["ip", [\
   4946         ["npm:2.0.0", {\
   4947           "packageLocation": "./.yarn/cache/ip-npm-2.0.0-204facb3cc-cfcfac6b87.zip/node_modules/ip/",\
   4948           "packageDependencies": [\
   4949             ["ip", "npm:2.0.0"]\
   4950           ],\
   4951           "linkType": "HARD"\
   4952         }]\
   4953       ]],\
   4954       ["is-arguments", [\
   4955         ["npm:1.1.1", {\
   4956           "packageLocation": "./.yarn/cache/is-arguments-npm-1.1.1-eff4f6d4d7-7f02700ec2.zip/node_modules/is-arguments/",\
   4957           "packageDependencies": [\
   4958             ["is-arguments", "npm:1.1.1"],\
   4959             ["call-bind", "npm:1.0.2"],\
   4960             ["has-tostringtag", "npm:1.0.0"]\
   4961           ],\
   4962           "linkType": "HARD"\
   4963         }]\
   4964       ]],\
   4965       ["is-array-buffer", [\
   4966         ["npm:3.0.1", {\
   4967           "packageLocation": "./.yarn/cache/is-array-buffer-npm-3.0.1-3e93b14326-f26ab87448.zip/node_modules/is-array-buffer/",\
   4968           "packageDependencies": [\
   4969             ["is-array-buffer", "npm:3.0.1"],\
   4970             ["call-bind", "npm:1.0.2"],\
   4971             ["get-intrinsic", "npm:1.1.3"],\
   4972             ["is-typed-array", "npm:1.1.10"]\
   4973           ],\
   4974           "linkType": "HARD"\
   4975         }]\
   4976       ]],\
   4977       ["is-arrayish", [\
   4978         ["npm:0.2.1", {\
   4979           "packageLocation": "./.yarn/cache/is-arrayish-npm-0.2.1-23927dfb15-eef4417e3c.zip/node_modules/is-arrayish/",\
   4980           "packageDependencies": [\
   4981             ["is-arrayish", "npm:0.2.1"]\
   4982           ],\
   4983           "linkType": "HARD"\
   4984         }]\
   4985       ]],\
   4986       ["is-bigint", [\
   4987         ["npm:1.0.4", {\
   4988           "packageLocation": "./.yarn/cache/is-bigint-npm-1.0.4-31c2eecbc9-c56edfe09b.zip/node_modules/is-bigint/",\
   4989           "packageDependencies": [\
   4990             ["is-bigint", "npm:1.0.4"],\
   4991             ["has-bigints", "npm:1.0.2"]\
   4992           ],\
   4993           "linkType": "HARD"\
   4994         }]\
   4995       ]],\
   4996       ["is-binary-path", [\
   4997         ["npm:2.1.0", {\
   4998           "packageLocation": "./.yarn/cache/is-binary-path-npm-2.1.0-e61d46f557-84192eb88c.zip/node_modules/is-binary-path/",\
   4999           "packageDependencies": [\
   5000             ["is-binary-path", "npm:2.1.0"],\
   5001             ["binary-extensions", "npm:2.2.0"]\
   5002           ],\
   5003           "linkType": "HARD"\
   5004         }]\
   5005       ]],\
   5006       ["is-boolean-object", [\
   5007         ["npm:1.1.2", {\
   5008           "packageLocation": "./.yarn/cache/is-boolean-object-npm-1.1.2-ecbd575e6a-c03b23dbaa.zip/node_modules/is-boolean-object/",\
   5009           "packageDependencies": [\
   5010             ["is-boolean-object", "npm:1.1.2"],\
   5011             ["call-bind", "npm:1.0.2"],\
   5012             ["has-tostringtag", "npm:1.0.0"]\
   5013           ],\
   5014           "linkType": "HARD"\
   5015         }]\
   5016       ]],\
   5017       ["is-callable", [\
   5018         ["npm:1.2.7", {\
   5019           "packageLocation": "./.yarn/cache/is-callable-npm-1.2.7-808a303e61-61fd57d03b.zip/node_modules/is-callable/",\
   5020           "packageDependencies": [\
   5021             ["is-callable", "npm:1.2.7"]\
   5022           ],\
   5023           "linkType": "HARD"\
   5024         }]\
   5025       ]],\
   5026       ["is-core-module", [\
   5027         ["npm:2.11.0", {\
   5028           "packageLocation": "./.yarn/cache/is-core-module-npm-2.11.0-70061e141a-f96fd490c6.zip/node_modules/is-core-module/",\
   5029           "packageDependencies": [\
   5030             ["is-core-module", "npm:2.11.0"],\
   5031             ["has", "npm:1.0.3"]\
   5032           ],\
   5033           "linkType": "HARD"\
   5034         }]\
   5035       ]],\
   5036       ["is-date-object", [\
   5037         ["npm:1.0.5", {\
   5038           "packageLocation": "./.yarn/cache/is-date-object-npm-1.0.5-88f3d08b5e-baa9077cdf.zip/node_modules/is-date-object/",\
   5039           "packageDependencies": [\
   5040             ["is-date-object", "npm:1.0.5"],\
   5041             ["has-tostringtag", "npm:1.0.0"]\
   5042           ],\
   5043           "linkType": "HARD"\
   5044         }]\
   5045       ]],\
   5046       ["is-docker", [\
   5047         ["npm:2.2.1", {\
   5048           "packageLocation": "./.yarn/cache/is-docker-npm-2.2.1-3f18a53aff-3fef7ddbf0.zip/node_modules/is-docker/",\
   5049           "packageDependencies": [\
   5050             ["is-docker", "npm:2.2.1"]\
   5051           ],\
   5052           "linkType": "HARD"\
   5053         }]\
   5054       ]],\
   5055       ["is-extglob", [\
   5056         ["npm:2.1.1", {\
   5057           "packageLocation": "./.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-df033653d0.zip/node_modules/is-extglob/",\
   5058           "packageDependencies": [\
   5059             ["is-extglob", "npm:2.1.1"]\
   5060           ],\
   5061           "linkType": "HARD"\
   5062         }]\
   5063       ]],\
   5064       ["is-fullwidth-code-point", [\
   5065         ["npm:3.0.0", {\
   5066           "packageLocation": "./.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip/node_modules/is-fullwidth-code-point/",\
   5067           "packageDependencies": [\
   5068             ["is-fullwidth-code-point", "npm:3.0.0"]\
   5069           ],\
   5070           "linkType": "HARD"\
   5071         }]\
   5072       ]],\
   5073       ["is-generator-fn", [\
   5074         ["npm:2.1.0", {\
   5075           "packageLocation": "./.yarn/cache/is-generator-fn-npm-2.1.0-37895c2d2b-a6ad5492cf.zip/node_modules/is-generator-fn/",\
   5076           "packageDependencies": [\
   5077             ["is-generator-fn", "npm:2.1.0"]\
   5078           ],\
   5079           "linkType": "HARD"\
   5080         }]\
   5081       ]],\
   5082       ["is-glob", [\
   5083         ["npm:4.0.3", {\
   5084           "packageLocation": "./.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-d381c1319f.zip/node_modules/is-glob/",\
   5085           "packageDependencies": [\
   5086             ["is-glob", "npm:4.0.3"],\
   5087             ["is-extglob", "npm:2.1.1"]\
   5088           ],\
   5089           "linkType": "HARD"\
   5090         }]\
   5091       ]],\
   5092       ["is-lambda", [\
   5093         ["npm:1.0.1", {\
   5094           "packageLocation": "./.yarn/cache/is-lambda-npm-1.0.1-7ab55bc8a8-93a32f0194.zip/node_modules/is-lambda/",\
   5095           "packageDependencies": [\
   5096             ["is-lambda", "npm:1.0.1"]\
   5097           ],\
   5098           "linkType": "HARD"\
   5099         }]\
   5100       ]],\
   5101       ["is-map", [\
   5102         ["npm:2.0.2", {\
   5103           "packageLocation": "./.yarn/cache/is-map-npm-2.0.2-486724dabc-ace3d0ecd6.zip/node_modules/is-map/",\
   5104           "packageDependencies": [\
   5105             ["is-map", "npm:2.0.2"]\
   5106           ],\
   5107           "linkType": "HARD"\
   5108         }]\
   5109       ]],\
   5110       ["is-negative-zero", [\
   5111         ["npm:2.0.2", {\
   5112           "packageLocation": "./.yarn/cache/is-negative-zero-npm-2.0.2-0adac91f15-f3232194c4.zip/node_modules/is-negative-zero/",\
   5113           "packageDependencies": [\
   5114             ["is-negative-zero", "npm:2.0.2"]\
   5115           ],\
   5116           "linkType": "HARD"\
   5117         }]\
   5118       ]],\
   5119       ["is-number", [\
   5120         ["npm:7.0.0", {\
   5121           "packageLocation": "./.yarn/cache/is-number-npm-7.0.0-060086935c-456ac6f8e0.zip/node_modules/is-number/",\
   5122           "packageDependencies": [\
   5123             ["is-number", "npm:7.0.0"]\
   5124           ],\
   5125           "linkType": "HARD"\
   5126         }]\
   5127       ]],\
   5128       ["is-number-object", [\
   5129         ["npm:1.0.7", {\
   5130           "packageLocation": "./.yarn/cache/is-number-object-npm-1.0.7-539d0e274d-d1e8d01bb0.zip/node_modules/is-number-object/",\
   5131           "packageDependencies": [\
   5132             ["is-number-object", "npm:1.0.7"],\
   5133             ["has-tostringtag", "npm:1.0.0"]\
   5134           ],\
   5135           "linkType": "HARD"\
   5136         }]\
   5137       ]],\
   5138       ["is-path-inside", [\
   5139         ["npm:3.0.3", {\
   5140           "packageLocation": "./.yarn/cache/is-path-inside-npm-3.0.3-2ea0ef44fd-abd50f0618.zip/node_modules/is-path-inside/",\
   5141           "packageDependencies": [\
   5142             ["is-path-inside", "npm:3.0.3"]\
   5143           ],\
   5144           "linkType": "HARD"\
   5145         }]\
   5146       ]],\
   5147       ["is-potential-custom-element-name", [\
   5148         ["npm:1.0.1", {\
   5149           "packageLocation": "./.yarn/cache/is-potential-custom-element-name-npm-1.0.1-f352f606f8-ced7bbbb64.zip/node_modules/is-potential-custom-element-name/",\
   5150           "packageDependencies": [\
   5151             ["is-potential-custom-element-name", "npm:1.0.1"]\
   5152           ],\
   5153           "linkType": "HARD"\
   5154         }]\
   5155       ]],\
   5156       ["is-property", [\
   5157         ["npm:1.0.2", {\
   5158           "packageLocation": "./.yarn/cache/is-property-npm-1.0.2-6eac53b30e-33b661a369.zip/node_modules/is-property/",\
   5159           "packageDependencies": [\
   5160             ["is-property", "npm:1.0.2"]\
   5161           ],\
   5162           "linkType": "HARD"\
   5163         }]\
   5164       ]],\
   5165       ["is-regex", [\
   5166         ["npm:1.1.4", {\
   5167           "packageLocation": "./.yarn/cache/is-regex-npm-1.1.4-cca193ef11-362399b335.zip/node_modules/is-regex/",\
   5168           "packageDependencies": [\
   5169             ["is-regex", "npm:1.1.4"],\
   5170             ["call-bind", "npm:1.0.2"],\
   5171             ["has-tostringtag", "npm:1.0.0"]\
   5172           ],\
   5173           "linkType": "HARD"\
   5174         }]\
   5175       ]],\
   5176       ["is-set", [\
   5177         ["npm:2.0.2", {\
   5178           "packageLocation": "./.yarn/cache/is-set-npm-2.0.2-7e9ba84a8c-b64343faf4.zip/node_modules/is-set/",\
   5179           "packageDependencies": [\
   5180             ["is-set", "npm:2.0.2"]\
   5181           ],\
   5182           "linkType": "HARD"\
   5183         }]\
   5184       ]],\
   5185       ["is-shared-array-buffer", [\
   5186         ["npm:1.0.2", {\
   5187           "packageLocation": "./.yarn/cache/is-shared-array-buffer-npm-1.0.2-32e4181fcd-9508929cf1.zip/node_modules/is-shared-array-buffer/",\
   5188           "packageDependencies": [\
   5189             ["is-shared-array-buffer", "npm:1.0.2"],\
   5190             ["call-bind", "npm:1.0.2"]\
   5191           ],\
   5192           "linkType": "HARD"\
   5193         }]\
   5194       ]],\
   5195       ["is-stream", [\
   5196         ["npm:2.0.1", {\
   5197           "packageLocation": "./.yarn/cache/is-stream-npm-2.0.1-c802db55e7-b8e05ccdf9.zip/node_modules/is-stream/",\
   5198           "packageDependencies": [\
   5199             ["is-stream", "npm:2.0.1"]\
   5200           ],\
   5201           "linkType": "HARD"\
   5202         }]\
   5203       ]],\
   5204       ["is-string", [\
   5205         ["npm:1.0.7", {\
   5206           "packageLocation": "./.yarn/cache/is-string-npm-1.0.7-9f7066daed-323b3d0462.zip/node_modules/is-string/",\
   5207           "packageDependencies": [\
   5208             ["is-string", "npm:1.0.7"],\
   5209             ["has-tostringtag", "npm:1.0.0"]\
   5210           ],\
   5211           "linkType": "HARD"\
   5212         }]\
   5213       ]],\
   5214       ["is-symbol", [\
   5215         ["npm:1.0.4", {\
   5216           "packageLocation": "./.yarn/cache/is-symbol-npm-1.0.4-eb9baac703-92805812ef.zip/node_modules/is-symbol/",\
   5217           "packageDependencies": [\
   5218             ["is-symbol", "npm:1.0.4"],\
   5219             ["has-symbols", "npm:1.0.3"]\
   5220           ],\
   5221           "linkType": "HARD"\
   5222         }]\
   5223       ]],\
   5224       ["is-typed-array", [\
   5225         ["npm:1.1.10", {\
   5226           "packageLocation": "./.yarn/cache/is-typed-array-npm-1.1.10-fe4ef83cdc-aac6ecb59d.zip/node_modules/is-typed-array/",\
   5227           "packageDependencies": [\
   5228             ["is-typed-array", "npm:1.1.10"],\
   5229             ["available-typed-arrays", "npm:1.0.5"],\
   5230             ["call-bind", "npm:1.0.2"],\
   5231             ["for-each", "npm:0.3.3"],\
   5232             ["gopd", "npm:1.0.1"],\
   5233             ["has-tostringtag", "npm:1.0.0"]\
   5234           ],\
   5235           "linkType": "HARD"\
   5236         }]\
   5237       ]],\
   5238       ["is-weakmap", [\
   5239         ["npm:2.0.1", {\
   5240           "packageLocation": "./.yarn/cache/is-weakmap-npm-2.0.1-88ca3d1dc4-1222bb7e90.zip/node_modules/is-weakmap/",\
   5241           "packageDependencies": [\
   5242             ["is-weakmap", "npm:2.0.1"]\
   5243           ],\
   5244           "linkType": "HARD"\
   5245         }]\
   5246       ]],\
   5247       ["is-weakref", [\
   5248         ["npm:1.0.2", {\
   5249           "packageLocation": "./.yarn/cache/is-weakref-npm-1.0.2-ff80e8c314-95bd9a57cd.zip/node_modules/is-weakref/",\
   5250           "packageDependencies": [\
   5251             ["is-weakref", "npm:1.0.2"],\
   5252             ["call-bind", "npm:1.0.2"]\
   5253           ],\
   5254           "linkType": "HARD"\
   5255         }]\
   5256       ]],\
   5257       ["is-weakset", [\
   5258         ["npm:2.0.2", {\
   5259           "packageLocation": "./.yarn/cache/is-weakset-npm-2.0.2-b3cbc6c9cd-5d8698d1fa.zip/node_modules/is-weakset/",\
   5260           "packageDependencies": [\
   5261             ["is-weakset", "npm:2.0.2"],\
   5262             ["call-bind", "npm:1.0.2"],\
   5263             ["get-intrinsic", "npm:1.1.3"]\
   5264           ],\
   5265           "linkType": "HARD"\
   5266         }]\
   5267       ]],\
   5268       ["is-what", [\
   5269         ["npm:4.1.8", {\
   5270           "packageLocation": "./.yarn/cache/is-what-npm-4.1.8-57bef8cfbc-b9bec3acff.zip/node_modules/is-what/",\
   5271           "packageDependencies": [\
   5272             ["is-what", "npm:4.1.8"]\
   5273           ],\
   5274           "linkType": "HARD"\
   5275         }]\
   5276       ]],\
   5277       ["is-wsl", [\
   5278         ["npm:2.2.0", {\
   5279           "packageLocation": "./.yarn/cache/is-wsl-npm-2.2.0-2ba10d6393-20849846ae.zip/node_modules/is-wsl/",\
   5280           "packageDependencies": [\
   5281             ["is-wsl", "npm:2.2.0"],\
   5282             ["is-docker", "npm:2.2.1"]\
   5283           ],\
   5284           "linkType": "HARD"\
   5285         }]\
   5286       ]],\
   5287       ["isarray", [\
   5288         ["npm:2.0.5", {\
   5289           "packageLocation": "./.yarn/cache/isarray-npm-2.0.5-4ba522212d-bd5bbe4104.zip/node_modules/isarray/",\
   5290           "packageDependencies": [\
   5291             ["isarray", "npm:2.0.5"]\
   5292           ],\
   5293           "linkType": "HARD"\
   5294         }]\
   5295       ]],\
   5296       ["isexe", [\
   5297         ["npm:2.0.0", {\
   5298           "packageLocation": "./.yarn/cache/isexe-npm-2.0.0-b58870bd2e-26bf6c5480.zip/node_modules/isexe/",\
   5299           "packageDependencies": [\
   5300             ["isexe", "npm:2.0.0"]\
   5301           ],\
   5302           "linkType": "HARD"\
   5303         }]\
   5304       ]],\
   5305       ["istanbul-lib-coverage", [\
   5306         ["npm:3.2.0", {\
   5307           "packageLocation": "./.yarn/cache/istanbul-lib-coverage-npm-3.2.0-93f84b2c8c-a2a545033b.zip/node_modules/istanbul-lib-coverage/",\
   5308           "packageDependencies": [\
   5309             ["istanbul-lib-coverage", "npm:3.2.0"]\
   5310           ],\
   5311           "linkType": "HARD"\
   5312         }]\
   5313       ]],\
   5314       ["istanbul-lib-instrument", [\
   5315         ["npm:5.2.1", {\
   5316           "packageLocation": "./.yarn/cache/istanbul-lib-instrument-npm-5.2.1-1b3ad719a9-bf16f1803b.zip/node_modules/istanbul-lib-instrument/",\
   5317           "packageDependencies": [\
   5318             ["istanbul-lib-instrument", "npm:5.2.1"],\
   5319             ["@babel/core", "npm:7.20.12"],\
   5320             ["@babel/parser", "npm:7.20.7"],\
   5321             ["@istanbuljs/schema", "npm:0.1.3"],\
   5322             ["istanbul-lib-coverage", "npm:3.2.0"],\
   5323             ["semver", "npm:6.3.0"]\
   5324           ],\
   5325           "linkType": "HARD"\
   5326         }]\
   5327       ]],\
   5328       ["istanbul-lib-report", [\
   5329         ["npm:3.0.0", {\
   5330           "packageLocation": "./.yarn/cache/istanbul-lib-report-npm-3.0.0-660f97340a-3f29eb3f53.zip/node_modules/istanbul-lib-report/",\
   5331           "packageDependencies": [\
   5332             ["istanbul-lib-report", "npm:3.0.0"],\
   5333             ["istanbul-lib-coverage", "npm:3.2.0"],\
   5334             ["make-dir", "npm:3.1.0"],\
   5335             ["supports-color", "npm:7.2.0"]\
   5336           ],\
   5337           "linkType": "HARD"\
   5338         }]\
   5339       ]],\
   5340       ["istanbul-lib-source-maps", [\
   5341         ["npm:4.0.1", {\
   5342           "packageLocation": "./.yarn/cache/istanbul-lib-source-maps-npm-4.0.1-af0f859df7-21ad3df45d.zip/node_modules/istanbul-lib-source-maps/",\
   5343           "packageDependencies": [\
   5344             ["istanbul-lib-source-maps", "npm:4.0.1"],\
   5345             ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\
   5346             ["istanbul-lib-coverage", "npm:3.2.0"],\
   5347             ["source-map", "npm:0.6.1"]\
   5348           ],\
   5349           "linkType": "HARD"\
   5350         }]\
   5351       ]],\
   5352       ["istanbul-reports", [\
   5353         ["npm:3.1.5", {\
   5354           "packageLocation": "./.yarn/cache/istanbul-reports-npm-3.1.5-fb11324e3e-7867228f83.zip/node_modules/istanbul-reports/",\
   5355           "packageDependencies": [\
   5356             ["istanbul-reports", "npm:3.1.5"],\
   5357             ["html-escaper", "npm:2.0.2"],\
   5358             ["istanbul-lib-report", "npm:3.0.0"]\
   5359           ],\
   5360           "linkType": "HARD"\
   5361         }]\
   5362       ]],\
   5363       ["jest", [\
   5364         ["npm:29.3.1", {\
   5365           "packageLocation": "./.yarn/cache/jest-npm-29.3.1-598e75a9dd-613f4ec657.zip/node_modules/jest/",\
   5366           "packageDependencies": [\
   5367             ["jest", "npm:29.3.1"]\
   5368           ],\
   5369           "linkType": "SOFT"\
   5370         }],\
   5371         ["virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:29.3.1", {\
   5372           "packageLocation": "./.yarn/__virtual__/jest-virtual-862fe11ad7/0/cache/jest-npm-29.3.1-598e75a9dd-613f4ec657.zip/node_modules/jest/",\
   5373           "packageDependencies": [\
   5374             ["jest", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:29.3.1"],\
   5375             ["@jest/core", "virtual:862fe11ad734d9824bb5179f29c186fa9f77ceebedb2f944ac18ed20d5fcc37038a2424aefa361ad967aa043e9ab786e57cbb123d8e240896e168d8c77eb943c#npm:29.3.1"],\
   5376             ["@jest/types", "npm:29.3.1"],\
   5377             ["@types/node-notifier", null],\
   5378             ["import-local", "npm:3.1.0"],\
   5379             ["jest-cli", "virtual:862fe11ad734d9824bb5179f29c186fa9f77ceebedb2f944ac18ed20d5fcc37038a2424aefa361ad967aa043e9ab786e57cbb123d8e240896e168d8c77eb943c#npm:29.3.1"],\
   5380             ["node-notifier", null]\
   5381           ],\
   5382           "packagePeers": [\
   5383             "@types/node-notifier",\
   5384             "node-notifier"\
   5385           ],\
   5386           "linkType": "HARD"\
   5387         }]\
   5388       ]],\
   5389       ["jest-changed-files", [\
   5390         ["npm:29.2.0", {\
   5391           "packageLocation": "./.yarn/cache/jest-changed-files-npm-29.2.0-e1a1846230-8ad8290324.zip/node_modules/jest-changed-files/",\
   5392           "packageDependencies": [\
   5393             ["jest-changed-files", "npm:29.2.0"],\
   5394             ["execa", "npm:5.1.1"],\
   5395             ["p-limit", "npm:3.1.0"]\
   5396           ],\
   5397           "linkType": "HARD"\
   5398         }]\
   5399       ]],\
   5400       ["jest-circus", [\
   5401         ["npm:29.3.1", {\
   5402           "packageLocation": "./.yarn/cache/jest-circus-npm-29.3.1-2cf671dde0-125710debd.zip/node_modules/jest-circus/",\
   5403           "packageDependencies": [\
   5404             ["jest-circus", "npm:29.3.1"],\
   5405             ["@jest/environment", "npm:29.3.1"],\
   5406             ["@jest/expect", "npm:29.3.1"],\
   5407             ["@jest/test-result", "npm:29.3.1"],\
   5408             ["@jest/types", "npm:29.3.1"],\
   5409             ["@types/node", "npm:18.11.18"],\
   5410             ["chalk", "npm:4.1.2"],\
   5411             ["co", "npm:4.6.0"],\
   5412             ["dedent", "npm:0.7.0"],\
   5413             ["is-generator-fn", "npm:2.1.0"],\
   5414             ["jest-each", "npm:29.3.1"],\
   5415             ["jest-matcher-utils", "npm:29.3.1"],\
   5416             ["jest-message-util", "npm:29.3.1"],\
   5417             ["jest-runtime", "npm:29.3.1"],\
   5418             ["jest-snapshot", "npm:29.3.1"],\
   5419             ["jest-util", "npm:29.3.1"],\
   5420             ["p-limit", "npm:3.1.0"],\
   5421             ["pretty-format", "npm:29.3.1"],\
   5422             ["slash", "npm:3.0.0"],\
   5423             ["stack-utils", "npm:2.0.6"]\
   5424           ],\
   5425           "linkType": "HARD"\
   5426         }]\
   5427       ]],\
   5428       ["jest-cli", [\
   5429         ["npm:29.3.1", {\
   5430           "packageLocation": "./.yarn/cache/jest-cli-npm-29.3.1-4b4c5a01f0-829895d330.zip/node_modules/jest-cli/",\
   5431           "packageDependencies": [\
   5432             ["jest-cli", "npm:29.3.1"]\
   5433           ],\
   5434           "linkType": "SOFT"\
   5435         }],\
   5436         ["virtual:862fe11ad734d9824bb5179f29c186fa9f77ceebedb2f944ac18ed20d5fcc37038a2424aefa361ad967aa043e9ab786e57cbb123d8e240896e168d8c77eb943c#npm:29.3.1", {\
   5437           "packageLocation": "./.yarn/__virtual__/jest-cli-virtual-33398a9bcf/0/cache/jest-cli-npm-29.3.1-4b4c5a01f0-829895d330.zip/node_modules/jest-cli/",\
   5438           "packageDependencies": [\
   5439             ["jest-cli", "virtual:862fe11ad734d9824bb5179f29c186fa9f77ceebedb2f944ac18ed20d5fcc37038a2424aefa361ad967aa043e9ab786e57cbb123d8e240896e168d8c77eb943c#npm:29.3.1"],\
   5440             ["@jest/core", "virtual:862fe11ad734d9824bb5179f29c186fa9f77ceebedb2f944ac18ed20d5fcc37038a2424aefa361ad967aa043e9ab786e57cbb123d8e240896e168d8c77eb943c#npm:29.3.1"],\
   5441             ["@jest/test-result", "npm:29.3.1"],\
   5442             ["@jest/types", "npm:29.3.1"],\
   5443             ["@types/node-notifier", null],\
   5444             ["chalk", "npm:4.1.2"],\
   5445             ["exit", "npm:0.1.2"],\
   5446             ["graceful-fs", "npm:4.2.10"],\
   5447             ["import-local", "npm:3.1.0"],\
   5448             ["jest-config", "virtual:33398a9bcff2553f854700e10600dee75bedbeebc19b3dd22584bfa2ad2a2857829c3404d76c3ae3623e0a740f4f713c7afe2812c93f76a084aa1127bab70b7b#npm:29.3.1"],\
   5449             ["jest-util", "npm:29.3.1"],\
   5450             ["jest-validate", "npm:29.3.1"],\
   5451             ["node-notifier", null],\
   5452             ["prompts", "npm:2.4.2"],\
   5453             ["yargs", "npm:17.6.2"]\
   5454           ],\
   5455           "packagePeers": [\
   5456             "@types/node-notifier",\
   5457             "node-notifier"\
   5458           ],\
   5459           "linkType": "HARD"\
   5460         }]\
   5461       ]],\
   5462       ["jest-config", [\
   5463         ["npm:29.3.1", {\
   5464           "packageLocation": "./.yarn/cache/jest-config-npm-29.3.1-7298217c60-6e663f04ae.zip/node_modules/jest-config/",\
   5465           "packageDependencies": [\
   5466             ["jest-config", "npm:29.3.1"]\
   5467           ],\
   5468           "linkType": "SOFT"\
   5469         }],\
   5470         ["virtual:33398a9bcff2553f854700e10600dee75bedbeebc19b3dd22584bfa2ad2a2857829c3404d76c3ae3623e0a740f4f713c7afe2812c93f76a084aa1127bab70b7b#npm:29.3.1", {\
   5471           "packageLocation": "./.yarn/__virtual__/jest-config-virtual-95803fead0/0/cache/jest-config-npm-29.3.1-7298217c60-6e663f04ae.zip/node_modules/jest-config/",\
   5472           "packageDependencies": [\
   5473             ["jest-config", "virtual:33398a9bcff2553f854700e10600dee75bedbeebc19b3dd22584bfa2ad2a2857829c3404d76c3ae3623e0a740f4f713c7afe2812c93f76a084aa1127bab70b7b#npm:29.3.1"],\
   5474             ["@babel/core", "npm:7.20.12"],\
   5475             ["@jest/test-sequencer", "npm:29.3.1"],\
   5476             ["@jest/types", "npm:29.3.1"],\
   5477             ["@types/node", null],\
   5478             ["@types/ts-node", null],\
   5479             ["babel-jest", "virtual:788d0118a981621b95508a19cf21b7827158443c6db1f5680f3b2be78bad2f52fcc5613c309a8eab46fb07757bf8cb8cf5d03762e2d70972705fabae2fdabca3#npm:29.3.1"],\
   5480             ["chalk", "npm:4.1.2"],\
   5481             ["ci-info", "npm:3.7.1"],\
   5482             ["deepmerge", "npm:4.2.2"],\
   5483             ["glob", "npm:7.2.3"],\
   5484             ["graceful-fs", "npm:4.2.10"],\
   5485             ["jest-circus", "npm:29.3.1"],\
   5486             ["jest-environment-node", "npm:29.3.1"],\
   5487             ["jest-get-type", "npm:29.2.0"],\
   5488             ["jest-regex-util", "npm:29.2.0"],\
   5489             ["jest-resolve", "npm:29.3.1"],\
   5490             ["jest-runner", "npm:29.3.1"],\
   5491             ["jest-util", "npm:29.3.1"],\
   5492             ["jest-validate", "npm:29.3.1"],\
   5493             ["micromatch", "npm:4.0.5"],\
   5494             ["parse-json", "npm:5.2.0"],\
   5495             ["pretty-format", "npm:29.3.1"],\
   5496             ["slash", "npm:3.0.0"],\
   5497             ["strip-json-comments", "npm:3.1.1"],\
   5498             ["ts-node", null]\
   5499           ],\
   5500           "packagePeers": [\
   5501             "@types/node",\
   5502             "@types/ts-node",\
   5503             "ts-node"\
   5504           ],\
   5505           "linkType": "HARD"\
   5506         }],\
   5507         ["virtual:7aebeda1bac4461522e36f1704237701105565624a839dea899a630763a93d41f851157efaf3e44178f8554a7b861dbe5ebb77e2cfbbcfb8de3fbad419c572ff#npm:29.3.1", {\
   5508           "packageLocation": "./.yarn/__virtual__/jest-config-virtual-788d0118a9/0/cache/jest-config-npm-29.3.1-7298217c60-6e663f04ae.zip/node_modules/jest-config/",\
   5509           "packageDependencies": [\
   5510             ["jest-config", "virtual:7aebeda1bac4461522e36f1704237701105565624a839dea899a630763a93d41f851157efaf3e44178f8554a7b861dbe5ebb77e2cfbbcfb8de3fbad419c572ff#npm:29.3.1"],\
   5511             ["@babel/core", "npm:7.20.12"],\
   5512             ["@jest/test-sequencer", "npm:29.3.1"],\
   5513             ["@jest/types", "npm:29.3.1"],\
   5514             ["@types/node", "npm:18.11.18"],\
   5515             ["@types/ts-node", null],\
   5516             ["babel-jest", "virtual:788d0118a981621b95508a19cf21b7827158443c6db1f5680f3b2be78bad2f52fcc5613c309a8eab46fb07757bf8cb8cf5d03762e2d70972705fabae2fdabca3#npm:29.3.1"],\
   5517             ["chalk", "npm:4.1.2"],\
   5518             ["ci-info", "npm:3.7.1"],\
   5519             ["deepmerge", "npm:4.2.2"],\
   5520             ["glob", "npm:7.2.3"],\
   5521             ["graceful-fs", "npm:4.2.10"],\
   5522             ["jest-circus", "npm:29.3.1"],\
   5523             ["jest-environment-node", "npm:29.3.1"],\
   5524             ["jest-get-type", "npm:29.2.0"],\
   5525             ["jest-regex-util", "npm:29.2.0"],\
   5526             ["jest-resolve", "npm:29.3.1"],\
   5527             ["jest-runner", "npm:29.3.1"],\
   5528             ["jest-util", "npm:29.3.1"],\
   5529             ["jest-validate", "npm:29.3.1"],\
   5530             ["micromatch", "npm:4.0.5"],\
   5531             ["parse-json", "npm:5.2.0"],\
   5532             ["pretty-format", "npm:29.3.1"],\
   5533             ["slash", "npm:3.0.0"],\
   5534             ["strip-json-comments", "npm:3.1.1"],\
   5535             ["ts-node", null]\
   5536           ],\
   5537           "packagePeers": [\
   5538             "@types/node",\
   5539             "@types/ts-node",\
   5540             "ts-node"\
   5541           ],\
   5542           "linkType": "HARD"\
   5543         }]\
   5544       ]],\
   5545       ["jest-diff", [\
   5546         ["npm:29.3.1", {\
   5547           "packageLocation": "./.yarn/cache/jest-diff-npm-29.3.1-267b436f67-ac5c09745f.zip/node_modules/jest-diff/",\
   5548           "packageDependencies": [\
   5549             ["jest-diff", "npm:29.3.1"],\
   5550             ["chalk", "npm:4.1.2"],\
   5551             ["diff-sequences", "npm:29.3.1"],\
   5552             ["jest-get-type", "npm:29.2.0"],\
   5553             ["pretty-format", "npm:29.3.1"]\
   5554           ],\
   5555           "linkType": "HARD"\
   5556         }]\
   5557       ]],\
   5558       ["jest-docblock", [\
   5559         ["npm:29.2.0", {\
   5560           "packageLocation": "./.yarn/cache/jest-docblock-npm-29.2.0-61320ddd7c-b3f1227b7d.zip/node_modules/jest-docblock/",\
   5561           "packageDependencies": [\
   5562             ["jest-docblock", "npm:29.2.0"],\
   5563             ["detect-newline", "npm:3.1.0"]\
   5564           ],\
   5565           "linkType": "HARD"\
   5566         }]\
   5567       ]],\
   5568       ["jest-each", [\
   5569         ["npm:29.3.1", {\
   5570           "packageLocation": "./.yarn/cache/jest-each-npm-29.3.1-9c43754770-16d51ef8f9.zip/node_modules/jest-each/",\
   5571           "packageDependencies": [\
   5572             ["jest-each", "npm:29.3.1"],\
   5573             ["@jest/types", "npm:29.3.1"],\
   5574             ["chalk", "npm:4.1.2"],\
   5575             ["jest-get-type", "npm:29.2.0"],\
   5576             ["jest-util", "npm:29.3.1"],\
   5577             ["pretty-format", "npm:29.3.1"]\
   5578           ],\
   5579           "linkType": "HARD"\
   5580         }]\
   5581       ]],\
   5582       ["jest-environment-jsdom", [\
   5583         ["npm:29.3.1", {\
   5584           "packageLocation": "./.yarn/cache/jest-environment-jsdom-npm-29.3.1-ec5d7007cb-91b04ed02b.zip/node_modules/jest-environment-jsdom/",\
   5585           "packageDependencies": [\
   5586             ["jest-environment-jsdom", "npm:29.3.1"]\
   5587           ],\
   5588           "linkType": "SOFT"\
   5589         }],\
   5590         ["virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:29.3.1", {\
   5591           "packageLocation": "./.yarn/__virtual__/jest-environment-jsdom-virtual-d0dad83789/0/cache/jest-environment-jsdom-npm-29.3.1-ec5d7007cb-91b04ed02b.zip/node_modules/jest-environment-jsdom/",\
   5592           "packageDependencies": [\
   5593             ["jest-environment-jsdom", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:29.3.1"],\
   5594             ["@jest/environment", "npm:29.3.1"],\
   5595             ["@jest/fake-timers", "npm:29.3.1"],\
   5596             ["@jest/types", "npm:29.3.1"],\
   5597             ["@types/canvas", null],\
   5598             ["@types/jsdom", "npm:20.0.1"],\
   5599             ["@types/node", "npm:18.11.18"],\
   5600             ["canvas", null],\
   5601             ["jest-mock", "npm:29.3.1"],\
   5602             ["jest-util", "npm:29.3.1"],\
   5603             ["jsdom", "virtual:d0dad83789561c3909a91715a5c4619d69c586a4e803d9da42776b9874bdfca768b76dc07be209c3edb7ce7ac413f99d0e2283dc932f4bb98b305737af7fea85#npm:20.0.3"]\
   5604           ],\
   5605           "packagePeers": [\
   5606             "@types/canvas",\
   5607             "canvas"\
   5608           ],\
   5609           "linkType": "HARD"\
   5610         }]\
   5611       ]],\
   5612       ["jest-environment-node", [\
   5613         ["npm:29.3.1", {\
   5614           "packageLocation": "./.yarn/cache/jest-environment-node-npm-29.3.1-3b3592d4d8-16d4854bd2.zip/node_modules/jest-environment-node/",\
   5615           "packageDependencies": [\
   5616             ["jest-environment-node", "npm:29.3.1"],\
   5617             ["@jest/environment", "npm:29.3.1"],\
   5618             ["@jest/fake-timers", "npm:29.3.1"],\
   5619             ["@jest/types", "npm:29.3.1"],\
   5620             ["@types/node", "npm:18.11.18"],\
   5621             ["jest-mock", "npm:29.3.1"],\
   5622             ["jest-util", "npm:29.3.1"]\
   5623           ],\
   5624           "linkType": "HARD"\
   5625         }]\
   5626       ]],\
   5627       ["jest-get-type", [\
   5628         ["npm:29.2.0", {\
   5629           "packageLocation": "./.yarn/cache/jest-get-type-npm-29.2.0-47b45861f7-e396fd880a.zip/node_modules/jest-get-type/",\
   5630           "packageDependencies": [\
   5631             ["jest-get-type", "npm:29.2.0"]\
   5632           ],\
   5633           "linkType": "HARD"\
   5634         }]\
   5635       ]],\
   5636       ["jest-haste-map", [\
   5637         ["npm:29.3.1", {\
   5638           "packageLocation": "./.yarn/cache/jest-haste-map-npm-29.3.1-9ea0c83627-97ea26af0c.zip/node_modules/jest-haste-map/",\
   5639           "packageDependencies": [\
   5640             ["jest-haste-map", "npm:29.3.1"],\
   5641             ["@jest/types", "npm:29.3.1"],\
   5642             ["@types/graceful-fs", "npm:4.1.6"],\
   5643             ["@types/node", "npm:18.11.18"],\
   5644             ["anymatch", "npm:3.1.3"],\
   5645             ["fb-watchman", "npm:2.0.2"],\
   5646             ["fsevents", "patch:fsevents@npm%3A2.3.2#~builtin<compat/fsevents>::version=2.3.2&hash=df0bf1"],\
   5647             ["graceful-fs", "npm:4.2.10"],\
   5648             ["jest-regex-util", "npm:29.2.0"],\
   5649             ["jest-util", "npm:29.3.1"],\
   5650             ["jest-worker", "npm:29.3.1"],\
   5651             ["micromatch", "npm:4.0.5"],\
   5652             ["walker", "npm:1.0.8"]\
   5653           ],\
   5654           "linkType": "HARD"\
   5655         }]\
   5656       ]],\
   5657       ["jest-leak-detector", [\
   5658         ["npm:29.3.1", {\
   5659           "packageLocation": "./.yarn/cache/jest-leak-detector-npm-29.3.1-4354742a8c-0dd8ed31ae.zip/node_modules/jest-leak-detector/",\
   5660           "packageDependencies": [\
   5661             ["jest-leak-detector", "npm:29.3.1"],\
   5662             ["jest-get-type", "npm:29.2.0"],\
   5663             ["pretty-format", "npm:29.3.1"]\
   5664           ],\
   5665           "linkType": "HARD"\
   5666         }]\
   5667       ]],\
   5668       ["jest-matcher-utils", [\
   5669         ["npm:29.3.1", {\
   5670           "packageLocation": "./.yarn/cache/jest-matcher-utils-npm-29.3.1-5d9d00434d-311e8d9f1e.zip/node_modules/jest-matcher-utils/",\
   5671           "packageDependencies": [\
   5672             ["jest-matcher-utils", "npm:29.3.1"],\
   5673             ["chalk", "npm:4.1.2"],\
   5674             ["jest-diff", "npm:29.3.1"],\
   5675             ["jest-get-type", "npm:29.2.0"],\
   5676             ["pretty-format", "npm:29.3.1"]\
   5677           ],\
   5678           "linkType": "HARD"\
   5679         }]\
   5680       ]],\
   5681       ["jest-message-util", [\
   5682         ["npm:29.3.1", {\
   5683           "packageLocation": "./.yarn/cache/jest-message-util-npm-29.3.1-66a108a242-15d0a2fca3.zip/node_modules/jest-message-util/",\
   5684           "packageDependencies": [\
   5685             ["jest-message-util", "npm:29.3.1"],\
   5686             ["@babel/code-frame", "npm:7.18.6"],\
   5687             ["@jest/types", "npm:29.3.1"],\
   5688             ["@types/stack-utils", "npm:2.0.1"],\
   5689             ["chalk", "npm:4.1.2"],\
   5690             ["graceful-fs", "npm:4.2.10"],\
   5691             ["micromatch", "npm:4.0.5"],\
   5692             ["pretty-format", "npm:29.3.1"],\
   5693             ["slash", "npm:3.0.0"],\
   5694             ["stack-utils", "npm:2.0.6"]\
   5695           ],\
   5696           "linkType": "HARD"\
   5697         }]\
   5698       ]],\
   5699       ["jest-mock", [\
   5700         ["npm:29.3.1", {\
   5701           "packageLocation": "./.yarn/cache/jest-mock-npm-29.3.1-45d1cf0a4c-9098852cb2.zip/node_modules/jest-mock/",\
   5702           "packageDependencies": [\
   5703             ["jest-mock", "npm:29.3.1"],\
   5704             ["@jest/types", "npm:29.3.1"],\
   5705             ["@types/node", "npm:18.11.18"],\
   5706             ["jest-util", "npm:29.3.1"]\
   5707           ],\
   5708           "linkType": "HARD"\
   5709         }]\
   5710       ]],\
   5711       ["jest-pnp-resolver", [\
   5712         ["npm:1.2.3", {\
   5713           "packageLocation": "./.yarn/cache/jest-pnp-resolver-npm-1.2.3-70e06bf27c-db1a8ab2cb.zip/node_modules/jest-pnp-resolver/",\
   5714           "packageDependencies": [\
   5715             ["jest-pnp-resolver", "npm:1.2.3"]\
   5716           ],\
   5717           "linkType": "SOFT"\
   5718         }],\
   5719         ["virtual:dc2be51619e9143ccbc1e98ae76174a576d2c092742396a161ef0fab71a5e3cb6003dc2ba66df2a36c1b501652a33bae502a37776cc4485fda32979a0491b4e0#npm:1.2.3", {\
   5720           "packageLocation": "./.yarn/__virtual__/jest-pnp-resolver-virtual-e60bf79c36/0/cache/jest-pnp-resolver-npm-1.2.3-70e06bf27c-db1a8ab2cb.zip/node_modules/jest-pnp-resolver/",\
   5721           "packageDependencies": [\
   5722             ["jest-pnp-resolver", "virtual:dc2be51619e9143ccbc1e98ae76174a576d2c092742396a161ef0fab71a5e3cb6003dc2ba66df2a36c1b501652a33bae502a37776cc4485fda32979a0491b4e0#npm:1.2.3"],\
   5723             ["@types/jest-resolve", null],\
   5724             ["jest-resolve", "npm:29.3.1"]\
   5725           ],\
   5726           "packagePeers": [\
   5727             "@types/jest-resolve",\
   5728             "jest-resolve"\
   5729           ],\
   5730           "linkType": "HARD"\
   5731         }]\
   5732       ]],\
   5733       ["jest-regex-util", [\
   5734         ["npm:29.2.0", {\
   5735           "packageLocation": "./.yarn/cache/jest-regex-util-npm-29.2.0-50cc574fb1-7c533e51c5.zip/node_modules/jest-regex-util/",\
   5736           "packageDependencies": [\
   5737             ["jest-regex-util", "npm:29.2.0"]\
   5738           ],\
   5739           "linkType": "HARD"\
   5740         }]\
   5741       ]],\
   5742       ["jest-resolve", [\
   5743         ["npm:29.3.1", {\
   5744           "packageLocation": "./.yarn/cache/jest-resolve-npm-29.3.1-dc2be51619-0dea22ed62.zip/node_modules/jest-resolve/",\
   5745           "packageDependencies": [\
   5746             ["jest-resolve", "npm:29.3.1"],\
   5747             ["chalk", "npm:4.1.2"],\
   5748             ["graceful-fs", "npm:4.2.10"],\
   5749             ["jest-haste-map", "npm:29.3.1"],\
   5750             ["jest-pnp-resolver", "virtual:dc2be51619e9143ccbc1e98ae76174a576d2c092742396a161ef0fab71a5e3cb6003dc2ba66df2a36c1b501652a33bae502a37776cc4485fda32979a0491b4e0#npm:1.2.3"],\
   5751             ["jest-util", "npm:29.3.1"],\
   5752             ["jest-validate", "npm:29.3.1"],\
   5753             ["resolve", "patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=c3c19d"],\
   5754             ["resolve.exports", "npm:1.1.1"],\
   5755             ["slash", "npm:3.0.0"]\
   5756           ],\
   5757           "linkType": "HARD"\
   5758         }]\
   5759       ]],\
   5760       ["jest-resolve-dependencies", [\
   5761         ["npm:29.3.1", {\
   5762           "packageLocation": "./.yarn/cache/jest-resolve-dependencies-npm-29.3.1-89ec333e4d-6ec4727a87.zip/node_modules/jest-resolve-dependencies/",\
   5763           "packageDependencies": [\
   5764             ["jest-resolve-dependencies", "npm:29.3.1"],\
   5765             ["jest-regex-util", "npm:29.2.0"],\
   5766             ["jest-snapshot", "npm:29.3.1"]\
   5767           ],\
   5768           "linkType": "HARD"\
   5769         }]\
   5770       ]],\
   5771       ["jest-runner", [\
   5772         ["npm:29.3.1", {\
   5773           "packageLocation": "./.yarn/cache/jest-runner-npm-29.3.1-931ad62288-61ad445d8a.zip/node_modules/jest-runner/",\
   5774           "packageDependencies": [\
   5775             ["jest-runner", "npm:29.3.1"],\
   5776             ["@jest/console", "npm:29.3.1"],\
   5777             ["@jest/environment", "npm:29.3.1"],\
   5778             ["@jest/test-result", "npm:29.3.1"],\
   5779             ["@jest/transform", "npm:29.3.1"],\
   5780             ["@jest/types", "npm:29.3.1"],\
   5781             ["@types/node", "npm:18.11.18"],\
   5782             ["chalk", "npm:4.1.2"],\
   5783             ["emittery", "npm:0.13.1"],\
   5784             ["graceful-fs", "npm:4.2.10"],\
   5785             ["jest-docblock", "npm:29.2.0"],\
   5786             ["jest-environment-node", "npm:29.3.1"],\
   5787             ["jest-haste-map", "npm:29.3.1"],\
   5788             ["jest-leak-detector", "npm:29.3.1"],\
   5789             ["jest-message-util", "npm:29.3.1"],\
   5790             ["jest-resolve", "npm:29.3.1"],\
   5791             ["jest-runtime", "npm:29.3.1"],\
   5792             ["jest-util", "npm:29.3.1"],\
   5793             ["jest-watcher", "npm:29.3.1"],\
   5794             ["jest-worker", "npm:29.3.1"],\
   5795             ["p-limit", "npm:3.1.0"],\
   5796             ["source-map-support", "npm:0.5.13"]\
   5797           ],\
   5798           "linkType": "HARD"\
   5799         }]\
   5800       ]],\
   5801       ["jest-runtime", [\
   5802         ["npm:29.3.1", {\
   5803           "packageLocation": "./.yarn/cache/jest-runtime-npm-29.3.1-4afadd3ad9-82f27b48f0.zip/node_modules/jest-runtime/",\
   5804           "packageDependencies": [\
   5805             ["jest-runtime", "npm:29.3.1"],\
   5806             ["@jest/environment", "npm:29.3.1"],\
   5807             ["@jest/fake-timers", "npm:29.3.1"],\
   5808             ["@jest/globals", "npm:29.3.1"],\
   5809             ["@jest/source-map", "npm:29.2.0"],\
   5810             ["@jest/test-result", "npm:29.3.1"],\
   5811             ["@jest/transform", "npm:29.3.1"],\
   5812             ["@jest/types", "npm:29.3.1"],\
   5813             ["@types/node", "npm:18.11.18"],\
   5814             ["chalk", "npm:4.1.2"],\
   5815             ["cjs-module-lexer", "npm:1.2.2"],\
   5816             ["collect-v8-coverage", "npm:1.0.1"],\
   5817             ["glob", "npm:7.2.3"],\
   5818             ["graceful-fs", "npm:4.2.10"],\
   5819             ["jest-haste-map", "npm:29.3.1"],\
   5820             ["jest-message-util", "npm:29.3.1"],\
   5821             ["jest-mock", "npm:29.3.1"],\
   5822             ["jest-regex-util", "npm:29.2.0"],\
   5823             ["jest-resolve", "npm:29.3.1"],\
   5824             ["jest-snapshot", "npm:29.3.1"],\
   5825             ["jest-util", "npm:29.3.1"],\
   5826             ["slash", "npm:3.0.0"],\
   5827             ["strip-bom", "npm:4.0.0"]\
   5828           ],\
   5829           "linkType": "HARD"\
   5830         }]\
   5831       ]],\
   5832       ["jest-snapshot", [\
   5833         ["npm:29.3.1", {\
   5834           "packageLocation": "./.yarn/cache/jest-snapshot-npm-29.3.1-532d5ba12d-d7d0077935.zip/node_modules/jest-snapshot/",\
   5835           "packageDependencies": [\
   5836             ["jest-snapshot", "npm:29.3.1"],\
   5837             ["@babel/core", "npm:7.20.12"],\
   5838             ["@babel/generator", "npm:7.20.7"],\
   5839             ["@babel/plugin-syntax-jsx", "virtual:532d5ba12da4e0712fd4ee1959226792558005547b76e38ef9a10812eb5eaa216af23f87433a139e045652661cdf5a8cb298fcb6396605bcd4db8079eb0fa98b#npm:7.18.6"],\
   5840             ["@babel/plugin-syntax-typescript", "virtual:532d5ba12da4e0712fd4ee1959226792558005547b76e38ef9a10812eb5eaa216af23f87433a139e045652661cdf5a8cb298fcb6396605bcd4db8079eb0fa98b#npm:7.20.0"],\
   5841             ["@babel/traverse", "npm:7.20.12"],\
   5842             ["@babel/types", "npm:7.20.7"],\
   5843             ["@jest/expect-utils", "npm:29.3.1"],\
   5844             ["@jest/transform", "npm:29.3.1"],\
   5845             ["@jest/types", "npm:29.3.1"],\
   5846             ["@types/babel__traverse", "npm:7.18.3"],\
   5847             ["@types/prettier", "npm:2.7.2"],\
   5848             ["babel-preset-current-node-syntax", "virtual:532d5ba12da4e0712fd4ee1959226792558005547b76e38ef9a10812eb5eaa216af23f87433a139e045652661cdf5a8cb298fcb6396605bcd4db8079eb0fa98b#npm:1.0.1"],\
   5849             ["chalk", "npm:4.1.2"],\
   5850             ["expect", "npm:29.3.1"],\
   5851             ["graceful-fs", "npm:4.2.10"],\
   5852             ["jest-diff", "npm:29.3.1"],\
   5853             ["jest-get-type", "npm:29.2.0"],\
   5854             ["jest-haste-map", "npm:29.3.1"],\
   5855             ["jest-matcher-utils", "npm:29.3.1"],\
   5856             ["jest-message-util", "npm:29.3.1"],\
   5857             ["jest-util", "npm:29.3.1"],\
   5858             ["natural-compare", "npm:1.4.0"],\
   5859             ["pretty-format", "npm:29.3.1"],\
   5860             ["semver", "npm:7.3.8"]\
   5861           ],\
   5862           "linkType": "HARD"\
   5863         }]\
   5864       ]],\
   5865       ["jest-util", [\
   5866         ["npm:29.3.1", {\
   5867           "packageLocation": "./.yarn/cache/jest-util-npm-29.3.1-0394c5b084-f67c60f062.zip/node_modules/jest-util/",\
   5868           "packageDependencies": [\
   5869             ["jest-util", "npm:29.3.1"],\
   5870             ["@jest/types", "npm:29.3.1"],\
   5871             ["@types/node", "npm:18.11.18"],\
   5872             ["chalk", "npm:4.1.2"],\
   5873             ["ci-info", "npm:3.7.1"],\
   5874             ["graceful-fs", "npm:4.2.10"],\
   5875             ["picomatch", "npm:2.3.1"]\
   5876           ],\
   5877           "linkType": "HARD"\
   5878         }]\
   5879       ]],\
   5880       ["jest-validate", [\
   5881         ["npm:29.3.1", {\
   5882           "packageLocation": "./.yarn/cache/jest-validate-npm-29.3.1-b684da7f88-92584f0b8a.zip/node_modules/jest-validate/",\
   5883           "packageDependencies": [\
   5884             ["jest-validate", "npm:29.3.1"],\
   5885             ["@jest/types", "npm:29.3.1"],\
   5886             ["camelcase", "npm:6.3.0"],\
   5887             ["chalk", "npm:4.1.2"],\
   5888             ["jest-get-type", "npm:29.2.0"],\
   5889             ["leven", "npm:3.1.0"],\
   5890             ["pretty-format", "npm:29.3.1"]\
   5891           ],\
   5892           "linkType": "HARD"\
   5893         }]\
   5894       ]],\
   5895       ["jest-watcher", [\
   5896         ["npm:29.3.1", {\
   5897           "packageLocation": "./.yarn/cache/jest-watcher-npm-29.3.1-2fe48684ea-60d1894734.zip/node_modules/jest-watcher/",\
   5898           "packageDependencies": [\
   5899             ["jest-watcher", "npm:29.3.1"],\
   5900             ["@jest/test-result", "npm:29.3.1"],\
   5901             ["@jest/types", "npm:29.3.1"],\
   5902             ["@types/node", "npm:18.11.18"],\
   5903             ["ansi-escapes", "npm:4.3.2"],\
   5904             ["chalk", "npm:4.1.2"],\
   5905             ["emittery", "npm:0.13.1"],\
   5906             ["jest-util", "npm:29.3.1"],\
   5907             ["string-length", "npm:4.0.2"]\
   5908           ],\
   5909           "linkType": "HARD"\
   5910         }]\
   5911       ]],\
   5912       ["jest-worker", [\
   5913         ["npm:29.3.1", {\
   5914           "packageLocation": "./.yarn/cache/jest-worker-npm-29.3.1-359b9ac79e-38687fcbdc.zip/node_modules/jest-worker/",\
   5915           "packageDependencies": [\
   5916             ["jest-worker", "npm:29.3.1"],\
   5917             ["@types/node", "npm:18.11.18"],\
   5918             ["jest-util", "npm:29.3.1"],\
   5919             ["merge-stream", "npm:2.0.0"],\
   5920             ["supports-color", "npm:8.1.1"]\
   5921           ],\
   5922           "linkType": "HARD"\
   5923         }]\
   5924       ]],\
   5925       ["js-sdsl", [\
   5926         ["npm:4.2.0", {\
   5927           "packageLocation": "./.yarn/cache/js-sdsl-npm-4.2.0-f34411d30f-2cd0885f72.zip/node_modules/js-sdsl/",\
   5928           "packageDependencies": [\
   5929             ["js-sdsl", "npm:4.2.0"]\
   5930           ],\
   5931           "linkType": "HARD"\
   5932         }]\
   5933       ]],\
   5934       ["js-tokens", [\
   5935         ["npm:4.0.0", {\
   5936           "packageLocation": "./.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-8a95213a5a.zip/node_modules/js-tokens/",\
   5937           "packageDependencies": [\
   5938             ["js-tokens", "npm:4.0.0"]\
   5939           ],\
   5940           "linkType": "HARD"\
   5941         }]\
   5942       ]],\
   5943       ["js-yaml", [\
   5944         ["npm:3.14.1", {\
   5945           "packageLocation": "./.yarn/cache/js-yaml-npm-3.14.1-b968c6095e-bef146085f.zip/node_modules/js-yaml/",\
   5946           "packageDependencies": [\
   5947             ["js-yaml", "npm:3.14.1"],\
   5948             ["argparse", "npm:1.0.10"],\
   5949             ["esprima", "npm:4.0.1"]\
   5950           ],\
   5951           "linkType": "HARD"\
   5952         }],\
   5953         ["npm:4.1.0", {\
   5954           "packageLocation": "./.yarn/cache/js-yaml-npm-4.1.0-3606f32312-c7830dfd45.zip/node_modules/js-yaml/",\
   5955           "packageDependencies": [\
   5956             ["js-yaml", "npm:4.1.0"],\
   5957             ["argparse", "npm:2.0.1"]\
   5958           ],\
   5959           "linkType": "HARD"\
   5960         }]\
   5961       ]],\
   5962       ["jsdom", [\
   5963         ["npm:20.0.3", {\
   5964           "packageLocation": "./.yarn/cache/jsdom-npm-20.0.3-906a2f7005-6e2ae21db3.zip/node_modules/jsdom/",\
   5965           "packageDependencies": [\
   5966             ["jsdom", "npm:20.0.3"]\
   5967           ],\
   5968           "linkType": "SOFT"\
   5969         }],\
   5970         ["virtual:d0dad83789561c3909a91715a5c4619d69c586a4e803d9da42776b9874bdfca768b76dc07be209c3edb7ce7ac413f99d0e2283dc932f4bb98b305737af7fea85#npm:20.0.3", {\
   5971           "packageLocation": "./.yarn/__virtual__/jsdom-virtual-86945dd2a6/0/cache/jsdom-npm-20.0.3-906a2f7005-6e2ae21db3.zip/node_modules/jsdom/",\
   5972           "packageDependencies": [\
   5973             ["jsdom", "virtual:d0dad83789561c3909a91715a5c4619d69c586a4e803d9da42776b9874bdfca768b76dc07be209c3edb7ce7ac413f99d0e2283dc932f4bb98b305737af7fea85#npm:20.0.3"],\
   5974             ["@types/canvas", null],\
   5975             ["abab", "npm:2.0.6"],\
   5976             ["acorn", "npm:8.8.1"],\
   5977             ["acorn-globals", "npm:7.0.1"],\
   5978             ["canvas", null],\
   5979             ["cssom", "npm:0.5.0"],\
   5980             ["cssstyle", "npm:2.3.0"],\
   5981             ["data-urls", "npm:3.0.2"],\
   5982             ["decimal.js", "npm:10.4.3"],\
   5983             ["domexception", "npm:4.0.0"],\
   5984             ["escodegen", "npm:2.0.0"],\
   5985             ["form-data", "npm:4.0.0"],\
   5986             ["html-encoding-sniffer", "npm:3.0.0"],\
   5987             ["http-proxy-agent", "npm:5.0.0"],\
   5988             ["https-proxy-agent", "npm:5.0.1"],\
   5989             ["is-potential-custom-element-name", "npm:1.0.1"],\
   5990             ["nwsapi", "npm:2.2.2"],\
   5991             ["parse5", "npm:7.1.2"],\
   5992             ["saxes", "npm:6.0.0"],\
   5993             ["symbol-tree", "npm:3.2.4"],\
   5994             ["tough-cookie", "npm:4.1.2"],\
   5995             ["w3c-xmlserializer", "npm:4.0.0"],\
   5996             ["webidl-conversions", "npm:7.0.0"],\
   5997             ["whatwg-encoding", "npm:2.0.0"],\
   5998             ["whatwg-mimetype", "npm:3.0.0"],\
   5999             ["whatwg-url", "npm:11.0.0"],\
   6000             ["ws", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:8.12.0"],\
   6001             ["xml-name-validator", "npm:4.0.0"]\
   6002           ],\
   6003           "packagePeers": [\
   6004             "@types/canvas",\
   6005             "canvas"\
   6006           ],\
   6007           "linkType": "HARD"\
   6008         }]\
   6009       ]],\
   6010       ["jsesc", [\
   6011         ["npm:2.5.2", {\
   6012           "packageLocation": "./.yarn/cache/jsesc-npm-2.5.2-c5acb78804-4dc1907711.zip/node_modules/jsesc/",\
   6013           "packageDependencies": [\
   6014             ["jsesc", "npm:2.5.2"]\
   6015           ],\
   6016           "linkType": "HARD"\
   6017         }]\
   6018       ]],\
   6019       ["json-parse-even-better-errors", [\
   6020         ["npm:2.3.1", {\
   6021           "packageLocation": "./.yarn/cache/json-parse-even-better-errors-npm-2.3.1-144d62256e-798ed4cf33.zip/node_modules/json-parse-even-better-errors/",\
   6022           "packageDependencies": [\
   6023             ["json-parse-even-better-errors", "npm:2.3.1"]\
   6024           ],\
   6025           "linkType": "HARD"\
   6026         }]\
   6027       ]],\
   6028       ["json-schema-traverse", [\
   6029         ["npm:0.4.1", {\
   6030           "packageLocation": "./.yarn/cache/json-schema-traverse-npm-0.4.1-4759091693-7486074d3b.zip/node_modules/json-schema-traverse/",\
   6031           "packageDependencies": [\
   6032             ["json-schema-traverse", "npm:0.4.1"]\
   6033           ],\
   6034           "linkType": "HARD"\
   6035         }]\
   6036       ]],\
   6037       ["json-stable-stringify-without-jsonify", [\
   6038         ["npm:1.0.1", {\
   6039           "packageLocation": "./.yarn/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-cff44156dd.zip/node_modules/json-stable-stringify-without-jsonify/",\
   6040           "packageDependencies": [\
   6041             ["json-stable-stringify-without-jsonify", "npm:1.0.1"]\
   6042           ],\
   6043           "linkType": "HARD"\
   6044         }]\
   6045       ]],\
   6046       ["json5", [\
   6047         ["npm:1.0.2", {\
   6048           "packageLocation": "./.yarn/cache/json5-npm-1.0.2-9607f93e30-866458a8c5.zip/node_modules/json5/",\
   6049           "packageDependencies": [\
   6050             ["json5", "npm:1.0.2"],\
   6051             ["minimist", "npm:1.2.7"]\
   6052           ],\
   6053           "linkType": "HARD"\
   6054         }],\
   6055         ["npm:2.2.3", {\
   6056           "packageLocation": "./.yarn/cache/json5-npm-2.2.3-9962c55073-2a7436a933.zip/node_modules/json5/",\
   6057           "packageDependencies": [\
   6058             ["json5", "npm:2.2.3"]\
   6059           ],\
   6060           "linkType": "HARD"\
   6061         }]\
   6062       ]],\
   6063       ["jsonwebtoken", [\
   6064         ["npm:9.0.0", {\
   6065           "packageLocation": "./.yarn/cache/jsonwebtoken-npm-9.0.0-36fd1594c0-b9181cecf9.zip/node_modules/jsonwebtoken/",\
   6066           "packageDependencies": [\
   6067             ["jsonwebtoken", "npm:9.0.0"],\
   6068             ["jws", "npm:3.2.2"],\
   6069             ["lodash", "npm:4.17.21"],\
   6070             ["ms", "npm:2.1.3"],\
   6071             ["semver", "npm:7.3.8"]\
   6072           ],\
   6073           "linkType": "HARD"\
   6074         }]\
   6075       ]],\
   6076       ["jsx-ast-utils", [\
   6077         ["npm:3.3.3", {\
   6078           "packageLocation": "./.yarn/cache/jsx-ast-utils-npm-3.3.3-3d3171e1e4-a2ed78cac4.zip/node_modules/jsx-ast-utils/",\
   6079           "packageDependencies": [\
   6080             ["jsx-ast-utils", "npm:3.3.3"],\
   6081             ["array-includes", "npm:3.1.6"],\
   6082             ["object.assign", "npm:4.1.4"]\
   6083           ],\
   6084           "linkType": "HARD"\
   6085         }]\
   6086       ]],\
   6087       ["jwa", [\
   6088         ["npm:1.4.1", {\
   6089           "packageLocation": "./.yarn/cache/jwa-npm-1.4.1-4f19d6572c-ff30ea7c2d.zip/node_modules/jwa/",\
   6090           "packageDependencies": [\
   6091             ["jwa", "npm:1.4.1"],\
   6092             ["buffer-equal-constant-time", "npm:1.0.1"],\
   6093             ["ecdsa-sig-formatter", "npm:1.0.11"],\
   6094             ["safe-buffer", "npm:5.2.1"]\
   6095           ],\
   6096           "linkType": "HARD"\
   6097         }]\
   6098       ]],\
   6099       ["jws", [\
   6100         ["npm:3.2.2", {\
   6101           "packageLocation": "./.yarn/cache/jws-npm-3.2.2-c1ae59c7af-f0213fe5b7.zip/node_modules/jws/",\
   6102           "packageDependencies": [\
   6103             ["jws", "npm:3.2.2"],\
   6104             ["jwa", "npm:1.4.1"],\
   6105             ["safe-buffer", "npm:5.2.1"]\
   6106           ],\
   6107           "linkType": "HARD"\
   6108         }]\
   6109       ]],\
   6110       ["kleur", [\
   6111         ["npm:3.0.3", {\
   6112           "packageLocation": "./.yarn/cache/kleur-npm-3.0.3-f6f53649a4-df82cd1e17.zip/node_modules/kleur/",\
   6113           "packageDependencies": [\
   6114             ["kleur", "npm:3.0.3"]\
   6115           ],\
   6116           "linkType": "HARD"\
   6117         }]\
   6118       ]],\
   6119       ["language-subtag-registry", [\
   6120         ["npm:0.3.22", {\
   6121           "packageLocation": "./.yarn/cache/language-subtag-registry-npm-0.3.22-e9f79fe04e-8ab70a7e0e.zip/node_modules/language-subtag-registry/",\
   6122           "packageDependencies": [\
   6123             ["language-subtag-registry", "npm:0.3.22"]\
   6124           ],\
   6125           "linkType": "HARD"\
   6126         }]\
   6127       ]],\
   6128       ["language-tags", [\
   6129         ["npm:1.0.5", {\
   6130           "packageLocation": "./.yarn/cache/language-tags-npm-1.0.5-3a50e75c96-c81b5d8b9f.zip/node_modules/language-tags/",\
   6131           "packageDependencies": [\
   6132             ["language-tags", "npm:1.0.5"],\
   6133             ["language-subtag-registry", "npm:0.3.22"]\
   6134           ],\
   6135           "linkType": "HARD"\
   6136         }]\
   6137       ]],\
   6138       ["leven", [\
   6139         ["npm:3.1.0", {\
   6140           "packageLocation": "./.yarn/cache/leven-npm-3.1.0-b7697736a3-638401d534.zip/node_modules/leven/",\
   6141           "packageDependencies": [\
   6142             ["leven", "npm:3.1.0"]\
   6143           ],\
   6144           "linkType": "HARD"\
   6145         }]\
   6146       ]],\
   6147       ["levn", [\
   6148         ["npm:0.3.0", {\
   6149           "packageLocation": "./.yarn/cache/levn-npm-0.3.0-48d774b1c2-0d084a5242.zip/node_modules/levn/",\
   6150           "packageDependencies": [\
   6151             ["levn", "npm:0.3.0"],\
   6152             ["prelude-ls", "npm:1.1.2"],\
   6153             ["type-check", "npm:0.3.2"]\
   6154           ],\
   6155           "linkType": "HARD"\
   6156         }],\
   6157         ["npm:0.4.1", {\
   6158           "packageLocation": "./.yarn/cache/levn-npm-0.4.1-d183b2d7bb-12c5021c85.zip/node_modules/levn/",\
   6159           "packageDependencies": [\
   6160             ["levn", "npm:0.4.1"],\
   6161             ["prelude-ls", "npm:1.2.1"],\
   6162             ["type-check", "npm:0.4.0"]\
   6163           ],\
   6164           "linkType": "HARD"\
   6165         }]\
   6166       ]],\
   6167       ["lines-and-columns", [\
   6168         ["npm:1.2.4", {\
   6169           "packageLocation": "./.yarn/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-0c37f9f7fa.zip/node_modules/lines-and-columns/",\
   6170           "packageDependencies": [\
   6171             ["lines-and-columns", "npm:1.2.4"]\
   6172           ],\
   6173           "linkType": "HARD"\
   6174         }]\
   6175       ]],\
   6176       ["locate-path", [\
   6177         ["npm:5.0.0", {\
   6178           "packageLocation": "./.yarn/cache/locate-path-npm-5.0.0-46580c43e4-83e51725e6.zip/node_modules/locate-path/",\
   6179           "packageDependencies": [\
   6180             ["locate-path", "npm:5.0.0"],\
   6181             ["p-locate", "npm:4.1.0"]\
   6182           ],\
   6183           "linkType": "HARD"\
   6184         }],\
   6185         ["npm:6.0.0", {\
   6186           "packageLocation": "./.yarn/cache/locate-path-npm-6.0.0-06a1e4c528-72eb661788.zip/node_modules/locate-path/",\
   6187           "packageDependencies": [\
   6188             ["locate-path", "npm:6.0.0"],\
   6189             ["p-locate", "npm:5.0.0"]\
   6190           ],\
   6191           "linkType": "HARD"\
   6192         }]\
   6193       ]],\
   6194       ["lodash", [\
   6195         ["npm:4.17.21", {\
   6196           "packageLocation": "./.yarn/cache/lodash-npm-4.17.21-6382451519-eb835a2e51.zip/node_modules/lodash/",\
   6197           "packageDependencies": [\
   6198             ["lodash", "npm:4.17.21"]\
   6199           ],\
   6200           "linkType": "HARD"\
   6201         }]\
   6202       ]],\
   6203       ["lodash.merge", [\
   6204         ["npm:4.6.2", {\
   6205           "packageLocation": "./.yarn/cache/lodash.merge-npm-4.6.2-77cb4416bf-ad580b4bdb.zip/node_modules/lodash.merge/",\
   6206           "packageDependencies": [\
   6207             ["lodash.merge", "npm:4.6.2"]\
   6208           ],\
   6209           "linkType": "HARD"\
   6210         }]\
   6211       ]],\
   6212       ["long", [\
   6213         ["npm:5.2.1", {\
   6214           "packageLocation": "./.yarn/cache/long-npm-5.2.1-3a12730171-9264da12d1.zip/node_modules/long/",\
   6215           "packageDependencies": [\
   6216             ["long", "npm:5.2.1"]\
   6217           ],\
   6218           "linkType": "HARD"\
   6219         }]\
   6220       ]],\
   6221       ["loose-envify", [\
   6222         ["npm:1.4.0", {\
   6223           "packageLocation": "./.yarn/cache/loose-envify-npm-1.4.0-6307b72ccf-6517e24e0c.zip/node_modules/loose-envify/",\
   6224           "packageDependencies": [\
   6225             ["loose-envify", "npm:1.4.0"],\
   6226             ["js-tokens", "npm:4.0.0"]\
   6227           ],\
   6228           "linkType": "HARD"\
   6229         }]\
   6230       ]],\
   6231       ["lru-cache", [\
   6232         ["npm:5.1.1", {\
   6233           "packageLocation": "./.yarn/cache/lru-cache-npm-5.1.1-f475882a51-c154ae1cbb.zip/node_modules/lru-cache/",\
   6234           "packageDependencies": [\
   6235             ["lru-cache", "npm:5.1.1"],\
   6236             ["yallist", "npm:3.1.1"]\
   6237           ],\
   6238           "linkType": "HARD"\
   6239         }],\
   6240         ["npm:6.0.0", {\
   6241           "packageLocation": "./.yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-f97f499f89.zip/node_modules/lru-cache/",\
   6242           "packageDependencies": [\
   6243             ["lru-cache", "npm:6.0.0"],\
   6244             ["yallist", "npm:4.0.0"]\
   6245           ],\
   6246           "linkType": "HARD"\
   6247         }],\
   6248         ["npm:7.14.1", {\
   6249           "packageLocation": "./.yarn/cache/lru-cache-npm-7.14.1-d3ba9407b6-d72c6713c6.zip/node_modules/lru-cache/",\
   6250           "packageDependencies": [\
   6251             ["lru-cache", "npm:7.14.1"]\
   6252           ],\
   6253           "linkType": "HARD"\
   6254         }]\
   6255       ]],\
   6256       ["lz-string", [\
   6257         ["npm:1.4.4", {\
   6258           "packageLocation": "./.yarn/cache/lz-string-npm-1.4.4-59a2091d3f-54e31238a6.zip/node_modules/lz-string/",\
   6259           "packageDependencies": [\
   6260             ["lz-string", "npm:1.4.4"]\
   6261           ],\
   6262           "linkType": "HARD"\
   6263         }]\
   6264       ]],\
   6265       ["make-dir", [\
   6266         ["npm:3.1.0", {\
   6267           "packageLocation": "./.yarn/cache/make-dir-npm-3.1.0-d1d7505142-484200020a.zip/node_modules/make-dir/",\
   6268           "packageDependencies": [\
   6269             ["make-dir", "npm:3.1.0"],\
   6270             ["semver", "npm:6.3.0"]\
   6271           ],\
   6272           "linkType": "HARD"\
   6273         }]\
   6274       ]],\
   6275       ["make-fetch-happen", [\
   6276         ["npm:10.2.1", {\
   6277           "packageLocation": "./.yarn/cache/make-fetch-happen-npm-10.2.1-f1cc7cd2df-2332eb9a8e.zip/node_modules/make-fetch-happen/",\
   6278           "packageDependencies": [\
   6279             ["make-fetch-happen", "npm:10.2.1"],\
   6280             ["agentkeepalive", "npm:4.2.1"],\
   6281             ["cacache", "npm:16.1.3"],\
   6282             ["http-cache-semantics", "npm:4.1.0"],\
   6283             ["http-proxy-agent", "npm:5.0.0"],\
   6284             ["https-proxy-agent", "npm:5.0.1"],\
   6285             ["is-lambda", "npm:1.0.1"],\
   6286             ["lru-cache", "npm:7.14.1"],\
   6287             ["minipass", "npm:3.3.6"],\
   6288             ["minipass-collect", "npm:1.0.2"],\
   6289             ["minipass-fetch", "npm:2.1.2"],\
   6290             ["minipass-flush", "npm:1.0.5"],\
   6291             ["minipass-pipeline", "npm:1.2.4"],\
   6292             ["negotiator", "npm:0.6.3"],\
   6293             ["promise-retry", "npm:2.0.1"],\
   6294             ["socks-proxy-agent", "npm:7.0.0"],\
   6295             ["ssri", "npm:9.0.1"]\
   6296           ],\
   6297           "linkType": "HARD"\
   6298         }]\
   6299       ]],\
   6300       ["makeerror", [\
   6301         ["npm:1.0.12", {\
   6302           "packageLocation": "./.yarn/cache/makeerror-npm-1.0.12-69abf085d7-b38a025a12.zip/node_modules/makeerror/",\
   6303           "packageDependencies": [\
   6304             ["makeerror", "npm:1.0.12"],\
   6305             ["tmpl", "npm:1.0.5"]\
   6306           ],\
   6307           "linkType": "HARD"\
   6308         }]\
   6309       ]],\
   6310       ["merge-stream", [\
   6311         ["npm:2.0.0", {\
   6312           "packageLocation": "./.yarn/cache/merge-stream-npm-2.0.0-2ac83efea5-6fa4dcc8d8.zip/node_modules/merge-stream/",\
   6313           "packageDependencies": [\
   6314             ["merge-stream", "npm:2.0.0"]\
   6315           ],\
   6316           "linkType": "HARD"\
   6317         }]\
   6318       ]],\
   6319       ["merge2", [\
   6320         ["npm:1.4.1", {\
   6321           "packageLocation": "./.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip/node_modules/merge2/",\
   6322           "packageDependencies": [\
   6323             ["merge2", "npm:1.4.1"]\
   6324           ],\
   6325           "linkType": "HARD"\
   6326         }]\
   6327       ]],\
   6328       ["micromatch", [\
   6329         ["npm:4.0.5", {\
   6330           "packageLocation": "./.yarn/cache/micromatch-npm-4.0.5-cfab5d7669-02a17b671c.zip/node_modules/micromatch/",\
   6331           "packageDependencies": [\
   6332             ["micromatch", "npm:4.0.5"],\
   6333             ["braces", "npm:3.0.2"],\
   6334             ["picomatch", "npm:2.3.1"]\
   6335           ],\
   6336           "linkType": "HARD"\
   6337         }]\
   6338       ]],\
   6339       ["mime-db", [\
   6340         ["npm:1.52.0", {\
   6341           "packageLocation": "./.yarn/cache/mime-db-npm-1.52.0-b5371d6fd2-0d99a03585.zip/node_modules/mime-db/",\
   6342           "packageDependencies": [\
   6343             ["mime-db", "npm:1.52.0"]\
   6344           ],\
   6345           "linkType": "HARD"\
   6346         }]\
   6347       ]],\
   6348       ["mime-types", [\
   6349         ["npm:2.1.35", {\
   6350           "packageLocation": "./.yarn/cache/mime-types-npm-2.1.35-dd9ea9f3e2-89a5b7f1de.zip/node_modules/mime-types/",\
   6351           "packageDependencies": [\
   6352             ["mime-types", "npm:2.1.35"],\
   6353             ["mime-db", "npm:1.52.0"]\
   6354           ],\
   6355           "linkType": "HARD"\
   6356         }]\
   6357       ]],\
   6358       ["mimic-fn", [\
   6359         ["npm:2.1.0", {\
   6360           "packageLocation": "./.yarn/cache/mimic-fn-npm-2.1.0-4fbeb3abb4-d2421a3444.zip/node_modules/mimic-fn/",\
   6361           "packageDependencies": [\
   6362             ["mimic-fn", "npm:2.1.0"]\
   6363           ],\
   6364           "linkType": "HARD"\
   6365         }]\
   6366       ]],\
   6367       ["min-indent", [\
   6368         ["npm:1.0.1", {\
   6369           "packageLocation": "./.yarn/cache/min-indent-npm-1.0.1-77031f50e1-bfc6dd03c5.zip/node_modules/min-indent/",\
   6370           "packageDependencies": [\
   6371             ["min-indent", "npm:1.0.1"]\
   6372           ],\
   6373           "linkType": "HARD"\
   6374         }]\
   6375       ]],\
   6376       ["minimatch", [\
   6377         ["npm:3.1.2", {\
   6378           "packageLocation": "./.yarn/cache/minimatch-npm-3.1.2-9405269906-c154e56640.zip/node_modules/minimatch/",\
   6379           "packageDependencies": [\
   6380             ["minimatch", "npm:3.1.2"],\
   6381             ["brace-expansion", "npm:1.1.11"]\
   6382           ],\
   6383           "linkType": "HARD"\
   6384         }],\
   6385         ["npm:5.1.4", {\
   6386           "packageLocation": "./.yarn/cache/minimatch-npm-5.1.4-3009c246b4-0de6d7d154.zip/node_modules/minimatch/",\
   6387           "packageDependencies": [\
   6388             ["minimatch", "npm:5.1.4"],\
   6389             ["brace-expansion", "npm:2.0.1"]\
   6390           ],\
   6391           "linkType": "HARD"\
   6392         }]\
   6393       ]],\
   6394       ["minimist", [\
   6395         ["npm:1.2.7", {\
   6396           "packageLocation": "./.yarn/cache/minimist-npm-1.2.7-51d33b1371-7346574a10.zip/node_modules/minimist/",\
   6397           "packageDependencies": [\
   6398             ["minimist", "npm:1.2.7"]\
   6399           ],\
   6400           "linkType": "HARD"\
   6401         }]\
   6402       ]],\
   6403       ["minipass", [\
   6404         ["npm:3.3.6", {\
   6405           "packageLocation": "./.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a30d083c80.zip/node_modules/minipass/",\
   6406           "packageDependencies": [\
   6407             ["minipass", "npm:3.3.6"],\
   6408             ["yallist", "npm:4.0.0"]\
   6409           ],\
   6410           "linkType": "HARD"\
   6411         }],\
   6412         ["npm:4.0.0", {\
   6413           "packageLocation": "./.yarn/cache/minipass-npm-4.0.0-2520d5ae3c-7a609afbf3.zip/node_modules/minipass/",\
   6414           "packageDependencies": [\
   6415             ["minipass", "npm:4.0.0"],\
   6416             ["yallist", "npm:4.0.0"]\
   6417           ],\
   6418           "linkType": "HARD"\
   6419         }]\
   6420       ]],\
   6421       ["minipass-collect", [\
   6422         ["npm:1.0.2", {\
   6423           "packageLocation": "./.yarn/cache/minipass-collect-npm-1.0.2-3b4676eab5-14df761028.zip/node_modules/minipass-collect/",\
   6424           "packageDependencies": [\
   6425             ["minipass-collect", "npm:1.0.2"],\
   6426             ["minipass", "npm:3.3.6"]\
   6427           ],\
   6428           "linkType": "HARD"\
   6429         }]\
   6430       ]],\
   6431       ["minipass-fetch", [\
   6432         ["npm:2.1.2", {\
   6433           "packageLocation": "./.yarn/cache/minipass-fetch-npm-2.1.2-9b21a5c930-3f216be791.zip/node_modules/minipass-fetch/",\
   6434           "packageDependencies": [\
   6435             ["minipass-fetch", "npm:2.1.2"],\
   6436             ["encoding", "npm:0.1.13"],\
   6437             ["minipass", "npm:3.3.6"],\
   6438             ["minipass-sized", "npm:1.0.3"],\
   6439             ["minizlib", "npm:2.1.2"]\
   6440           ],\
   6441           "linkType": "HARD"\
   6442         }]\
   6443       ]],\
   6444       ["minipass-flush", [\
   6445         ["npm:1.0.5", {\
   6446           "packageLocation": "./.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-56269a0b22.zip/node_modules/minipass-flush/",\
   6447           "packageDependencies": [\
   6448             ["minipass-flush", "npm:1.0.5"],\
   6449             ["minipass", "npm:3.3.6"]\
   6450           ],\
   6451           "linkType": "HARD"\
   6452         }]\
   6453       ]],\
   6454       ["minipass-pipeline", [\
   6455         ["npm:1.2.4", {\
   6456           "packageLocation": "./.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-b14240dac0.zip/node_modules/minipass-pipeline/",\
   6457           "packageDependencies": [\
   6458             ["minipass-pipeline", "npm:1.2.4"],\
   6459             ["minipass", "npm:3.3.6"]\
   6460           ],\
   6461           "linkType": "HARD"\
   6462         }]\
   6463       ]],\
   6464       ["minipass-sized", [\
   6465         ["npm:1.0.3", {\
   6466           "packageLocation": "./.yarn/cache/minipass-sized-npm-1.0.3-306d86f432-79076749fc.zip/node_modules/minipass-sized/",\
   6467           "packageDependencies": [\
   6468             ["minipass-sized", "npm:1.0.3"],\
   6469             ["minipass", "npm:3.3.6"]\
   6470           ],\
   6471           "linkType": "HARD"\
   6472         }]\
   6473       ]],\
   6474       ["minizlib", [\
   6475         ["npm:2.1.2", {\
   6476           "packageLocation": "./.yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-f1fdeac0b0.zip/node_modules/minizlib/",\
   6477           "packageDependencies": [\
   6478             ["minizlib", "npm:2.1.2"],\
   6479             ["minipass", "npm:3.3.6"],\
   6480             ["yallist", "npm:4.0.0"]\
   6481           ],\
   6482           "linkType": "HARD"\
   6483         }]\
   6484       ]],\
   6485       ["mkdirp", [\
   6486         ["npm:1.0.4", {\
   6487           "packageLocation": "./.yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-a96865108c.zip/node_modules/mkdirp/",\
   6488           "packageDependencies": [\
   6489             ["mkdirp", "npm:1.0.4"]\
   6490           ],\
   6491           "linkType": "HARD"\
   6492         }]\
   6493       ]],\
   6494       ["moment", [\
   6495         ["npm:2.29.4", {\
   6496           "packageLocation": "./.yarn/cache/moment-npm-2.29.4-902943305d-0ec3f9c2bc.zip/node_modules/moment/",\
   6497           "packageDependencies": [\
   6498             ["moment", "npm:2.29.4"]\
   6499           ],\
   6500           "linkType": "HARD"\
   6501         }]\
   6502       ]],\
   6503       ["ms", [\
   6504         ["npm:2.1.2", {\
   6505           "packageLocation": "./.yarn/cache/ms-npm-2.1.2-ec0c1512ff-673cdb2c31.zip/node_modules/ms/",\
   6506           "packageDependencies": [\
   6507             ["ms", "npm:2.1.2"]\
   6508           ],\
   6509           "linkType": "HARD"\
   6510         }],\
   6511         ["npm:2.1.3", {\
   6512           "packageLocation": "./.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip/node_modules/ms/",\
   6513           "packageDependencies": [\
   6514             ["ms", "npm:2.1.3"]\
   6515           ],\
   6516           "linkType": "HARD"\
   6517         }]\
   6518       ]],\
   6519       ["mysql2", [\
   6520         ["npm:3.0.1", {\
   6521           "packageLocation": "./.yarn/cache/mysql2-npm-3.0.1-ceda50bb4d-3b724df78d.zip/node_modules/mysql2/",\
   6522           "packageDependencies": [\
   6523             ["mysql2", "npm:3.0.1"],\
   6524             ["denque", "npm:2.1.0"],\
   6525             ["generate-function", "npm:2.3.1"],\
   6526             ["iconv-lite", "npm:0.6.3"],\
   6527             ["long", "npm:5.2.1"],\
   6528             ["lru-cache", "npm:7.14.1"],\
   6529             ["named-placeholders", "npm:1.1.3"],\
   6530             ["seq-queue", "npm:0.0.5"],\
   6531             ["sqlstring", "npm:2.3.3"]\
   6532           ],\
   6533           "linkType": "HARD"\
   6534         }]\
   6535       ]],\
   6536       ["named-placeholders", [\
   6537         ["npm:1.1.3", {\
   6538           "packageLocation": "./.yarn/cache/named-placeholders-npm-1.1.3-1b385febe5-7834adc91e.zip/node_modules/named-placeholders/",\
   6539           "packageDependencies": [\
   6540             ["named-placeholders", "npm:1.1.3"],\
   6541             ["lru-cache", "npm:7.14.1"]\
   6542           ],\
   6543           "linkType": "HARD"\
   6544         }]\
   6545       ]],\
   6546       ["nanoevents", [\
   6547         ["npm:7.0.1", {\
   6548           "packageLocation": "./.yarn/cache/nanoevents-npm-7.0.1-54af7d9828-5c0704cfeb.zip/node_modules/nanoevents/",\
   6549           "packageDependencies": [\
   6550             ["nanoevents", "npm:7.0.1"]\
   6551           ],\
   6552           "linkType": "HARD"\
   6553         }]\
   6554       ]],\
   6555       ["nanoid", [\
   6556         ["npm:3.3.4", {\
   6557           "packageLocation": "./.yarn/cache/nanoid-npm-3.3.4-3d250377d6-2fddd6dee9.zip/node_modules/nanoid/",\
   6558           "packageDependencies": [\
   6559             ["nanoid", "npm:3.3.4"]\
   6560           ],\
   6561           "linkType": "HARD"\
   6562         }],\
   6563         ["npm:4.0.0", {\
   6564           "packageLocation": "./.yarn/cache/nanoid-npm-4.0.0-924f5c6312-7d5946df5c.zip/node_modules/nanoid/",\
   6565           "packageDependencies": [\
   6566             ["nanoid", "npm:4.0.0"]\
   6567           ],\
   6568           "linkType": "HARD"\
   6569         }]\
   6570       ]],\
   6571       ["natural-compare", [\
   6572         ["npm:1.4.0", {\
   6573           "packageLocation": "./.yarn/cache/natural-compare-npm-1.4.0-97b75b362d-23ad088b08.zip/node_modules/natural-compare/",\
   6574           "packageDependencies": [\
   6575             ["natural-compare", "npm:1.4.0"]\
   6576           ],\
   6577           "linkType": "HARD"\
   6578         }]\
   6579       ]],\
   6580       ["negotiator", [\
   6581         ["npm:0.6.3", {\
   6582           "packageLocation": "./.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip/node_modules/negotiator/",\
   6583           "packageDependencies": [\
   6584             ["negotiator", "npm:0.6.3"]\
   6585           ],\
   6586           "linkType": "HARD"\
   6587         }]\
   6588       ]],\
   6589       ["neo-async", [\
   6590         ["npm:2.6.2", {\
   6591           "packageLocation": "./.yarn/cache/neo-async-npm-2.6.2-75d6902586-deac9f8d00.zip/node_modules/neo-async/",\
   6592           "packageDependencies": [\
   6593             ["neo-async", "npm:2.6.2"]\
   6594           ],\
   6595           "linkType": "HARD"\
   6596         }]\
   6597       ]],\
   6598       ["next", [\
   6599         ["npm:13.1.2", {\
   6600           "packageLocation": "./.yarn/cache/next-npm-13.1.2-fdc453e9b1-bc9aedfc70.zip/node_modules/next/",\
   6601           "packageDependencies": [\
   6602             ["next", "npm:13.1.2"]\
   6603           ],\
   6604           "linkType": "SOFT"\
   6605         }],\
   6606         ["virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.1.2", {\
   6607           "packageLocation": "./.yarn/__virtual__/next-virtual-297677bc07/0/cache/next-npm-13.1.2-fdc453e9b1-bc9aedfc70.zip/node_modules/next/",\
   6608           "packageDependencies": [\
   6609             ["next", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.1.2"],\
   6610             ["@next/env", "npm:13.1.2"],\
   6611             ["@next/swc-android-arm-eabi", "npm:13.1.2"],\
   6612             ["@next/swc-android-arm64", "npm:13.1.2"],\
   6613             ["@next/swc-darwin-arm64", "npm:13.1.2"],\
   6614             ["@next/swc-darwin-x64", "npm:13.1.2"],\
   6615             ["@next/swc-freebsd-x64", "npm:13.1.2"],\
   6616             ["@next/swc-linux-arm-gnueabihf", "npm:13.1.2"],\
   6617             ["@next/swc-linux-arm64-gnu", "npm:13.1.2"],\
   6618             ["@next/swc-linux-arm64-musl", "npm:13.1.2"],\
   6619             ["@next/swc-linux-x64-gnu", "npm:13.1.2"],\
   6620             ["@next/swc-linux-x64-musl", "npm:13.1.2"],\
   6621             ["@next/swc-win32-arm64-msvc", "npm:13.1.2"],\
   6622             ["@next/swc-win32-ia32-msvc", "npm:13.1.2"],\
   6623             ["@next/swc-win32-x64-msvc", "npm:13.1.2"],\
   6624             ["@swc/helpers", "npm:0.4.14"],\
   6625             ["@types/fibers", null],\
   6626             ["@types/node-sass", null],\
   6627             ["@types/react", "npm:18.0.26"],\
   6628             ["@types/react-dom", "npm:18.0.10"],\
   6629             ["@types/sass", null],\
   6630             ["caniuse-lite", "npm:1.0.30001445"],\
   6631             ["fibers", null],\
   6632             ["node-sass", null],\
   6633             ["postcss", "npm:8.4.14"],\
   6634             ["react", "npm:18.2.0"],\
   6635             ["react-dom", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:18.2.0"],\
   6636             ["sass", "npm:1.57.1"],\
   6637             ["styled-jsx", "virtual:297677bc07d73ccdd3fd351a985268b98c7acd87436df6275a7cd6e7df2a441d3d4f2fbd956f04eb05287463ad1e0eebb94a2ecc2681c43c97e9cb4708eddd15#npm:5.1.1"]\
   6638           ],\
   6639           "packagePeers": [\
   6640             "@types/fibers",\
   6641             "@types/node-sass",\
   6642             "@types/react-dom",\
   6643             "@types/react",\
   6644             "@types/sass",\
   6645             "fibers",\
   6646             "node-sass",\
   6647             "react-dom",\
   6648             "react",\
   6649             "sass"\
   6650           ],\
   6651           "linkType": "HARD"\
   6652         }]\
   6653       ]],\
   6654       ["next-router-mock", [\
   6655         ["npm:0.9.1-beta.0", {\
   6656           "packageLocation": "./.yarn/cache/next-router-mock-npm-0.9.1-beta.0-933a96d52e-3fbc91e6b9.zip/node_modules/next-router-mock/",\
   6657           "packageDependencies": [\
   6658             ["next-router-mock", "npm:0.9.1-beta.0"]\
   6659           ],\
   6660           "linkType": "SOFT"\
   6661         }],\
   6662         ["virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:0.9.1-beta.0", {\
   6663           "packageLocation": "./.yarn/__virtual__/next-router-mock-virtual-b3dc0e644e/0/cache/next-router-mock-npm-0.9.1-beta.0-933a96d52e-3fbc91e6b9.zip/node_modules/next-router-mock/",\
   6664           "packageDependencies": [\
   6665             ["next-router-mock", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:0.9.1-beta.0"],\
   6666             ["@types/next", null],\
   6667             ["@types/react", "npm:18.0.26"],\
   6668             ["next", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.1.2"],\
   6669             ["react", "npm:18.2.0"]\
   6670           ],\
   6671           "packagePeers": [\
   6672             "@types/next",\
   6673             "@types/react",\
   6674             "next",\
   6675             "react"\
   6676           ],\
   6677           "linkType": "HARD"\
   6678         }]\
   6679       ]],\
   6680       ["next-superjson-plugin", [\
   6681         ["npm:0.5.4", {\
   6682           "packageLocation": "./.yarn/unplugged/next-superjson-plugin-virtual-512e3b7f5c/node_modules/next-superjson-plugin/",\
   6683           "packageDependencies": [\
   6684             ["next-superjson-plugin", "npm:0.5.4"]\
   6685           ],\
   6686           "linkType": "SOFT"\
   6687         }],\
   6688         ["virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:0.5.4", {\
   6689           "packageLocation": "./.yarn/unplugged/next-superjson-plugin-virtual-512e3b7f5c/node_modules/next-superjson-plugin/",\
   6690           "packageDependencies": [\
   6691             ["next-superjson-plugin", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:0.5.4"],\
   6692             ["@types/next", null],\
   6693             ["@types/superjson", null],\
   6694             ["hoist-non-react-statics", "npm:3.3.2"],\
   6695             ["next", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.1.2"],\
   6696             ["superjson", "npm:1.12.2"]\
   6697           ],\
   6698           "packagePeers": [\
   6699             "@types/next",\
   6700             "@types/superjson",\
   6701             "next",\
   6702             "superjson"\
   6703           ],\
   6704           "linkType": "HARD"\
   6705         }]\
   6706       ]],\
   6707       ["node-addon-api", [\
   6708         ["npm:5.1.0", {\
   6709           "packageLocation": "./.yarn/unplugged/node-addon-api-npm-5.1.0-b50d00f739/node_modules/node-addon-api/",\
   6710           "packageDependencies": [\
   6711             ["node-addon-api", "npm:5.1.0"],\
   6712             ["node-gyp", "npm:9.3.1"]\
   6713           ],\
   6714           "linkType": "HARD"\
   6715         }]\
   6716       ]],\
   6717       ["node-fetch", [\
   6718         ["npm:2.6.8", {\
   6719           "packageLocation": "./.yarn/cache/node-fetch-npm-2.6.8-ddb8bfc274-91f57be68e.zip/node_modules/node-fetch/",\
   6720           "packageDependencies": [\
   6721             ["node-fetch", "npm:2.6.8"]\
   6722           ],\
   6723           "linkType": "SOFT"\
   6724         }],\
   6725         ["virtual:1811160047d7e0f7e43f371e07920c11204416dd6ae0b8461e04538b2f68e9167aca28b60b34dbd287674a5cdd52bd05be5797bbe2f7de916231958cb58055fb#npm:2.6.8", {\
   6726           "packageLocation": "./.yarn/__virtual__/node-fetch-virtual-4c40075230/0/cache/node-fetch-npm-2.6.8-ddb8bfc274-91f57be68e.zip/node_modules/node-fetch/",\
   6727           "packageDependencies": [\
   6728             ["node-fetch", "virtual:1811160047d7e0f7e43f371e07920c11204416dd6ae0b8461e04538b2f68e9167aca28b60b34dbd287674a5cdd52bd05be5797bbe2f7de916231958cb58055fb#npm:2.6.8"],\
   6729             ["@types/encoding", null],\
   6730             ["encoding", null],\
   6731             ["whatwg-url", "npm:5.0.0"]\
   6732           ],\
   6733           "packagePeers": [\
   6734             "@types/encoding",\
   6735             "encoding"\
   6736           ],\
   6737           "linkType": "HARD"\
   6738         }]\
   6739       ]],\
   6740       ["node-gyp", [\
   6741         ["npm:9.3.1", {\
   6742           "packageLocation": "./.yarn/unplugged/node-gyp-npm-9.3.1-43540bab9c/node_modules/node-gyp/",\
   6743           "packageDependencies": [\
   6744             ["node-gyp", "npm:9.3.1"],\
   6745             ["env-paths", "npm:2.2.1"],\
   6746             ["glob", "npm:7.2.3"],\
   6747             ["graceful-fs", "npm:4.2.10"],\
   6748             ["make-fetch-happen", "npm:10.2.1"],\
   6749             ["nopt", "npm:6.0.0"],\
   6750             ["npmlog", "npm:6.0.2"],\
   6751             ["rimraf", "npm:3.0.2"],\
   6752             ["semver", "npm:7.3.8"],\
   6753             ["tar", "npm:6.1.13"],\
   6754             ["which", "npm:2.0.2"]\
   6755           ],\
   6756           "linkType": "HARD"\
   6757         }]\
   6758       ]],\
   6759       ["node-int64", [\
   6760         ["npm:0.4.0", {\
   6761           "packageLocation": "./.yarn/cache/node-int64-npm-0.4.0-0dc04ec3b2-d0b30b1ee6.zip/node_modules/node-int64/",\
   6762           "packageDependencies": [\
   6763             ["node-int64", "npm:0.4.0"]\
   6764           ],\
   6765           "linkType": "HARD"\
   6766         }]\
   6767       ]],\
   6768       ["node-releases", [\
   6769         ["npm:2.0.8", {\
   6770           "packageLocation": "./.yarn/cache/node-releases-npm-2.0.8-1733e5f247-b1ab02c0d5.zip/node_modules/node-releases/",\
   6771           "packageDependencies": [\
   6772             ["node-releases", "npm:2.0.8"]\
   6773           ],\
   6774           "linkType": "HARD"\
   6775         }]\
   6776       ]],\
   6777       ["nodemailer", [\
   6778         ["npm:6.9.0", {\
   6779           "packageLocation": "./.yarn/cache/nodemailer-npm-6.9.0-67d1056668-152d38de71.zip/node_modules/nodemailer/",\
   6780           "packageDependencies": [\
   6781             ["nodemailer", "npm:6.9.0"]\
   6782           ],\
   6783           "linkType": "HARD"\
   6784         }]\
   6785       ]],\
   6786       ["nopt", [\
   6787         ["npm:5.0.0", {\
   6788           "packageLocation": "./.yarn/cache/nopt-npm-5.0.0-304b40fbfe-d35fdec187.zip/node_modules/nopt/",\
   6789           "packageDependencies": [\
   6790             ["nopt", "npm:5.0.0"],\
   6791             ["abbrev", "npm:1.1.1"]\
   6792           ],\
   6793           "linkType": "HARD"\
   6794         }],\
   6795         ["npm:6.0.0", {\
   6796           "packageLocation": "./.yarn/cache/nopt-npm-6.0.0-5ea8050815-82149371f8.zip/node_modules/nopt/",\
   6797           "packageDependencies": [\
   6798             ["nopt", "npm:6.0.0"],\
   6799             ["abbrev", "npm:1.1.1"]\
   6800           ],\
   6801           "linkType": "HARD"\
   6802         }]\
   6803       ]],\
   6804       ["normalize-path", [\
   6805         ["npm:3.0.0", {\
   6806           "packageLocation": "./.yarn/cache/normalize-path-npm-3.0.0-658ba7d77f-88eeb4da89.zip/node_modules/normalize-path/",\
   6807           "packageDependencies": [\
   6808             ["normalize-path", "npm:3.0.0"]\
   6809           ],\
   6810           "linkType": "HARD"\
   6811         }]\
   6812       ]],\
   6813       ["npm-run-path", [\
   6814         ["npm:4.0.1", {\
   6815           "packageLocation": "./.yarn/cache/npm-run-path-npm-4.0.1-7aebd8bab3-5374c0cea4.zip/node_modules/npm-run-path/",\
   6816           "packageDependencies": [\
   6817             ["npm-run-path", "npm:4.0.1"],\
   6818             ["path-key", "npm:3.1.1"]\
   6819           ],\
   6820           "linkType": "HARD"\
   6821         }]\
   6822       ]],\
   6823       ["npmlog", [\
   6824         ["npm:5.0.1", {\
   6825           "packageLocation": "./.yarn/cache/npmlog-npm-5.0.1-366cab64a2-516b266302.zip/node_modules/npmlog/",\
   6826           "packageDependencies": [\
   6827             ["npmlog", "npm:5.0.1"],\
   6828             ["are-we-there-yet", "npm:2.0.0"],\
   6829             ["console-control-strings", "npm:1.1.0"],\
   6830             ["gauge", "npm:3.0.2"],\
   6831             ["set-blocking", "npm:2.0.0"]\
   6832           ],\
   6833           "linkType": "HARD"\
   6834         }],\
   6835         ["npm:6.0.2", {\
   6836           "packageLocation": "./.yarn/cache/npmlog-npm-6.0.2-e0e69455c7-ae238cd264.zip/node_modules/npmlog/",\
   6837           "packageDependencies": [\
   6838             ["npmlog", "npm:6.0.2"],\
   6839             ["are-we-there-yet", "npm:3.0.1"],\
   6840             ["console-control-strings", "npm:1.1.0"],\
   6841             ["gauge", "npm:4.0.4"],\
   6842             ["set-blocking", "npm:2.0.0"]\
   6843           ],\
   6844           "linkType": "HARD"\
   6845         }]\
   6846       ]],\
   6847       ["nwsapi", [\
   6848         ["npm:2.2.2", {\
   6849           "packageLocation": "./.yarn/cache/nwsapi-npm-2.2.2-b77040326c-4376910629.zip/node_modules/nwsapi/",\
   6850           "packageDependencies": [\
   6851             ["nwsapi", "npm:2.2.2"]\
   6852           ],\
   6853           "linkType": "HARD"\
   6854         }]\
   6855       ]],\
   6856       ["object-assign", [\
   6857         ["npm:4.1.1", {\
   6858           "packageLocation": "./.yarn/cache/object-assign-npm-4.1.1-1004ad6dec-fcc6e4ea8c.zip/node_modules/object-assign/",\
   6859           "packageDependencies": [\
   6860             ["object-assign", "npm:4.1.1"]\
   6861           ],\
   6862           "linkType": "HARD"\
   6863         }]\
   6864       ]],\
   6865       ["object-inspect", [\
   6866         ["npm:1.12.3", {\
   6867           "packageLocation": "./.yarn/cache/object-inspect-npm-1.12.3-1e7d20f5ff-dabfd824d9.zip/node_modules/object-inspect/",\
   6868           "packageDependencies": [\
   6869             ["object-inspect", "npm:1.12.3"]\
   6870           ],\
   6871           "linkType": "HARD"\
   6872         }]\
   6873       ]],\
   6874       ["object-is", [\
   6875         ["npm:1.1.5", {\
   6876           "packageLocation": "./.yarn/cache/object-is-npm-1.1.5-48a862602b-989b18c4cb.zip/node_modules/object-is/",\
   6877           "packageDependencies": [\
   6878             ["object-is", "npm:1.1.5"],\
   6879             ["call-bind", "npm:1.0.2"],\
   6880             ["define-properties", "npm:1.1.4"]\
   6881           ],\
   6882           "linkType": "HARD"\
   6883         }]\
   6884       ]],\
   6885       ["object-keys", [\
   6886         ["npm:1.1.1", {\
   6887           "packageLocation": "./.yarn/cache/object-keys-npm-1.1.1-1bf2f1be93-b363c5e764.zip/node_modules/object-keys/",\
   6888           "packageDependencies": [\
   6889             ["object-keys", "npm:1.1.1"]\
   6890           ],\
   6891           "linkType": "HARD"\
   6892         }]\
   6893       ]],\
   6894       ["object.assign", [\
   6895         ["npm:4.1.4", {\
   6896           "packageLocation": "./.yarn/cache/object.assign-npm-4.1.4-fb3deb1c3a-76cab513a5.zip/node_modules/object.assign/",\
   6897           "packageDependencies": [\
   6898             ["object.assign", "npm:4.1.4"],\
   6899             ["call-bind", "npm:1.0.2"],\
   6900             ["define-properties", "npm:1.1.4"],\
   6901             ["has-symbols", "npm:1.0.3"],\
   6902             ["object-keys", "npm:1.1.1"]\
   6903           ],\
   6904           "linkType": "HARD"\
   6905         }]\
   6906       ]],\
   6907       ["object.entries", [\
   6908         ["npm:1.1.6", {\
   6909           "packageLocation": "./.yarn/cache/object.entries-npm-1.1.6-5f9ba14b46-0f8c47517e.zip/node_modules/object.entries/",\
   6910           "packageDependencies": [\
   6911             ["object.entries", "npm:1.1.6"],\
   6912             ["call-bind", "npm:1.0.2"],\
   6913             ["define-properties", "npm:1.1.4"],\
   6914             ["es-abstract", "npm:1.21.1"]\
   6915           ],\
   6916           "linkType": "HARD"\
   6917         }]\
   6918       ]],\
   6919       ["object.fromentries", [\
   6920         ["npm:2.0.6", {\
   6921           "packageLocation": "./.yarn/cache/object.fromentries-npm-2.0.6-424cf4cd3c-453c6d6941.zip/node_modules/object.fromentries/",\
   6922           "packageDependencies": [\
   6923             ["object.fromentries", "npm:2.0.6"],\
   6924             ["call-bind", "npm:1.0.2"],\
   6925             ["define-properties", "npm:1.1.4"],\
   6926             ["es-abstract", "npm:1.21.1"]\
   6927           ],\
   6928           "linkType": "HARD"\
   6929         }]\
   6930       ]],\
   6931       ["object.hasown", [\
   6932         ["npm:1.1.2", {\
   6933           "packageLocation": "./.yarn/cache/object.hasown-npm-1.1.2-db9bbc7f97-b936572536.zip/node_modules/object.hasown/",\
   6934           "packageDependencies": [\
   6935             ["object.hasown", "npm:1.1.2"],\
   6936             ["define-properties", "npm:1.1.4"],\
   6937             ["es-abstract", "npm:1.21.1"]\
   6938           ],\
   6939           "linkType": "HARD"\
   6940         }]\
   6941       ]],\
   6942       ["object.values", [\
   6943         ["npm:1.1.6", {\
   6944           "packageLocation": "./.yarn/cache/object.values-npm-1.1.6-ab9b67ccd3-f6fff9fd81.zip/node_modules/object.values/",\
   6945           "packageDependencies": [\
   6946             ["object.values", "npm:1.1.6"],\
   6947             ["call-bind", "npm:1.0.2"],\
   6948             ["define-properties", "npm:1.1.4"],\
   6949             ["es-abstract", "npm:1.21.1"]\
   6950           ],\
   6951           "linkType": "HARD"\
   6952         }]\
   6953       ]],\
   6954       ["on-exit-leak-free", [\
   6955         ["npm:2.1.0", {\
   6956           "packageLocation": "./.yarn/cache/on-exit-leak-free-npm-2.1.0-b522202aa1-7334d98b87.zip/node_modules/on-exit-leak-free/",\
   6957           "packageDependencies": [\
   6958             ["on-exit-leak-free", "npm:2.1.0"]\
   6959           ],\
   6960           "linkType": "HARD"\
   6961         }]\
   6962       ]],\
   6963       ["once", [\
   6964         ["npm:1.4.0", {\
   6965           "packageLocation": "./.yarn/cache/once-npm-1.4.0-ccf03ef07a-cd0a885013.zip/node_modules/once/",\
   6966           "packageDependencies": [\
   6967             ["once", "npm:1.4.0"],\
   6968             ["wrappy", "npm:1.0.2"]\
   6969           ],\
   6970           "linkType": "HARD"\
   6971         }]\
   6972       ]],\
   6973       ["onetime", [\
   6974         ["npm:5.1.2", {\
   6975           "packageLocation": "./.yarn/cache/onetime-npm-5.1.2-3ed148fa42-2478859ef8.zip/node_modules/onetime/",\
   6976           "packageDependencies": [\
   6977             ["onetime", "npm:5.1.2"],\
   6978             ["mimic-fn", "npm:2.1.0"]\
   6979           ],\
   6980           "linkType": "HARD"\
   6981         }]\
   6982       ]],\
   6983       ["open", [\
   6984         ["npm:8.4.0", {\
   6985           "packageLocation": "./.yarn/unplugged/open-npm-8.4.0-df63cfe537/node_modules/open/",\
   6986           "packageDependencies": [\
   6987             ["open", "npm:8.4.0"],\
   6988             ["define-lazy-prop", "npm:2.0.0"],\
   6989             ["is-docker", "npm:2.2.1"],\
   6990             ["is-wsl", "npm:2.2.0"]\
   6991           ],\
   6992           "linkType": "HARD"\
   6993         }]\
   6994       ]],\
   6995       ["optionator", [\
   6996         ["npm:0.8.3", {\
   6997           "packageLocation": "./.yarn/cache/optionator-npm-0.8.3-bc555bc5b7-b8695ddf3d.zip/node_modules/optionator/",\
   6998           "packageDependencies": [\
   6999             ["optionator", "npm:0.8.3"],\
   7000             ["deep-is", "npm:0.1.4"],\
   7001             ["fast-levenshtein", "npm:2.0.6"],\
   7002             ["levn", "npm:0.3.0"],\
   7003             ["prelude-ls", "npm:1.1.2"],\
   7004             ["type-check", "npm:0.3.2"],\
   7005             ["word-wrap", "npm:1.2.3"]\
   7006           ],\
   7007           "linkType": "HARD"\
   7008         }],\
   7009         ["npm:0.9.1", {\
   7010           "packageLocation": "./.yarn/cache/optionator-npm-0.9.1-577e397aae-dbc6fa0656.zip/node_modules/optionator/",\
   7011           "packageDependencies": [\
   7012             ["optionator", "npm:0.9.1"],\
   7013             ["deep-is", "npm:0.1.4"],\
   7014             ["fast-levenshtein", "npm:2.0.6"],\
   7015             ["levn", "npm:0.4.1"],\
   7016             ["prelude-ls", "npm:1.2.1"],\
   7017             ["type-check", "npm:0.4.0"],\
   7018             ["word-wrap", "npm:1.2.3"]\
   7019           ],\
   7020           "linkType": "HARD"\
   7021         }]\
   7022       ]],\
   7023       ["p-limit", [\
   7024         ["npm:2.3.0", {\
   7025           "packageLocation": "./.yarn/cache/p-limit-npm-2.3.0-94a0310039-84ff17f1a3.zip/node_modules/p-limit/",\
   7026           "packageDependencies": [\
   7027             ["p-limit", "npm:2.3.0"],\
   7028             ["p-try", "npm:2.2.0"]\
   7029           ],\
   7030           "linkType": "HARD"\
   7031         }],\
   7032         ["npm:3.1.0", {\
   7033           "packageLocation": "./.yarn/cache/p-limit-npm-3.1.0-05d2ede37f-7c3690c4db.zip/node_modules/p-limit/",\
   7034           "packageDependencies": [\
   7035             ["p-limit", "npm:3.1.0"],\
   7036             ["yocto-queue", "npm:0.1.0"]\
   7037           ],\
   7038           "linkType": "HARD"\
   7039         }]\
   7040       ]],\
   7041       ["p-locate", [\
   7042         ["npm:4.1.0", {\
   7043           "packageLocation": "./.yarn/cache/p-locate-npm-4.1.0-eec6872537-513bd14a45.zip/node_modules/p-locate/",\
   7044           "packageDependencies": [\
   7045             ["p-locate", "npm:4.1.0"],\
   7046             ["p-limit", "npm:2.3.0"]\
   7047           ],\
   7048           "linkType": "HARD"\
   7049         }],\
   7050         ["npm:5.0.0", {\
   7051           "packageLocation": "./.yarn/cache/p-locate-npm-5.0.0-92cc7c7a3e-1623088f36.zip/node_modules/p-locate/",\
   7052           "packageDependencies": [\
   7053             ["p-locate", "npm:5.0.0"],\
   7054             ["p-limit", "npm:3.1.0"]\
   7055           ],\
   7056           "linkType": "HARD"\
   7057         }]\
   7058       ]],\
   7059       ["p-map", [\
   7060         ["npm:4.0.0", {\
   7061           "packageLocation": "./.yarn/cache/p-map-npm-4.0.0-4677ae07c7-cb0ab21ec0.zip/node_modules/p-map/",\
   7062           "packageDependencies": [\
   7063             ["p-map", "npm:4.0.0"],\
   7064             ["aggregate-error", "npm:3.1.0"]\
   7065           ],\
   7066           "linkType": "HARD"\
   7067         }]\
   7068       ]],\
   7069       ["p-try", [\
   7070         ["npm:2.2.0", {\
   7071           "packageLocation": "./.yarn/cache/p-try-npm-2.2.0-e0390dbaf8-f8a8e9a769.zip/node_modules/p-try/",\
   7072           "packageDependencies": [\
   7073             ["p-try", "npm:2.2.0"]\
   7074           ],\
   7075           "linkType": "HARD"\
   7076         }]\
   7077       ]],\
   7078       ["parent-module", [\
   7079         ["npm:1.0.1", {\
   7080           "packageLocation": "./.yarn/cache/parent-module-npm-1.0.1-1fae11b095-6ba8b25514.zip/node_modules/parent-module/",\
   7081           "packageDependencies": [\
   7082             ["parent-module", "npm:1.0.1"],\
   7083             ["callsites", "npm:3.1.0"]\
   7084           ],\
   7085           "linkType": "HARD"\
   7086         }]\
   7087       ]],\
   7088       ["parse-json", [\
   7089         ["npm:5.2.0", {\
   7090           "packageLocation": "./.yarn/cache/parse-json-npm-5.2.0-00a63b1199-62085b17d6.zip/node_modules/parse-json/",\
   7091           "packageDependencies": [\
   7092             ["parse-json", "npm:5.2.0"],\
   7093             ["@babel/code-frame", "npm:7.18.6"],\
   7094             ["error-ex", "npm:1.3.2"],\
   7095             ["json-parse-even-better-errors", "npm:2.3.1"],\
   7096             ["lines-and-columns", "npm:1.2.4"]\
   7097           ],\
   7098           "linkType": "HARD"\
   7099         }]\
   7100       ]],\
   7101       ["parse5", [\
   7102         ["npm:7.1.2", {\
   7103           "packageLocation": "./.yarn/cache/parse5-npm-7.1.2-aa9a92c270-59465dd05e.zip/node_modules/parse5/",\
   7104           "packageDependencies": [\
   7105             ["parse5", "npm:7.1.2"],\
   7106             ["entities", "npm:4.4.0"]\
   7107           ],\
   7108           "linkType": "HARD"\
   7109         }]\
   7110       ]],\
   7111       ["path-exists", [\
   7112         ["npm:4.0.0", {\
   7113           "packageLocation": "./.yarn/cache/path-exists-npm-4.0.0-e9e4f63eb0-505807199d.zip/node_modules/path-exists/",\
   7114           "packageDependencies": [\
   7115             ["path-exists", "npm:4.0.0"]\
   7116           ],\
   7117           "linkType": "HARD"\
   7118         }]\
   7119       ]],\
   7120       ["path-is-absolute", [\
   7121         ["npm:1.0.1", {\
   7122           "packageLocation": "./.yarn/cache/path-is-absolute-npm-1.0.1-31bc695ffd-060840f92c.zip/node_modules/path-is-absolute/",\
   7123           "packageDependencies": [\
   7124             ["path-is-absolute", "npm:1.0.1"]\
   7125           ],\
   7126           "linkType": "HARD"\
   7127         }]\
   7128       ]],\
   7129       ["path-key", [\
   7130         ["npm:3.1.1", {\
   7131           "packageLocation": "./.yarn/cache/path-key-npm-3.1.1-0e66ea8321-55cd7a9dd4.zip/node_modules/path-key/",\
   7132           "packageDependencies": [\
   7133             ["path-key", "npm:3.1.1"]\
   7134           ],\
   7135           "linkType": "HARD"\
   7136         }]\
   7137       ]],\
   7138       ["path-parse", [\
   7139         ["npm:1.0.7", {\
   7140           "packageLocation": "./.yarn/cache/path-parse-npm-1.0.7-09564527b7-49abf3d811.zip/node_modules/path-parse/",\
   7141           "packageDependencies": [\
   7142             ["path-parse", "npm:1.0.7"]\
   7143           ],\
   7144           "linkType": "HARD"\
   7145         }]\
   7146       ]],\
   7147       ["path-type", [\
   7148         ["npm:4.0.0", {\
   7149           "packageLocation": "./.yarn/cache/path-type-npm-4.0.0-10d47fc86a-5b1e2daa24.zip/node_modules/path-type/",\
   7150           "packageDependencies": [\
   7151             ["path-type", "npm:4.0.0"]\
   7152           ],\
   7153           "linkType": "HARD"\
   7154         }]\
   7155       ]],\
   7156       ["picocolors", [\
   7157         ["npm:1.0.0", {\
   7158           "packageLocation": "./.yarn/cache/picocolors-npm-1.0.0-d81e0b1927-a2e8092dd8.zip/node_modules/picocolors/",\
   7159           "packageDependencies": [\
   7160             ["picocolors", "npm:1.0.0"]\
   7161           ],\
   7162           "linkType": "HARD"\
   7163         }]\
   7164       ]],\
   7165       ["picomatch", [\
   7166         ["npm:2.3.1", {\
   7167           "packageLocation": "./.yarn/cache/picomatch-npm-2.3.1-c782cfd986-050c865ce8.zip/node_modules/picomatch/",\
   7168           "packageDependencies": [\
   7169             ["picomatch", "npm:2.3.1"]\
   7170           ],\
   7171           "linkType": "HARD"\
   7172         }]\
   7173       ]],\
   7174       ["pino", [\
   7175         ["npm:8.8.0", {\
   7176           "packageLocation": "./.yarn/cache/pino-npm-8.8.0-827ae46607-6925646922.zip/node_modules/pino/",\
   7177           "packageDependencies": [\
   7178             ["pino", "npm:8.8.0"],\
   7179             ["atomic-sleep", "npm:1.0.0"],\
   7180             ["fast-redact", "npm:3.1.2"],\
   7181             ["on-exit-leak-free", "npm:2.1.0"],\
   7182             ["pino-abstract-transport", "npm:1.0.0"],\
   7183             ["pino-std-serializers", "npm:6.1.0"],\
   7184             ["process-warning", "npm:2.1.0"],\
   7185             ["quick-format-unescaped", "npm:4.0.4"],\
   7186             ["real-require", "npm:0.2.0"],\
   7187             ["safe-stable-stringify", "npm:2.4.2"],\
   7188             ["sonic-boom", "npm:3.2.1"],\
   7189             ["thread-stream", "npm:2.3.0"]\
   7190           ],\
   7191           "linkType": "HARD"\
   7192         }]\
   7193       ]],\
   7194       ["pino-abstract-transport", [\
   7195         ["npm:1.0.0", {\
   7196           "packageLocation": "./.yarn/cache/pino-abstract-transport-npm-1.0.0-a566611547-05dd0eda52.zip/node_modules/pino-abstract-transport/",\
   7197           "packageDependencies": [\
   7198             ["pino-abstract-transport", "npm:1.0.0"],\
   7199             ["readable-stream", "npm:4.3.0"],\
   7200             ["split2", "npm:4.1.0"]\
   7201           ],\
   7202           "linkType": "HARD"\
   7203         }]\
   7204       ]],\
   7205       ["pino-std-serializers", [\
   7206         ["npm:6.1.0", {\
   7207           "packageLocation": "./.yarn/cache/pino-std-serializers-npm-6.1.0-849611aa5b-5e42327c24.zip/node_modules/pino-std-serializers/",\
   7208           "packageDependencies": [\
   7209             ["pino-std-serializers", "npm:6.1.0"]\
   7210           ],\
   7211           "linkType": "HARD"\
   7212         }]\
   7213       ]],\
   7214       ["pirates", [\
   7215         ["npm:4.0.5", {\
   7216           "packageLocation": "./.yarn/cache/pirates-npm-4.0.5-22f8e827ce-c9994e61b8.zip/node_modules/pirates/",\
   7217           "packageDependencies": [\
   7218             ["pirates", "npm:4.0.5"]\
   7219           ],\
   7220           "linkType": "HARD"\
   7221         }]\
   7222       ]],\
   7223       ["pkg-dir", [\
   7224         ["npm:4.2.0", {\
   7225           "packageLocation": "./.yarn/cache/pkg-dir-npm-4.2.0-2b5d0a8d32-9863e3f351.zip/node_modules/pkg-dir/",\
   7226           "packageDependencies": [\
   7227             ["pkg-dir", "npm:4.2.0"],\
   7228             ["find-up", "npm:4.1.0"]\
   7229           ],\
   7230           "linkType": "HARD"\
   7231         }]\
   7232       ]],\
   7233       ["postcss", [\
   7234         ["npm:8.4.14", {\
   7235           "packageLocation": "./.yarn/cache/postcss-npm-8.4.14-c0d448b728-fe58766ff3.zip/node_modules/postcss/",\
   7236           "packageDependencies": [\
   7237             ["postcss", "npm:8.4.14"],\
   7238             ["nanoid", "npm:3.3.4"],\
   7239             ["picocolors", "npm:1.0.0"],\
   7240             ["source-map-js", "npm:1.0.2"]\
   7241           ],\
   7242           "linkType": "HARD"\
   7243         }]\
   7244       ]],\
   7245       ["prelude-ls", [\
   7246         ["npm:1.1.2", {\
   7247           "packageLocation": "./.yarn/cache/prelude-ls-npm-1.1.2-a0daac0886-c4867c8748.zip/node_modules/prelude-ls/",\
   7248           "packageDependencies": [\
   7249             ["prelude-ls", "npm:1.1.2"]\
   7250           ],\
   7251           "linkType": "HARD"\
   7252         }],\
   7253         ["npm:1.2.1", {\
   7254           "packageLocation": "./.yarn/cache/prelude-ls-npm-1.2.1-3e4d272a55-cd192ec0d0.zip/node_modules/prelude-ls/",\
   7255           "packageDependencies": [\
   7256             ["prelude-ls", "npm:1.2.1"]\
   7257           ],\
   7258           "linkType": "HARD"\
   7259         }]\
   7260       ]],\
   7261       ["pretty-format", [\
   7262         ["npm:27.5.1", {\
   7263           "packageLocation": "./.yarn/cache/pretty-format-npm-27.5.1-cd7d49696f-cf610cffcb.zip/node_modules/pretty-format/",\
   7264           "packageDependencies": [\
   7265             ["pretty-format", "npm:27.5.1"],\
   7266             ["ansi-regex", "npm:5.0.1"],\
   7267             ["ansi-styles", "npm:5.2.0"],\
   7268             ["react-is", "npm:17.0.2"]\
   7269           ],\
   7270           "linkType": "HARD"\
   7271         }],\
   7272         ["npm:29.3.1", {\
   7273           "packageLocation": "./.yarn/cache/pretty-format-npm-29.3.1-cf42cb4acb-9917a0bb85.zip/node_modules/pretty-format/",\
   7274           "packageDependencies": [\
   7275             ["pretty-format", "npm:29.3.1"],\
   7276             ["@jest/schemas", "npm:29.0.0"],\
   7277             ["ansi-styles", "npm:5.2.0"],\
   7278             ["react-is", "npm:18.2.0"]\
   7279           ],\
   7280           "linkType": "HARD"\
   7281         }]\
   7282       ]],\
   7283       ["process", [\
   7284         ["npm:0.11.10", {\
   7285           "packageLocation": "./.yarn/cache/process-npm-0.11.10-aeb3b641ae-bfcce49814.zip/node_modules/process/",\
   7286           "packageDependencies": [\
   7287             ["process", "npm:0.11.10"]\
   7288           ],\
   7289           "linkType": "HARD"\
   7290         }]\
   7291       ]],\
   7292       ["process-warning", [\
   7293         ["npm:2.1.0", {\
   7294           "packageLocation": "./.yarn/cache/process-warning-npm-2.1.0-9e82ce3778-2f22a3b8ec.zip/node_modules/process-warning/",\
   7295           "packageDependencies": [\
   7296             ["process-warning", "npm:2.1.0"]\
   7297           ],\
   7298           "linkType": "HARD"\
   7299         }]\
   7300       ]],\
   7301       ["promise-inflight", [\
   7302         ["npm:1.0.1", {\
   7303           "packageLocation": "./.yarn/cache/promise-inflight-npm-1.0.1-5bb925afac-2274948309.zip/node_modules/promise-inflight/",\
   7304           "packageDependencies": [\
   7305             ["promise-inflight", "npm:1.0.1"]\
   7306           ],\
   7307           "linkType": "SOFT"\
   7308         }],\
   7309         ["virtual:4e2088ed0df52533102f445d7e7aeba6560b7effa0cabbc7cc20dd1e36a86dd838cc541de4414688f4ce3ec77b0ad5298cea6de581350d934ceb35c3e0fe3462#npm:1.0.1", {\
   7310           "packageLocation": "./.yarn/__virtual__/promise-inflight-virtual-faec2dbb37/0/cache/promise-inflight-npm-1.0.1-5bb925afac-2274948309.zip/node_modules/promise-inflight/",\
   7311           "packageDependencies": [\
   7312             ["promise-inflight", "virtual:4e2088ed0df52533102f445d7e7aeba6560b7effa0cabbc7cc20dd1e36a86dd838cc541de4414688f4ce3ec77b0ad5298cea6de581350d934ceb35c3e0fe3462#npm:1.0.1"],\
   7313             ["@types/bluebird", null],\
   7314             ["bluebird", null]\
   7315           ],\
   7316           "packagePeers": [\
   7317             "@types/bluebird",\
   7318             "bluebird"\
   7319           ],\
   7320           "linkType": "HARD"\
   7321         }]\
   7322       ]],\
   7323       ["promise-retry", [\
   7324         ["npm:2.0.1", {\
   7325           "packageLocation": "./.yarn/cache/promise-retry-npm-2.0.1-871f0b01b7-f96a3f6d90.zip/node_modules/promise-retry/",\
   7326           "packageDependencies": [\
   7327             ["promise-retry", "npm:2.0.1"],\
   7328             ["err-code", "npm:2.0.3"],\
   7329             ["retry", "npm:0.12.0"]\
   7330           ],\
   7331           "linkType": "HARD"\
   7332         }]\
   7333       ]],\
   7334       ["prompts", [\
   7335         ["npm:2.4.2", {\
   7336           "packageLocation": "./.yarn/cache/prompts-npm-2.4.2-f5d25d5eea-d8fd1fe638.zip/node_modules/prompts/",\
   7337           "packageDependencies": [\
   7338             ["prompts", "npm:2.4.2"],\
   7339             ["kleur", "npm:3.0.3"],\
   7340             ["sisteransi", "npm:1.0.5"]\
   7341           ],\
   7342           "linkType": "HARD"\
   7343         }]\
   7344       ]],\
   7345       ["prop-types", [\
   7346         ["npm:15.8.1", {\
   7347           "packageLocation": "./.yarn/cache/prop-types-npm-15.8.1-17c71ee7ee-c056d3f1c0.zip/node_modules/prop-types/",\
   7348           "packageDependencies": [\
   7349             ["prop-types", "npm:15.8.1"],\
   7350             ["loose-envify", "npm:1.4.0"],\
   7351             ["object-assign", "npm:4.1.1"],\
   7352             ["react-is", "npm:16.13.1"]\
   7353           ],\
   7354           "linkType": "HARD"\
   7355         }]\
   7356       ]],\
   7357       ["psl", [\
   7358         ["npm:1.9.0", {\
   7359           "packageLocation": "./.yarn/cache/psl-npm-1.9.0-a546edad1a-20c4277f64.zip/node_modules/psl/",\
   7360           "packageDependencies": [\
   7361             ["psl", "npm:1.9.0"]\
   7362           ],\
   7363           "linkType": "HARD"\
   7364         }]\
   7365       ]],\
   7366       ["punycode", [\
   7367         ["npm:2.2.0", {\
   7368           "packageLocation": "./.yarn/cache/punycode-npm-2.2.0-9eb533dae1-32f291c1b1.zip/node_modules/punycode/",\
   7369           "packageDependencies": [\
   7370             ["punycode", "npm:2.2.0"]\
   7371           ],\
   7372           "linkType": "HARD"\
   7373         }]\
   7374       ]],\
   7375       ["querystringify", [\
   7376         ["npm:2.2.0", {\
   7377           "packageLocation": "./.yarn/cache/querystringify-npm-2.2.0-4e77c9f606-5641ea231b.zip/node_modules/querystringify/",\
   7378           "packageDependencies": [\
   7379             ["querystringify", "npm:2.2.0"]\
   7380           ],\
   7381           "linkType": "HARD"\
   7382         }]\
   7383       ]],\
   7384       ["queue-microtask", [\
   7385         ["npm:1.2.3", {\
   7386           "packageLocation": "./.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-b676f8c040.zip/node_modules/queue-microtask/",\
   7387           "packageDependencies": [\
   7388             ["queue-microtask", "npm:1.2.3"]\
   7389           ],\
   7390           "linkType": "HARD"\
   7391         }]\
   7392       ]],\
   7393       ["quick-format-unescaped", [\
   7394         ["npm:4.0.4", {\
   7395           "packageLocation": "./.yarn/cache/quick-format-unescaped-npm-4.0.4-7e22c9b7dc-7bc32b9935.zip/node_modules/quick-format-unescaped/",\
   7396           "packageDependencies": [\
   7397             ["quick-format-unescaped", "npm:4.0.4"]\
   7398           ],\
   7399           "linkType": "HARD"\
   7400         }]\
   7401       ]],\
   7402       ["react", [\
   7403         ["npm:18.2.0", {\
   7404           "packageLocation": "./.yarn/cache/react-npm-18.2.0-1eae08fee2-88e38092da.zip/node_modules/react/",\
   7405           "packageDependencies": [\
   7406             ["react", "npm:18.2.0"],\
   7407             ["loose-envify", "npm:1.4.0"]\
   7408           ],\
   7409           "linkType": "HARD"\
   7410         }]\
   7411       ]],\
   7412       ["react-dom", [\
   7413         ["npm:18.2.0", {\
   7414           "packageLocation": "./.yarn/cache/react-dom-npm-18.2.0-dd675bca1c-7d323310be.zip/node_modules/react-dom/",\
   7415           "packageDependencies": [\
   7416             ["react-dom", "npm:18.2.0"]\
   7417           ],\
   7418           "linkType": "SOFT"\
   7419         }],\
   7420         ["virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:18.2.0", {\
   7421           "packageLocation": "./.yarn/__virtual__/react-dom-virtual-ef6d631745/0/cache/react-dom-npm-18.2.0-dd675bca1c-7d323310be.zip/node_modules/react-dom/",\
   7422           "packageDependencies": [\
   7423             ["react-dom", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:18.2.0"],\
   7424             ["@types/react", "npm:18.0.26"],\
   7425             ["loose-envify", "npm:1.4.0"],\
   7426             ["react", "npm:18.2.0"],\
   7427             ["scheduler", "npm:0.23.0"]\
   7428           ],\
   7429           "packagePeers": [\
   7430             "@types/react",\
   7431             "react"\
   7432           ],\
   7433           "linkType": "HARD"\
   7434         }]\
   7435       ]],\
   7436       ["react-hot-toast", [\
   7437         ["npm:2.4.0", {\
   7438           "packageLocation": "./.yarn/cache/react-hot-toast-npm-2.4.0-df9434bc58-910214496d.zip/node_modules/react-hot-toast/",\
   7439           "packageDependencies": [\
   7440             ["react-hot-toast", "npm:2.4.0"]\
   7441           ],\
   7442           "linkType": "SOFT"\
   7443         }],\
   7444         ["virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:2.4.0", {\
   7445           "packageLocation": "./.yarn/__virtual__/react-hot-toast-virtual-fb9c773472/0/cache/react-hot-toast-npm-2.4.0-df9434bc58-910214496d.zip/node_modules/react-hot-toast/",\
   7446           "packageDependencies": [\
   7447             ["react-hot-toast", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:2.4.0"],\
   7448             ["@types/react", "npm:18.0.26"],\
   7449             ["@types/react-dom", "npm:18.0.10"],\
   7450             ["goober", "virtual:fb9c7734729e35124b57143a9a3090a64e7de6291d24560db9b56f966d0cf34bbc3d7321078118671e0aae2410d649021f8bac248a2e89fc41bf77987f9c3d18#npm:2.1.11"],\
   7451             ["react", "npm:18.2.0"],\
   7452             ["react-dom", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:18.2.0"]\
   7453           ],\
   7454           "packagePeers": [\
   7455             "@types/react-dom",\
   7456             "@types/react",\
   7457             "react-dom",\
   7458             "react"\
   7459           ],\
   7460           "linkType": "HARD"\
   7461         }]\
   7462       ]],\
   7463       ["react-is", [\
   7464         ["npm:16.13.1", {\
   7465           "packageLocation": "./.yarn/cache/react-is-npm-16.13.1-a9b9382b4f-f7a19ac349.zip/node_modules/react-is/",\
   7466           "packageDependencies": [\
   7467             ["react-is", "npm:16.13.1"]\
   7468           ],\
   7469           "linkType": "HARD"\
   7470         }],\
   7471         ["npm:17.0.2", {\
   7472           "packageLocation": "./.yarn/cache/react-is-npm-17.0.2-091bbb8db6-9d6d111d89.zip/node_modules/react-is/",\
   7473           "packageDependencies": [\
   7474             ["react-is", "npm:17.0.2"]\
   7475           ],\
   7476           "linkType": "HARD"\
   7477         }],\
   7478         ["npm:18.2.0", {\
   7479           "packageLocation": "./.yarn/cache/react-is-npm-18.2.0-0cc5edb910-e72d0ba81b.zip/node_modules/react-is/",\
   7480           "packageDependencies": [\
   7481             ["react-is", "npm:18.2.0"]\
   7482           ],\
   7483           "linkType": "HARD"\
   7484         }]\
   7485       ]],\
   7486       ["readable-stream", [\
   7487         ["npm:3.6.0", {\
   7488           "packageLocation": "./.yarn/cache/readable-stream-npm-3.6.0-23a4a5eb56-d4ea81502d.zip/node_modules/readable-stream/",\
   7489           "packageDependencies": [\
   7490             ["readable-stream", "npm:3.6.0"],\
   7491             ["inherits", "npm:2.0.4"],\
   7492             ["string_decoder", "npm:1.3.0"],\
   7493             ["util-deprecate", "npm:1.0.2"]\
   7494           ],\
   7495           "linkType": "HARD"\
   7496         }],\
   7497         ["npm:4.3.0", {\
   7498           "packageLocation": "./.yarn/cache/readable-stream-npm-4.3.0-11c60fc281-5f8d5fc1eb.zip/node_modules/readable-stream/",\
   7499           "packageDependencies": [\
   7500             ["readable-stream", "npm:4.3.0"],\
   7501             ["abort-controller", "npm:3.0.0"],\
   7502             ["buffer", "npm:6.0.3"],\
   7503             ["events", "npm:3.3.0"],\
   7504             ["process", "npm:0.11.10"]\
   7505           ],\
   7506           "linkType": "HARD"\
   7507         }]\
   7508       ]],\
   7509       ["readdirp", [\
   7510         ["npm:3.6.0", {\
   7511           "packageLocation": "./.yarn/cache/readdirp-npm-3.6.0-f950cc74ab-1ced032e6e.zip/node_modules/readdirp/",\
   7512           "packageDependencies": [\
   7513             ["readdirp", "npm:3.6.0"],\
   7514             ["picomatch", "npm:2.3.1"]\
   7515           ],\
   7516           "linkType": "HARD"\
   7517         }]\
   7518       ]],\
   7519       ["real-require", [\
   7520         ["npm:0.2.0", {\
   7521           "packageLocation": "./.yarn/cache/real-require-npm-0.2.0-7f69dbc7b6-fa060f19f2.zip/node_modules/real-require/",\
   7522           "packageDependencies": [\
   7523             ["real-require", "npm:0.2.0"]\
   7524           ],\
   7525           "linkType": "HARD"\
   7526         }]\
   7527       ]],\
   7528       ["redent", [\
   7529         ["npm:3.0.0", {\
   7530           "packageLocation": "./.yarn/cache/redent-npm-3.0.0-31892f4906-fa1ef20404.zip/node_modules/redent/",\
   7531           "packageDependencies": [\
   7532             ["redent", "npm:3.0.0"],\
   7533             ["indent-string", "npm:4.0.0"],\
   7534             ["strip-indent", "npm:3.0.0"]\
   7535           ],\
   7536           "linkType": "HARD"\
   7537         }]\
   7538       ]],\
   7539       ["redis", [\
   7540         ["npm:4.6.1", {\
   7541           "packageLocation": "./.yarn/cache/redis-npm-4.6.1-69fb823c06-0fc9811f4e.zip/node_modules/redis/",\
   7542           "packageDependencies": [\
   7543             ["redis", "npm:4.6.1"],\
   7544             ["@redis/bloom", "virtual:69fb823c06ba220e04106d60001a379cfbc41d4af4686d144cafeec2b1ef7ae478d490b2f27c6d3898fad210fb40aca27c942d5185cb9a3a1af894397b6b1841#npm:1.2.0"],\
   7545             ["@redis/client", "npm:1.5.2"],\
   7546             ["@redis/graph", "virtual:69fb823c06ba220e04106d60001a379cfbc41d4af4686d144cafeec2b1ef7ae478d490b2f27c6d3898fad210fb40aca27c942d5185cb9a3a1af894397b6b1841#npm:1.1.0"],\
   7547             ["@redis/json", "virtual:69fb823c06ba220e04106d60001a379cfbc41d4af4686d144cafeec2b1ef7ae478d490b2f27c6d3898fad210fb40aca27c942d5185cb9a3a1af894397b6b1841#npm:1.0.4"],\
   7548             ["@redis/search", "virtual:69fb823c06ba220e04106d60001a379cfbc41d4af4686d144cafeec2b1ef7ae478d490b2f27c6d3898fad210fb40aca27c942d5185cb9a3a1af894397b6b1841#npm:1.1.1"],\
   7549             ["@redis/time-series", "virtual:69fb823c06ba220e04106d60001a379cfbc41d4af4686d144cafeec2b1ef7ae478d490b2f27c6d3898fad210fb40aca27c942d5185cb9a3a1af894397b6b1841#npm:1.0.4"]\
   7550           ],\
   7551           "linkType": "HARD"\
   7552         }]\
   7553       ]],\
   7554       ["regenerator-runtime", [\
   7555         ["npm:0.13.11", {\
   7556           "packageLocation": "./.yarn/cache/regenerator-runtime-npm-0.13.11-90bf536060-27481628d2.zip/node_modules/regenerator-runtime/",\
   7557           "packageDependencies": [\
   7558             ["regenerator-runtime", "npm:0.13.11"]\
   7559           ],\
   7560           "linkType": "HARD"\
   7561         }]\
   7562       ]],\
   7563       ["regexp.prototype.flags", [\
   7564         ["npm:1.4.3", {\
   7565           "packageLocation": "./.yarn/cache/regexp.prototype.flags-npm-1.4.3-df1c08b65d-51228bae73.zip/node_modules/regexp.prototype.flags/",\
   7566           "packageDependencies": [\
   7567             ["regexp.prototype.flags", "npm:1.4.3"],\
   7568             ["call-bind", "npm:1.0.2"],\
   7569             ["define-properties", "npm:1.1.4"],\
   7570             ["functions-have-names", "npm:1.2.3"]\
   7571           ],\
   7572           "linkType": "HARD"\
   7573         }]\
   7574       ]],\
   7575       ["regexpp", [\
   7576         ["npm:3.2.0", {\
   7577           "packageLocation": "./.yarn/cache/regexpp-npm-3.2.0-2513f32cfc-a78dc5c715.zip/node_modules/regexpp/",\
   7578           "packageDependencies": [\
   7579             ["regexpp", "npm:3.2.0"]\
   7580           ],\
   7581           "linkType": "HARD"\
   7582         }]\
   7583       ]],\
   7584       ["require-directory", [\
   7585         ["npm:2.1.1", {\
   7586           "packageLocation": "./.yarn/cache/require-directory-npm-2.1.1-8608aee50b-fb47e70bf0.zip/node_modules/require-directory/",\
   7587           "packageDependencies": [\
   7588             ["require-directory", "npm:2.1.1"]\
   7589           ],\
   7590           "linkType": "HARD"\
   7591         }]\
   7592       ]],\
   7593       ["requires-port", [\
   7594         ["npm:1.0.0", {\
   7595           "packageLocation": "./.yarn/cache/requires-port-npm-1.0.0-fd036b488a-eee0e303ad.zip/node_modules/requires-port/",\
   7596           "packageDependencies": [\
   7597             ["requires-port", "npm:1.0.0"]\
   7598           ],\
   7599           "linkType": "HARD"\
   7600         }]\
   7601       ]],\
   7602       ["resolve", [\
   7603         ["patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=c3c19d", {\
   7604           "packageLocation": "./.yarn/cache/resolve-patch-0c52e0e4f7-5656f4d0be.zip/node_modules/resolve/",\
   7605           "packageDependencies": [\
   7606             ["resolve", "patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=c3c19d"],\
   7607             ["is-core-module", "npm:2.11.0"],\
   7608             ["path-parse", "npm:1.0.7"],\
   7609             ["supports-preserve-symlinks-flag", "npm:1.0.0"]\
   7610           ],\
   7611           "linkType": "HARD"\
   7612         }],\
   7613         ["patch:resolve@npm%3A2.0.0-next.4#~builtin<compat/resolve>::version=2.0.0-next.4&hash=c3c19d", {\
   7614           "packageLocation": "./.yarn/cache/resolve-patch-34cda421ec-4bf9f4f8a4.zip/node_modules/resolve/",\
   7615           "packageDependencies": [\
   7616             ["resolve", "patch:resolve@npm%3A2.0.0-next.4#~builtin<compat/resolve>::version=2.0.0-next.4&hash=c3c19d"],\
   7617             ["is-core-module", "npm:2.11.0"],\
   7618             ["path-parse", "npm:1.0.7"],\
   7619             ["supports-preserve-symlinks-flag", "npm:1.0.0"]\
   7620           ],\
   7621           "linkType": "HARD"\
   7622         }]\
   7623       ]],\
   7624       ["resolve-cwd", [\
   7625         ["npm:3.0.0", {\
   7626           "packageLocation": "./.yarn/cache/resolve-cwd-npm-3.0.0-e6f4e296bf-546e081601.zip/node_modules/resolve-cwd/",\
   7627           "packageDependencies": [\
   7628             ["resolve-cwd", "npm:3.0.0"],\
   7629             ["resolve-from", "npm:5.0.0"]\
   7630           ],\
   7631           "linkType": "HARD"\
   7632         }]\
   7633       ]],\
   7634       ["resolve-from", [\
   7635         ["npm:4.0.0", {\
   7636           "packageLocation": "./.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-f4ba0b8494.zip/node_modules/resolve-from/",\
   7637           "packageDependencies": [\
   7638             ["resolve-from", "npm:4.0.0"]\
   7639           ],\
   7640           "linkType": "HARD"\
   7641         }],\
   7642         ["npm:5.0.0", {\
   7643           "packageLocation": "./.yarn/cache/resolve-from-npm-5.0.0-15c9db4d33-4ceeb9113e.zip/node_modules/resolve-from/",\
   7644           "packageDependencies": [\
   7645             ["resolve-from", "npm:5.0.0"]\
   7646           ],\
   7647           "linkType": "HARD"\
   7648         }]\
   7649       ]],\
   7650       ["resolve.exports", [\
   7651         ["npm:1.1.1", {\
   7652           "packageLocation": "./.yarn/cache/resolve.exports-npm-1.1.1-26b48a30b5-485aa10082.zip/node_modules/resolve.exports/",\
   7653           "packageDependencies": [\
   7654             ["resolve.exports", "npm:1.1.1"]\
   7655           ],\
   7656           "linkType": "HARD"\
   7657         }]\
   7658       ]],\
   7659       ["retry", [\
   7660         ["npm:0.12.0", {\
   7661           "packageLocation": "./.yarn/cache/retry-npm-0.12.0-72ac7fb4cc-623bd7d2e5.zip/node_modules/retry/",\
   7662           "packageDependencies": [\
   7663             ["retry", "npm:0.12.0"]\
   7664           ],\
   7665           "linkType": "HARD"\
   7666         }]\
   7667       ]],\
   7668       ["reusify", [\
   7669         ["npm:1.0.4", {\
   7670           "packageLocation": "./.yarn/cache/reusify-npm-1.0.4-95ac4aec11-c3076ebcc2.zip/node_modules/reusify/",\
   7671           "packageDependencies": [\
   7672             ["reusify", "npm:1.0.4"]\
   7673           ],\
   7674           "linkType": "HARD"\
   7675         }]\
   7676       ]],\
   7677       ["rimraf", [\
   7678         ["npm:3.0.2", {\
   7679           "packageLocation": "./.yarn/cache/rimraf-npm-3.0.2-2cb7dac69a-87f4164e39.zip/node_modules/rimraf/",\
   7680           "packageDependencies": [\
   7681             ["rimraf", "npm:3.0.2"],\
   7682             ["glob", "npm:7.2.3"]\
   7683           ],\
   7684           "linkType": "HARD"\
   7685         }]\
   7686       ]],\
   7687       ["run-parallel", [\
   7688         ["npm:1.2.0", {\
   7689           "packageLocation": "./.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip/node_modules/run-parallel/",\
   7690           "packageDependencies": [\
   7691             ["run-parallel", "npm:1.2.0"],\
   7692             ["queue-microtask", "npm:1.2.3"]\
   7693           ],\
   7694           "linkType": "HARD"\
   7695         }]\
   7696       ]],\
   7697       ["safe-buffer", [\
   7698         ["npm:5.2.1", {\
   7699           "packageLocation": "./.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip/node_modules/safe-buffer/",\
   7700           "packageDependencies": [\
   7701             ["safe-buffer", "npm:5.2.1"]\
   7702           ],\
   7703           "linkType": "HARD"\
   7704         }]\
   7705       ]],\
   7706       ["safe-regex-test", [\
   7707         ["npm:1.0.0", {\
   7708           "packageLocation": "./.yarn/cache/safe-regex-test-npm-1.0.0-e94a09b84e-bc566d8beb.zip/node_modules/safe-regex-test/",\
   7709           "packageDependencies": [\
   7710             ["safe-regex-test", "npm:1.0.0"],\
   7711             ["call-bind", "npm:1.0.2"],\
   7712             ["get-intrinsic", "npm:1.1.3"],\
   7713             ["is-regex", "npm:1.1.4"]\
   7714           ],\
   7715           "linkType": "HARD"\
   7716         }]\
   7717       ]],\
   7718       ["safe-stable-stringify", [\
   7719         ["npm:2.4.2", {\
   7720           "packageLocation": "./.yarn/cache/safe-stable-stringify-npm-2.4.2-26d12f7937-0324ba2e40.zip/node_modules/safe-stable-stringify/",\
   7721           "packageDependencies": [\
   7722             ["safe-stable-stringify", "npm:2.4.2"]\
   7723           ],\
   7724           "linkType": "HARD"\
   7725         }]\
   7726       ]],\
   7727       ["safer-buffer", [\
   7728         ["npm:2.1.2", {\
   7729           "packageLocation": "./.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip/node_modules/safer-buffer/",\
   7730           "packageDependencies": [\
   7731             ["safer-buffer", "npm:2.1.2"]\
   7732           ],\
   7733           "linkType": "HARD"\
   7734         }]\
   7735       ]],\
   7736       ["sass", [\
   7737         ["npm:1.57.1", {\
   7738           "packageLocation": "./.yarn/cache/sass-npm-1.57.1-bafdba484f-734a08781b.zip/node_modules/sass/",\
   7739           "packageDependencies": [\
   7740             ["sass", "npm:1.57.1"],\
   7741             ["chokidar", "npm:3.5.3"],\
   7742             ["immutable", "npm:4.2.2"],\
   7743             ["source-map-js", "npm:1.0.2"]\
   7744           ],\
   7745           "linkType": "HARD"\
   7746         }]\
   7747       ]],\
   7748       ["saxes", [\
   7749         ["npm:6.0.0", {\
   7750           "packageLocation": "./.yarn/cache/saxes-npm-6.0.0-31558949f5-d3fa3e2aaf.zip/node_modules/saxes/",\
   7751           "packageDependencies": [\
   7752             ["saxes", "npm:6.0.0"],\
   7753             ["xmlchars", "npm:2.2.0"]\
   7754           ],\
   7755           "linkType": "HARD"\
   7756         }]\
   7757       ]],\
   7758       ["scheduler", [\
   7759         ["npm:0.23.0", {\
   7760           "packageLocation": "./.yarn/cache/scheduler-npm-0.23.0-a379a6bc3b-d79192eeaa.zip/node_modules/scheduler/",\
   7761           "packageDependencies": [\
   7762             ["scheduler", "npm:0.23.0"],\
   7763             ["loose-envify", "npm:1.4.0"]\
   7764           ],\
   7765           "linkType": "HARD"\
   7766         }]\
   7767       ]],\
   7768       ["semver", [\
   7769         ["npm:6.3.0", {\
   7770           "packageLocation": "./.yarn/cache/semver-npm-6.3.0-b3eace8bfd-1b26ecf6db.zip/node_modules/semver/",\
   7771           "packageDependencies": [\
   7772             ["semver", "npm:6.3.0"]\
   7773           ],\
   7774           "linkType": "HARD"\
   7775         }],\
   7776         ["npm:7.3.8", {\
   7777           "packageLocation": "./.yarn/cache/semver-npm-7.3.8-25a996cb4f-ba9c7cbbf2.zip/node_modules/semver/",\
   7778           "packageDependencies": [\
   7779             ["semver", "npm:7.3.8"],\
   7780             ["lru-cache", "npm:6.0.0"]\
   7781           ],\
   7782           "linkType": "HARD"\
   7783         }]\
   7784       ]],\
   7785       ["seq-queue", [\
   7786         ["npm:0.0.5", {\
   7787           "packageLocation": "./.yarn/cache/seq-queue-npm-0.0.5-d5064d9793-f8695a6cb6.zip/node_modules/seq-queue/",\
   7788           "packageDependencies": [\
   7789             ["seq-queue", "npm:0.0.5"]\
   7790           ],\
   7791           "linkType": "HARD"\
   7792         }]\
   7793       ]],\
   7794       ["set-blocking", [\
   7795         ["npm:2.0.0", {\
   7796           "packageLocation": "./.yarn/cache/set-blocking-npm-2.0.0-49e2cffa24-6e65a05f7c.zip/node_modules/set-blocking/",\
   7797           "packageDependencies": [\
   7798             ["set-blocking", "npm:2.0.0"]\
   7799           ],\
   7800           "linkType": "HARD"\
   7801         }]\
   7802       ]],\
   7803       ["shebang-command", [\
   7804         ["npm:2.0.0", {\
   7805           "packageLocation": "./.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-6b52fe8727.zip/node_modules/shebang-command/",\
   7806           "packageDependencies": [\
   7807             ["shebang-command", "npm:2.0.0"],\
   7808             ["shebang-regex", "npm:3.0.0"]\
   7809           ],\
   7810           "linkType": "HARD"\
   7811         }]\
   7812       ]],\
   7813       ["shebang-regex", [\
   7814         ["npm:3.0.0", {\
   7815           "packageLocation": "./.yarn/cache/shebang-regex-npm-3.0.0-899a0cd65e-1a2bcae50d.zip/node_modules/shebang-regex/",\
   7816           "packageDependencies": [\
   7817             ["shebang-regex", "npm:3.0.0"]\
   7818           ],\
   7819           "linkType": "HARD"\
   7820         }]\
   7821       ]],\
   7822       ["side-channel", [\
   7823         ["npm:1.0.4", {\
   7824           "packageLocation": "./.yarn/cache/side-channel-npm-1.0.4-e1f38b9e06-351e41b947.zip/node_modules/side-channel/",\
   7825           "packageDependencies": [\
   7826             ["side-channel", "npm:1.0.4"],\
   7827             ["call-bind", "npm:1.0.2"],\
   7828             ["get-intrinsic", "npm:1.1.3"],\
   7829             ["object-inspect", "npm:1.12.3"]\
   7830           ],\
   7831           "linkType": "HARD"\
   7832         }]\
   7833       ]],\
   7834       ["signal-exit", [\
   7835         ["npm:3.0.7", {\
   7836           "packageLocation": "./.yarn/cache/signal-exit-npm-3.0.7-bd270458a3-a2f098f247.zip/node_modules/signal-exit/",\
   7837           "packageDependencies": [\
   7838             ["signal-exit", "npm:3.0.7"]\
   7839           ],\
   7840           "linkType": "HARD"\
   7841         }]\
   7842       ]],\
   7843       ["sisteransi", [\
   7844         ["npm:1.0.5", {\
   7845           "packageLocation": "./.yarn/cache/sisteransi-npm-1.0.5-af60cc0cfa-aba6438f46.zip/node_modules/sisteransi/",\
   7846           "packageDependencies": [\
   7847             ["sisteransi", "npm:1.0.5"]\
   7848           ],\
   7849           "linkType": "HARD"\
   7850         }]\
   7851       ]],\
   7852       ["slash", [\
   7853         ["npm:3.0.0", {\
   7854           "packageLocation": "./.yarn/cache/slash-npm-3.0.0-b87de2279a-94a93fff61.zip/node_modules/slash/",\
   7855           "packageDependencies": [\
   7856             ["slash", "npm:3.0.0"]\
   7857           ],\
   7858           "linkType": "HARD"\
   7859         }],\
   7860         ["npm:4.0.0", {\
   7861           "packageLocation": "./.yarn/cache/slash-npm-4.0.0-ce4bbc4a80-da8e4af737.zip/node_modules/slash/",\
   7862           "packageDependencies": [\
   7863             ["slash", "npm:4.0.0"]\
   7864           ],\
   7865           "linkType": "HARD"\
   7866         }]\
   7867       ]],\
   7868       ["smart-buffer", [\
   7869         ["npm:4.2.0", {\
   7870           "packageLocation": "./.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-b5167a7142.zip/node_modules/smart-buffer/",\
   7871           "packageDependencies": [\
   7872             ["smart-buffer", "npm:4.2.0"]\
   7873           ],\
   7874           "linkType": "HARD"\
   7875         }]\
   7876       ]],\
   7877       ["socks", [\
   7878         ["npm:2.7.1", {\
   7879           "packageLocation": "./.yarn/cache/socks-npm-2.7.1-17f2b53052-259d9e3e8e.zip/node_modules/socks/",\
   7880           "packageDependencies": [\
   7881             ["socks", "npm:2.7.1"],\
   7882             ["ip", "npm:2.0.0"],\
   7883             ["smart-buffer", "npm:4.2.0"]\
   7884           ],\
   7885           "linkType": "HARD"\
   7886         }]\
   7887       ]],\
   7888       ["socks-proxy-agent", [\
   7889         ["npm:7.0.0", {\
   7890           "packageLocation": "./.yarn/cache/socks-proxy-agent-npm-7.0.0-7aacf32ea0-7205543701.zip/node_modules/socks-proxy-agent/",\
   7891           "packageDependencies": [\
   7892             ["socks-proxy-agent", "npm:7.0.0"],\
   7893             ["agent-base", "npm:6.0.2"],\
   7894             ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\
   7895             ["socks", "npm:2.7.1"]\
   7896           ],\
   7897           "linkType": "HARD"\
   7898         }]\
   7899       ]],\
   7900       ["sonic-boom", [\
   7901         ["npm:3.2.1", {\
   7902           "packageLocation": "./.yarn/cache/sonic-boom-npm-3.2.1-ddac56c4bc-674d0af31c.zip/node_modules/sonic-boom/",\
   7903           "packageDependencies": [\
   7904             ["sonic-boom", "npm:3.2.1"],\
   7905             ["atomic-sleep", "npm:1.0.0"]\
   7906           ],\
   7907           "linkType": "HARD"\
   7908         }]\
   7909       ]],\
   7910       ["source-map", [\
   7911         ["npm:0.6.1", {\
   7912           "packageLocation": "./.yarn/cache/source-map-npm-0.6.1-1a3621db16-59ce8640cf.zip/node_modules/source-map/",\
   7913           "packageDependencies": [\
   7914             ["source-map", "npm:0.6.1"]\
   7915           ],\
   7916           "linkType": "HARD"\
   7917         }]\
   7918       ]],\
   7919       ["source-map-js", [\
   7920         ["npm:1.0.2", {\
   7921           "packageLocation": "./.yarn/cache/source-map-js-npm-1.0.2-ee4f9f9b30-c049a7fc4d.zip/node_modules/source-map-js/",\
   7922           "packageDependencies": [\
   7923             ["source-map-js", "npm:1.0.2"]\
   7924           ],\
   7925           "linkType": "HARD"\
   7926         }]\
   7927       ]],\
   7928       ["source-map-support", [\
   7929         ["npm:0.5.13", {\
   7930           "packageLocation": "./.yarn/cache/source-map-support-npm-0.5.13-377dfd7321-933550047b.zip/node_modules/source-map-support/",\
   7931           "packageDependencies": [\
   7932             ["source-map-support", "npm:0.5.13"],\
   7933             ["buffer-from", "npm:1.1.2"],\
   7934             ["source-map", "npm:0.6.1"]\
   7935           ],\
   7936           "linkType": "HARD"\
   7937         }]\
   7938       ]],\
   7939       ["split2", [\
   7940         ["npm:4.1.0", {\
   7941           "packageLocation": "./.yarn/cache/split2-npm-4.1.0-1c1a4bd984-ec581597cb.zip/node_modules/split2/",\
   7942           "packageDependencies": [\
   7943             ["split2", "npm:4.1.0"]\
   7944           ],\
   7945           "linkType": "HARD"\
   7946         }]\
   7947       ]],\
   7948       ["sprintf-js", [\
   7949         ["npm:1.0.3", {\
   7950           "packageLocation": "./.yarn/cache/sprintf-js-npm-1.0.3-73f0a322fa-19d79aec21.zip/node_modules/sprintf-js/",\
   7951           "packageDependencies": [\
   7952             ["sprintf-js", "npm:1.0.3"]\
   7953           ],\
   7954           "linkType": "HARD"\
   7955         }]\
   7956       ]],\
   7957       ["sqlstring", [\
   7958         ["npm:2.3.3", {\
   7959           "packageLocation": "./.yarn/cache/sqlstring-npm-2.3.3-2db6939570-1e7e2d51c3.zip/node_modules/sqlstring/",\
   7960           "packageDependencies": [\
   7961             ["sqlstring", "npm:2.3.3"]\
   7962           ],\
   7963           "linkType": "HARD"\
   7964         }]\
   7965       ]],\
   7966       ["ssri", [\
   7967         ["npm:9.0.1", {\
   7968           "packageLocation": "./.yarn/cache/ssri-npm-9.0.1-33ce27f4f8-fb58f5e46b.zip/node_modules/ssri/",\
   7969           "packageDependencies": [\
   7970             ["ssri", "npm:9.0.1"],\
   7971             ["minipass", "npm:3.3.6"]\
   7972           ],\
   7973           "linkType": "HARD"\
   7974         }]\
   7975       ]],\
   7976       ["stack-utils", [\
   7977         ["npm:2.0.6", {\
   7978           "packageLocation": "./.yarn/cache/stack-utils-npm-2.0.6-2be1099696-052bf4d25b.zip/node_modules/stack-utils/",\
   7979           "packageDependencies": [\
   7980             ["stack-utils", "npm:2.0.6"],\
   7981             ["escape-string-regexp", "npm:2.0.0"]\
   7982           ],\
   7983           "linkType": "HARD"\
   7984         }]\
   7985       ]],\
   7986       ["stop-iteration-iterator", [\
   7987         ["npm:1.0.0", {\
   7988           "packageLocation": "./.yarn/cache/stop-iteration-iterator-npm-1.0.0-ea451e1609-d04173690b.zip/node_modules/stop-iteration-iterator/",\
   7989           "packageDependencies": [\
   7990             ["stop-iteration-iterator", "npm:1.0.0"],\
   7991             ["internal-slot", "npm:1.0.4"]\
   7992           ],\
   7993           "linkType": "HARD"\
   7994         }]\
   7995       ]],\
   7996       ["string-length", [\
   7997         ["npm:4.0.2", {\
   7998           "packageLocation": "./.yarn/cache/string-length-npm-4.0.2-675173c7a2-ce85533ef5.zip/node_modules/string-length/",\
   7999           "packageDependencies": [\
   8000             ["string-length", "npm:4.0.2"],\
   8001             ["char-regex", "npm:1.0.2"],\
   8002             ["strip-ansi", "npm:6.0.1"]\
   8003           ],\
   8004           "linkType": "HARD"\
   8005         }]\
   8006       ]],\
   8007       ["string-width", [\
   8008         ["npm:4.2.3", {\
   8009           "packageLocation": "./.yarn/cache/string-width-npm-4.2.3-2c27177bae-e52c10dc3f.zip/node_modules/string-width/",\
   8010           "packageDependencies": [\
   8011             ["string-width", "npm:4.2.3"],\
   8012             ["emoji-regex", "npm:8.0.0"],\
   8013             ["is-fullwidth-code-point", "npm:3.0.0"],\
   8014             ["strip-ansi", "npm:6.0.1"]\
   8015           ],\
   8016           "linkType": "HARD"\
   8017         }]\
   8018       ]],\
   8019       ["string.prototype.matchall", [\
   8020         ["npm:4.0.8", {\
   8021           "packageLocation": "./.yarn/cache/string.prototype.matchall-npm-4.0.8-1feb1531b6-952da3a818.zip/node_modules/string.prototype.matchall/",\
   8022           "packageDependencies": [\
   8023             ["string.prototype.matchall", "npm:4.0.8"],\
   8024             ["call-bind", "npm:1.0.2"],\
   8025             ["define-properties", "npm:1.1.4"],\
   8026             ["es-abstract", "npm:1.21.1"],\
   8027             ["get-intrinsic", "npm:1.1.3"],\
   8028             ["has-symbols", "npm:1.0.3"],\
   8029             ["internal-slot", "npm:1.0.4"],\
   8030             ["regexp.prototype.flags", "npm:1.4.3"],\
   8031             ["side-channel", "npm:1.0.4"]\
   8032           ],\
   8033           "linkType": "HARD"\
   8034         }]\
   8035       ]],\
   8036       ["string.prototype.trimend", [\
   8037         ["npm:1.0.6", {\
   8038           "packageLocation": "./.yarn/cache/string.prototype.trimend-npm-1.0.6-304246ecc1-0fdc34645a.zip/node_modules/string.prototype.trimend/",\
   8039           "packageDependencies": [\
   8040             ["string.prototype.trimend", "npm:1.0.6"],\
   8041             ["call-bind", "npm:1.0.2"],\
   8042             ["define-properties", "npm:1.1.4"],\
   8043             ["es-abstract", "npm:1.21.1"]\
   8044           ],\
   8045           "linkType": "HARD"\
   8046         }]\
   8047       ]],\
   8048       ["string.prototype.trimstart", [\
   8049         ["npm:1.0.6", {\
   8050           "packageLocation": "./.yarn/cache/string.prototype.trimstart-npm-1.0.6-0926caea6c-89080feef4.zip/node_modules/string.prototype.trimstart/",\
   8051           "packageDependencies": [\
   8052             ["string.prototype.trimstart", "npm:1.0.6"],\
   8053             ["call-bind", "npm:1.0.2"],\
   8054             ["define-properties", "npm:1.1.4"],\
   8055             ["es-abstract", "npm:1.21.1"]\
   8056           ],\
   8057           "linkType": "HARD"\
   8058         }]\
   8059       ]],\
   8060       ["string_decoder", [\
   8061         ["npm:1.3.0", {\
   8062           "packageLocation": "./.yarn/cache/string_decoder-npm-1.3.0-2422117fd0-8417646695.zip/node_modules/string_decoder/",\
   8063           "packageDependencies": [\
   8064             ["string_decoder", "npm:1.3.0"],\
   8065             ["safe-buffer", "npm:5.2.1"]\
   8066           ],\
   8067           "linkType": "HARD"\
   8068         }]\
   8069       ]],\
   8070       ["strip-ansi", [\
   8071         ["npm:6.0.1", {\
   8072           "packageLocation": "./.yarn/cache/strip-ansi-npm-6.0.1-caddc7cb40-f3cd25890a.zip/node_modules/strip-ansi/",\
   8073           "packageDependencies": [\
   8074             ["strip-ansi", "npm:6.0.1"],\
   8075             ["ansi-regex", "npm:5.0.1"]\
   8076           ],\
   8077           "linkType": "HARD"\
   8078         }]\
   8079       ]],\
   8080       ["strip-bom", [\
   8081         ["npm:3.0.0", {\
   8082           "packageLocation": "./.yarn/cache/strip-bom-npm-3.0.0-71e8f81ff9-8d50ff27b7.zip/node_modules/strip-bom/",\
   8083           "packageDependencies": [\
   8084             ["strip-bom", "npm:3.0.0"]\
   8085           ],\
   8086           "linkType": "HARD"\
   8087         }],\
   8088         ["npm:4.0.0", {\
   8089           "packageLocation": "./.yarn/cache/strip-bom-npm-4.0.0-97d367a64d-9dbcfbaf50.zip/node_modules/strip-bom/",\
   8090           "packageDependencies": [\
   8091             ["strip-bom", "npm:4.0.0"]\
   8092           ],\
   8093           "linkType": "HARD"\
   8094         }]\
   8095       ]],\
   8096       ["strip-final-newline", [\
   8097         ["npm:2.0.0", {\
   8098           "packageLocation": "./.yarn/cache/strip-final-newline-npm-2.0.0-340c4f7c66-69412b5e25.zip/node_modules/strip-final-newline/",\
   8099           "packageDependencies": [\
   8100             ["strip-final-newline", "npm:2.0.0"]\
   8101           ],\
   8102           "linkType": "HARD"\
   8103         }]\
   8104       ]],\
   8105       ["strip-indent", [\
   8106         ["npm:3.0.0", {\
   8107           "packageLocation": "./.yarn/cache/strip-indent-npm-3.0.0-519e75a28d-18f045d57d.zip/node_modules/strip-indent/",\
   8108           "packageDependencies": [\
   8109             ["strip-indent", "npm:3.0.0"],\
   8110             ["min-indent", "npm:1.0.1"]\
   8111           ],\
   8112           "linkType": "HARD"\
   8113         }]\
   8114       ]],\
   8115       ["strip-json-comments", [\
   8116         ["npm:3.1.1", {\
   8117           "packageLocation": "./.yarn/cache/strip-json-comments-npm-3.1.1-dcb2324823-492f73e272.zip/node_modules/strip-json-comments/",\
   8118           "packageDependencies": [\
   8119             ["strip-json-comments", "npm:3.1.1"]\
   8120           ],\
   8121           "linkType": "HARD"\
   8122         }]\
   8123       ]],\
   8124       ["styled-jsx", [\
   8125         ["npm:5.1.1", {\
   8126           "packageLocation": "./.yarn/cache/styled-jsx-npm-5.1.1-2557a209ba-523a33b386.zip/node_modules/styled-jsx/",\
   8127           "packageDependencies": [\
   8128             ["styled-jsx", "npm:5.1.1"]\
   8129           ],\
   8130           "linkType": "SOFT"\
   8131         }],\
   8132         ["virtual:297677bc07d73ccdd3fd351a985268b98c7acd87436df6275a7cd6e7df2a441d3d4f2fbd956f04eb05287463ad1e0eebb94a2ecc2681c43c97e9cb4708eddd15#npm:5.1.1", {\
   8133           "packageLocation": "./.yarn/__virtual__/styled-jsx-virtual-96036ce3cc/0/cache/styled-jsx-npm-5.1.1-2557a209ba-523a33b386.zip/node_modules/styled-jsx/",\
   8134           "packageDependencies": [\
   8135             ["styled-jsx", "virtual:297677bc07d73ccdd3fd351a985268b98c7acd87436df6275a7cd6e7df2a441d3d4f2fbd956f04eb05287463ad1e0eebb94a2ecc2681c43c97e9cb4708eddd15#npm:5.1.1"],\
   8136             ["@babel/core", null],\
   8137             ["@types/babel-plugin-macros", null],\
   8138             ["@types/babel__core", null],\
   8139             ["@types/react", "npm:18.0.26"],\
   8140             ["babel-plugin-macros", null],\
   8141             ["client-only", "npm:0.0.1"],\
   8142             ["react", "npm:18.2.0"]\
   8143           ],\
   8144           "packagePeers": [\
   8145             "@babel/core",\
   8146             "@types/babel-plugin-macros",\
   8147             "@types/babel__core",\
   8148             "@types/react",\
   8149             "babel-plugin-macros",\
   8150             "react"\
   8151           ],\
   8152           "linkType": "HARD"\
   8153         }]\
   8154       ]],\
   8155       ["superjson", [\
   8156         ["npm:1.12.2", {\
   8157           "packageLocation": "./.yarn/cache/superjson-npm-1.12.2-e37d205ed2-cf7735e172.zip/node_modules/superjson/",\
   8158           "packageDependencies": [\
   8159             ["superjson", "npm:1.12.2"],\
   8160             ["copy-anything", "npm:3.0.3"]\
   8161           ],\
   8162           "linkType": "HARD"\
   8163         }]\
   8164       ]],\
   8165       ["supports-color", [\
   8166         ["npm:5.5.0", {\
   8167           "packageLocation": "./.yarn/cache/supports-color-npm-5.5.0-183ac537bc-95f6f4ba5a.zip/node_modules/supports-color/",\
   8168           "packageDependencies": [\
   8169             ["supports-color", "npm:5.5.0"],\
   8170             ["has-flag", "npm:3.0.0"]\
   8171           ],\
   8172           "linkType": "HARD"\
   8173         }],\
   8174         ["npm:7.2.0", {\
   8175           "packageLocation": "./.yarn/cache/supports-color-npm-7.2.0-606bfcf7da-3dda818de0.zip/node_modules/supports-color/",\
   8176           "packageDependencies": [\
   8177             ["supports-color", "npm:7.2.0"],\
   8178             ["has-flag", "npm:4.0.0"]\
   8179           ],\
   8180           "linkType": "HARD"\
   8181         }],\
   8182         ["npm:8.1.1", {\
   8183           "packageLocation": "./.yarn/cache/supports-color-npm-8.1.1-289e937149-c052193a7e.zip/node_modules/supports-color/",\
   8184           "packageDependencies": [\
   8185             ["supports-color", "npm:8.1.1"],\
   8186             ["has-flag", "npm:4.0.0"]\
   8187           ],\
   8188           "linkType": "HARD"\
   8189         }]\
   8190       ]],\
   8191       ["supports-preserve-symlinks-flag", [\
   8192         ["npm:1.0.0", {\
   8193           "packageLocation": "./.yarn/cache/supports-preserve-symlinks-flag-npm-1.0.0-f17c4d0028-53b1e247e6.zip/node_modules/supports-preserve-symlinks-flag/",\
   8194           "packageDependencies": [\
   8195             ["supports-preserve-symlinks-flag", "npm:1.0.0"]\
   8196           ],\
   8197           "linkType": "HARD"\
   8198         }]\
   8199       ]],\
   8200       ["symbol-tree", [\
   8201         ["npm:3.2.4", {\
   8202           "packageLocation": "./.yarn/cache/symbol-tree-npm-3.2.4-fe70cdb75b-6e8fc7e148.zip/node_modules/symbol-tree/",\
   8203           "packageDependencies": [\
   8204             ["symbol-tree", "npm:3.2.4"]\
   8205           ],\
   8206           "linkType": "HARD"\
   8207         }]\
   8208       ]],\
   8209       ["synckit", [\
   8210         ["npm:0.8.4", {\
   8211           "packageLocation": "./.yarn/cache/synckit-npm-0.8.4-ee1ab9a997-83e054fe44.zip/node_modules/synckit/",\
   8212           "packageDependencies": [\
   8213             ["synckit", "npm:0.8.4"],\
   8214             ["@pkgr/utils", "npm:2.3.1"],\
   8215             ["tslib", "npm:2.4.1"]\
   8216           ],\
   8217           "linkType": "HARD"\
   8218         }]\
   8219       ]],\
   8220       ["tapable", [\
   8221         ["npm:2.2.1", {\
   8222           "packageLocation": "./.yarn/cache/tapable-npm-2.2.1-8cf5ff3039-3b7a1b4d86.zip/node_modules/tapable/",\
   8223           "packageDependencies": [\
   8224             ["tapable", "npm:2.2.1"]\
   8225           ],\
   8226           "linkType": "HARD"\
   8227         }]\
   8228       ]],\
   8229       ["tar", [\
   8230         ["npm:6.1.13", {\
   8231           "packageLocation": "./.yarn/cache/tar-npm-6.1.13-3234e72781-8a278bed12.zip/node_modules/tar/",\
   8232           "packageDependencies": [\
   8233             ["tar", "npm:6.1.13"],\
   8234             ["chownr", "npm:2.0.0"],\
   8235             ["fs-minipass", "npm:2.1.0"],\
   8236             ["minipass", "npm:4.0.0"],\
   8237             ["minizlib", "npm:2.1.2"],\
   8238             ["mkdirp", "npm:1.0.4"],\
   8239             ["yallist", "npm:4.0.0"]\
   8240           ],\
   8241           "linkType": "HARD"\
   8242         }]\
   8243       ]],\
   8244       ["test-exclude", [\
   8245         ["npm:6.0.0", {\
   8246           "packageLocation": "./.yarn/cache/test-exclude-npm-6.0.0-3fb03d69df-3b34a3d771.zip/node_modules/test-exclude/",\
   8247           "packageDependencies": [\
   8248             ["test-exclude", "npm:6.0.0"],\
   8249             ["@istanbuljs/schema", "npm:0.1.3"],\
   8250             ["glob", "npm:7.2.3"],\
   8251             ["minimatch", "npm:3.1.2"]\
   8252           ],\
   8253           "linkType": "HARD"\
   8254         }]\
   8255       ]],\
   8256       ["text-table", [\
   8257         ["npm:0.2.0", {\
   8258           "packageLocation": "./.yarn/cache/text-table-npm-0.2.0-d92a778b59-b6937a38c8.zip/node_modules/text-table/",\
   8259           "packageDependencies": [\
   8260             ["text-table", "npm:0.2.0"]\
   8261           ],\
   8262           "linkType": "HARD"\
   8263         }]\
   8264       ]],\
   8265       ["thread-stream", [\
   8266         ["npm:2.3.0", {\
   8267           "packageLocation": "./.yarn/cache/thread-stream-npm-2.3.0-77ee67ae69-e9ea58f9f3.zip/node_modules/thread-stream/",\
   8268           "packageDependencies": [\
   8269             ["thread-stream", "npm:2.3.0"],\
   8270             ["real-require", "npm:0.2.0"]\
   8271           ],\
   8272           "linkType": "HARD"\
   8273         }]\
   8274       ]],\
   8275       ["tiny-glob", [\
   8276         ["npm:0.2.9", {\
   8277           "packageLocation": "./.yarn/cache/tiny-glob-npm-0.2.9-068f4ab3f8-aea5801eb6.zip/node_modules/tiny-glob/",\
   8278           "packageDependencies": [\
   8279             ["tiny-glob", "npm:0.2.9"],\
   8280             ["globalyzer", "npm:0.1.0"],\
   8281             ["globrex", "npm:0.1.2"]\
   8282           ],\
   8283           "linkType": "HARD"\
   8284         }]\
   8285       ]],\
   8286       ["tmpl", [\
   8287         ["npm:1.0.5", {\
   8288           "packageLocation": "./.yarn/cache/tmpl-npm-1.0.5-d399ba37e2-cd922d9b85.zip/node_modules/tmpl/",\
   8289           "packageDependencies": [\
   8290             ["tmpl", "npm:1.0.5"]\
   8291           ],\
   8292           "linkType": "HARD"\
   8293         }]\
   8294       ]],\
   8295       ["to-fast-properties", [\
   8296         ["npm:2.0.0", {\
   8297           "packageLocation": "./.yarn/cache/to-fast-properties-npm-2.0.0-0dc60cc481-be2de62fe5.zip/node_modules/to-fast-properties/",\
   8298           "packageDependencies": [\
   8299             ["to-fast-properties", "npm:2.0.0"]\
   8300           ],\
   8301           "linkType": "HARD"\
   8302         }]\
   8303       ]],\
   8304       ["to-regex-range", [\
   8305         ["npm:5.0.1", {\
   8306           "packageLocation": "./.yarn/cache/to-regex-range-npm-5.0.1-f1e8263b00-f76fa01b3d.zip/node_modules/to-regex-range/",\
   8307           "packageDependencies": [\
   8308             ["to-regex-range", "npm:5.0.1"],\
   8309             ["is-number", "npm:7.0.0"]\
   8310           ],\
   8311           "linkType": "HARD"\
   8312         }]\
   8313       ]],\
   8314       ["tough-cookie", [\
   8315         ["npm:4.1.2", {\
   8316           "packageLocation": "./.yarn/cache/tough-cookie-npm-4.1.2-09068826e1-a7359e9a3e.zip/node_modules/tough-cookie/",\
   8317           "packageDependencies": [\
   8318             ["tough-cookie", "npm:4.1.2"],\
   8319             ["psl", "npm:1.9.0"],\
   8320             ["punycode", "npm:2.2.0"],\
   8321             ["universalify", "npm:0.2.0"],\
   8322             ["url-parse", "npm:1.5.10"]\
   8323           ],\
   8324           "linkType": "HARD"\
   8325         }]\
   8326       ]],\
   8327       ["tr46", [\
   8328         ["npm:0.0.3", {\
   8329           "packageLocation": "./.yarn/cache/tr46-npm-0.0.3-de53018915-726321c5ea.zip/node_modules/tr46/",\
   8330           "packageDependencies": [\
   8331             ["tr46", "npm:0.0.3"]\
   8332           ],\
   8333           "linkType": "HARD"\
   8334         }],\
   8335         ["npm:3.0.0", {\
   8336           "packageLocation": "./.yarn/cache/tr46-npm-3.0.0-e1ae1ea7c9-44c3cc6767.zip/node_modules/tr46/",\
   8337           "packageDependencies": [\
   8338             ["tr46", "npm:3.0.0"],\
   8339             ["punycode", "npm:2.2.0"]\
   8340           ],\
   8341           "linkType": "HARD"\
   8342         }]\
   8343       ]],\
   8344       ["tsconfig-paths", [\
   8345         ["npm:3.14.1", {\
   8346           "packageLocation": "./.yarn/cache/tsconfig-paths-npm-3.14.1-17a815b5c5-8afa01c673.zip/node_modules/tsconfig-paths/",\
   8347           "packageDependencies": [\
   8348             ["tsconfig-paths", "npm:3.14.1"],\
   8349             ["@types/json5", "npm:0.0.29"],\
   8350             ["json5", "npm:1.0.2"],\
   8351             ["minimist", "npm:1.2.7"],\
   8352             ["strip-bom", "npm:3.0.0"]\
   8353           ],\
   8354           "linkType": "HARD"\
   8355         }]\
   8356       ]],\
   8357       ["tslib", [\
   8358         ["npm:1.14.1", {\
   8359           "packageLocation": "./.yarn/cache/tslib-npm-1.14.1-102499115e-dbe628ef87.zip/node_modules/tslib/",\
   8360           "packageDependencies": [\
   8361             ["tslib", "npm:1.14.1"]\
   8362           ],\
   8363           "linkType": "HARD"\
   8364         }],\
   8365         ["npm:2.4.1", {\
   8366           "packageLocation": "./.yarn/cache/tslib-npm-2.4.1-36f0ed04db-19480d6e03.zip/node_modules/tslib/",\
   8367           "packageDependencies": [\
   8368             ["tslib", "npm:2.4.1"]\
   8369           ],\
   8370           "linkType": "HARD"\
   8371         }]\
   8372       ]],\
   8373       ["tsutils", [\
   8374         ["npm:3.21.0", {\
   8375           "packageLocation": "./.yarn/cache/tsutils-npm-3.21.0-347e6636c5-1843f4c1b2.zip/node_modules/tsutils/",\
   8376           "packageDependencies": [\
   8377             ["tsutils", "npm:3.21.0"]\
   8378           ],\
   8379           "linkType": "SOFT"\
   8380         }],\
   8381         ["virtual:7405f371622a6871c6a8d58e7bdb32f140e6bfae8a5e144f129244df6c027e2d160980c8d4cee0e4473d9243e7c00f918872fe46db463a64ee59e1da7e9c0d2d#npm:3.21.0", {\
   8382           "packageLocation": "./.yarn/__virtual__/tsutils-virtual-273c72fa9c/0/cache/tsutils-npm-3.21.0-347e6636c5-1843f4c1b2.zip/node_modules/tsutils/",\
   8383           "packageDependencies": [\
   8384             ["tsutils", "virtual:7405f371622a6871c6a8d58e7bdb32f140e6bfae8a5e144f129244df6c027e2d160980c8d4cee0e4473d9243e7c00f918872fe46db463a64ee59e1da7e9c0d2d#npm:3.21.0"],\
   8385             ["@types/typescript", null],\
   8386             ["tslib", "npm:1.14.1"],\
   8387             ["typescript", "patch:typescript@npm%3A4.9.4#~builtin<compat/typescript>::version=4.9.4&hash=ad5954"]\
   8388           ],\
   8389           "packagePeers": [\
   8390             "@types/typescript",\
   8391             "typescript"\
   8392           ],\
   8393           "linkType": "HARD"\
   8394         }]\
   8395       ]],\
   8396       ["type-check", [\
   8397         ["npm:0.3.2", {\
   8398           "packageLocation": "./.yarn/cache/type-check-npm-0.3.2-a4a38bb0b6-dd3b149564.zip/node_modules/type-check/",\
   8399           "packageDependencies": [\
   8400             ["type-check", "npm:0.3.2"],\
   8401             ["prelude-ls", "npm:1.1.2"]\
   8402           ],\
   8403           "linkType": "HARD"\
   8404         }],\
   8405         ["npm:0.4.0", {\
   8406           "packageLocation": "./.yarn/cache/type-check-npm-0.4.0-60565800ce-ec688ebfc9.zip/node_modules/type-check/",\
   8407           "packageDependencies": [\
   8408             ["type-check", "npm:0.4.0"],\
   8409             ["prelude-ls", "npm:1.2.1"]\
   8410           ],\
   8411           "linkType": "HARD"\
   8412         }]\
   8413       ]],\
   8414       ["type-detect", [\
   8415         ["npm:4.0.8", {\
   8416           "packageLocation": "./.yarn/cache/type-detect-npm-4.0.8-8d8127b901-62b5628bff.zip/node_modules/type-detect/",\
   8417           "packageDependencies": [\
   8418             ["type-detect", "npm:4.0.8"]\
   8419           ],\
   8420           "linkType": "HARD"\
   8421         }]\
   8422       ]],\
   8423       ["type-fest", [\
   8424         ["npm:0.20.2", {\
   8425           "packageLocation": "./.yarn/cache/type-fest-npm-0.20.2-b36432617f-4fb3272df2.zip/node_modules/type-fest/",\
   8426           "packageDependencies": [\
   8427             ["type-fest", "npm:0.20.2"]\
   8428           ],\
   8429           "linkType": "HARD"\
   8430         }],\
   8431         ["npm:0.21.3", {\
   8432           "packageLocation": "./.yarn/cache/type-fest-npm-0.21.3-5ff2a9c6fd-e6b32a3b38.zip/node_modules/type-fest/",\
   8433           "packageDependencies": [\
   8434             ["type-fest", "npm:0.21.3"]\
   8435           ],\
   8436           "linkType": "HARD"\
   8437         }]\
   8438       ]],\
   8439       ["typed-array-length", [\
   8440         ["npm:1.0.4", {\
   8441           "packageLocation": "./.yarn/cache/typed-array-length-npm-1.0.4-92771b81fc-2228febc93.zip/node_modules/typed-array-length/",\
   8442           "packageDependencies": [\
   8443             ["typed-array-length", "npm:1.0.4"],\
   8444             ["call-bind", "npm:1.0.2"],\
   8445             ["for-each", "npm:0.3.3"],\
   8446             ["is-typed-array", "npm:1.1.10"]\
   8447           ],\
   8448           "linkType": "HARD"\
   8449         }]\
   8450       ]],\
   8451       ["typescript", [\
   8452         ["patch:typescript@npm%3A4.9.4#~builtin<compat/typescript>::version=4.9.4&hash=ad5954", {\
   8453           "packageLocation": "./.yarn/cache/typescript-patch-7bc527fc0a-1caaea6cb7.zip/node_modules/typescript/",\
   8454           "packageDependencies": [\
   8455             ["typescript", "patch:typescript@npm%3A4.9.4#~builtin<compat/typescript>::version=4.9.4&hash=ad5954"]\
   8456           ],\
   8457           "linkType": "HARD"\
   8458         }]\
   8459       ]],\
   8460       ["uglify-js", [\
   8461         ["npm:3.17.4", {\
   8462           "packageLocation": "./.yarn/cache/uglify-js-npm-3.17.4-58d4ab56aa-7b3897df38.zip/node_modules/uglify-js/",\
   8463           "packageDependencies": [\
   8464             ["uglify-js", "npm:3.17.4"]\
   8465           ],\
   8466           "linkType": "HARD"\
   8467         }]\
   8468       ]],\
   8469       ["unbox-primitive", [\
   8470         ["npm:1.0.2", {\
   8471           "packageLocation": "./.yarn/cache/unbox-primitive-npm-1.0.2-cb56a05066-b7a1cf5862.zip/node_modules/unbox-primitive/",\
   8472           "packageDependencies": [\
   8473             ["unbox-primitive", "npm:1.0.2"],\
   8474             ["call-bind", "npm:1.0.2"],\
   8475             ["has-bigints", "npm:1.0.2"],\
   8476             ["has-symbols", "npm:1.0.3"],\
   8477             ["which-boxed-primitive", "npm:1.0.2"]\
   8478           ],\
   8479           "linkType": "HARD"\
   8480         }]\
   8481       ]],\
   8482       ["unique-filename", [\
   8483         ["npm:2.0.1", {\
   8484           "packageLocation": "./.yarn/cache/unique-filename-npm-2.0.1-183c6c7c2b-807acf3381.zip/node_modules/unique-filename/",\
   8485           "packageDependencies": [\
   8486             ["unique-filename", "npm:2.0.1"],\
   8487             ["unique-slug", "npm:3.0.0"]\
   8488           ],\
   8489           "linkType": "HARD"\
   8490         }]\
   8491       ]],\
   8492       ["unique-slug", [\
   8493         ["npm:3.0.0", {\
   8494           "packageLocation": "./.yarn/cache/unique-slug-npm-3.0.0-0b82e51577-49f8d915ba.zip/node_modules/unique-slug/",\
   8495           "packageDependencies": [\
   8496             ["unique-slug", "npm:3.0.0"],\
   8497             ["imurmurhash", "npm:0.1.4"]\
   8498           ],\
   8499           "linkType": "HARD"\
   8500         }]\
   8501       ]],\
   8502       ["universalify", [\
   8503         ["npm:0.2.0", {\
   8504           "packageLocation": "./.yarn/cache/universalify-npm-0.2.0-9984e61c10-e86134cb12.zip/node_modules/universalify/",\
   8505           "packageDependencies": [\
   8506             ["universalify", "npm:0.2.0"]\
   8507           ],\
   8508           "linkType": "HARD"\
   8509         }]\
   8510       ]],\
   8511       ["update-browserslist-db", [\
   8512         ["npm:1.0.10", {\
   8513           "packageLocation": "./.yarn/cache/update-browserslist-db-npm-1.0.10-676baf0b9f-12db73b4f6.zip/node_modules/update-browserslist-db/",\
   8514           "packageDependencies": [\
   8515             ["update-browserslist-db", "npm:1.0.10"]\
   8516           ],\
   8517           "linkType": "SOFT"\
   8518         }],\
   8519         ["virtual:7d64a96afc8cf9b31b95951ccc2f47931d0cf97faa526fd0d20448bf2c73ddf9f5ef9e5cd28839ae8b5791451df45079a407b3f4978367b4210748169f5848f6#npm:1.0.10", {\
   8520           "packageLocation": "./.yarn/__virtual__/update-browserslist-db-virtual-503d1f881e/0/cache/update-browserslist-db-npm-1.0.10-676baf0b9f-12db73b4f6.zip/node_modules/update-browserslist-db/",\
   8521           "packageDependencies": [\
   8522             ["update-browserslist-db", "virtual:7d64a96afc8cf9b31b95951ccc2f47931d0cf97faa526fd0d20448bf2c73ddf9f5ef9e5cd28839ae8b5791451df45079a407b3f4978367b4210748169f5848f6#npm:1.0.10"],\
   8523             ["@types/browserslist", null],\
   8524             ["browserslist", "npm:4.21.4"],\
   8525             ["escalade", "npm:3.1.1"],\
   8526             ["picocolors", "npm:1.0.0"]\
   8527           ],\
   8528           "packagePeers": [\
   8529             "@types/browserslist",\
   8530             "browserslist"\
   8531           ],\
   8532           "linkType": "HARD"\
   8533         }]\
   8534       ]],\
   8535       ["uri-js", [\
   8536         ["npm:4.4.1", {\
   8537           "packageLocation": "./.yarn/cache/uri-js-npm-4.4.1-66d11cbcaf-7167432de6.zip/node_modules/uri-js/",\
   8538           "packageDependencies": [\
   8539             ["uri-js", "npm:4.4.1"],\
   8540             ["punycode", "npm:2.2.0"]\
   8541           ],\
   8542           "linkType": "HARD"\
   8543         }]\
   8544       ]],\
   8545       ["url-parse", [\
   8546         ["npm:1.5.10", {\
   8547           "packageLocation": "./.yarn/cache/url-parse-npm-1.5.10-64fa2bcd6d-fbdba6b1d8.zip/node_modules/url-parse/",\
   8548           "packageDependencies": [\
   8549             ["url-parse", "npm:1.5.10"],\
   8550             ["querystringify", "npm:2.2.0"],\
   8551             ["requires-port", "npm:1.0.0"]\
   8552           ],\
   8553           "linkType": "HARD"\
   8554         }]\
   8555       ]],\
   8556       ["util-deprecate", [\
   8557         ["npm:1.0.2", {\
   8558           "packageLocation": "./.yarn/cache/util-deprecate-npm-1.0.2-e3fe1a219c-474acf1146.zip/node_modules/util-deprecate/",\
   8559           "packageDependencies": [\
   8560             ["util-deprecate", "npm:1.0.2"]\
   8561           ],\
   8562           "linkType": "HARD"\
   8563         }]\
   8564       ]],\
   8565       ["v8-to-istanbul", [\
   8566         ["npm:9.0.1", {\
   8567           "packageLocation": "./.yarn/cache/v8-to-istanbul-npm-9.0.1-58bbce7857-a49c34bf0a.zip/node_modules/v8-to-istanbul/",\
   8568           "packageDependencies": [\
   8569             ["v8-to-istanbul", "npm:9.0.1"],\
   8570             ["@jridgewell/trace-mapping", "npm:0.3.17"],\
   8571             ["@types/istanbul-lib-coverage", "npm:2.0.4"],\
   8572             ["convert-source-map", "npm:1.9.0"]\
   8573           ],\
   8574           "linkType": "HARD"\
   8575         }]\
   8576       ]],\
   8577       ["w3c-xmlserializer", [\
   8578         ["npm:4.0.0", {\
   8579           "packageLocation": "./.yarn/cache/w3c-xmlserializer-npm-4.0.0-f09d0ec3fc-eba070e78d.zip/node_modules/w3c-xmlserializer/",\
   8580           "packageDependencies": [\
   8581             ["w3c-xmlserializer", "npm:4.0.0"],\
   8582             ["xml-name-validator", "npm:4.0.0"]\
   8583           ],\
   8584           "linkType": "HARD"\
   8585         }]\
   8586       ]],\
   8587       ["walker", [\
   8588         ["npm:1.0.8", {\
   8589           "packageLocation": "./.yarn/cache/walker-npm-1.0.8-b0a05b9478-ad7a257ea1.zip/node_modules/walker/",\
   8590           "packageDependencies": [\
   8591             ["walker", "npm:1.0.8"],\
   8592             ["makeerror", "npm:1.0.12"]\
   8593           ],\
   8594           "linkType": "HARD"\
   8595         }]\
   8596       ]],\
   8597       ["webidl-conversions", [\
   8598         ["npm:3.0.1", {\
   8599           "packageLocation": "./.yarn/cache/webidl-conversions-npm-3.0.1-60310f6a2b-c92a0a6ab9.zip/node_modules/webidl-conversions/",\
   8600           "packageDependencies": [\
   8601             ["webidl-conversions", "npm:3.0.1"]\
   8602           ],\
   8603           "linkType": "HARD"\
   8604         }],\
   8605         ["npm:7.0.0", {\
   8606           "packageLocation": "./.yarn/cache/webidl-conversions-npm-7.0.0-e8c8e30c68-f05588567a.zip/node_modules/webidl-conversions/",\
   8607           "packageDependencies": [\
   8608             ["webidl-conversions", "npm:7.0.0"]\
   8609           ],\
   8610           "linkType": "HARD"\
   8611         }]\
   8612       ]],\
   8613       ["whatwg-encoding", [\
   8614         ["npm:2.0.0", {\
   8615           "packageLocation": "./.yarn/cache/whatwg-encoding-npm-2.0.0-d7451f51b4-7087810c41.zip/node_modules/whatwg-encoding/",\
   8616           "packageDependencies": [\
   8617             ["whatwg-encoding", "npm:2.0.0"],\
   8618             ["iconv-lite", "npm:0.6.3"]\
   8619           ],\
   8620           "linkType": "HARD"\
   8621         }]\
   8622       ]],\
   8623       ["whatwg-mimetype", [\
   8624         ["npm:3.0.0", {\
   8625           "packageLocation": "./.yarn/cache/whatwg-mimetype-npm-3.0.0-5b617710c1-ce08bbb36b.zip/node_modules/whatwg-mimetype/",\
   8626           "packageDependencies": [\
   8627             ["whatwg-mimetype", "npm:3.0.0"]\
   8628           ],\
   8629           "linkType": "HARD"\
   8630         }]\
   8631       ]],\
   8632       ["whatwg-url", [\
   8633         ["npm:11.0.0", {\
   8634           "packageLocation": "./.yarn/cache/whatwg-url-npm-11.0.0-073529d93a-ed4826aaa5.zip/node_modules/whatwg-url/",\
   8635           "packageDependencies": [\
   8636             ["whatwg-url", "npm:11.0.0"],\
   8637             ["tr46", "npm:3.0.0"],\
   8638             ["webidl-conversions", "npm:7.0.0"]\
   8639           ],\
   8640           "linkType": "HARD"\
   8641         }],\
   8642         ["npm:5.0.0", {\
   8643           "packageLocation": "./.yarn/cache/whatwg-url-npm-5.0.0-374fb45e60-b8daed4ad3.zip/node_modules/whatwg-url/",\
   8644           "packageDependencies": [\
   8645             ["whatwg-url", "npm:5.0.0"],\
   8646             ["tr46", "npm:0.0.3"],\
   8647             ["webidl-conversions", "npm:3.0.1"]\
   8648           ],\
   8649           "linkType": "HARD"\
   8650         }]\
   8651       ]],\
   8652       ["which", [\
   8653         ["npm:2.0.2", {\
   8654           "packageLocation": "./.yarn/cache/which-npm-2.0.2-320ddf72f7-1a5c563d3c.zip/node_modules/which/",\
   8655           "packageDependencies": [\
   8656             ["which", "npm:2.0.2"],\
   8657             ["isexe", "npm:2.0.0"]\
   8658           ],\
   8659           "linkType": "HARD"\
   8660         }]\
   8661       ]],\
   8662       ["which-boxed-primitive", [\
   8663         ["npm:1.0.2", {\
   8664           "packageLocation": "./.yarn/cache/which-boxed-primitive-npm-1.0.2-e214f9ae5a-53ce774c73.zip/node_modules/which-boxed-primitive/",\
   8665           "packageDependencies": [\
   8666             ["which-boxed-primitive", "npm:1.0.2"],\
   8667             ["is-bigint", "npm:1.0.4"],\
   8668             ["is-boolean-object", "npm:1.1.2"],\
   8669             ["is-number-object", "npm:1.0.7"],\
   8670             ["is-string", "npm:1.0.7"],\
   8671             ["is-symbol", "npm:1.0.4"]\
   8672           ],\
   8673           "linkType": "HARD"\
   8674         }]\
   8675       ]],\
   8676       ["which-collection", [\
   8677         ["npm:1.0.1", {\
   8678           "packageLocation": "./.yarn/cache/which-collection-npm-1.0.1-cd2c054585-c815bbd163.zip/node_modules/which-collection/",\
   8679           "packageDependencies": [\
   8680             ["which-collection", "npm:1.0.1"],\
   8681             ["is-map", "npm:2.0.2"],\
   8682             ["is-set", "npm:2.0.2"],\
   8683             ["is-weakmap", "npm:2.0.1"],\
   8684             ["is-weakset", "npm:2.0.2"]\
   8685           ],\
   8686           "linkType": "HARD"\
   8687         }]\
   8688       ]],\
   8689       ["which-typed-array", [\
   8690         ["npm:1.1.9", {\
   8691           "packageLocation": "./.yarn/cache/which-typed-array-npm-1.1.9-9559c95dfc-fe0178ca44.zip/node_modules/which-typed-array/",\
   8692           "packageDependencies": [\
   8693             ["which-typed-array", "npm:1.1.9"],\
   8694             ["available-typed-arrays", "npm:1.0.5"],\
   8695             ["call-bind", "npm:1.0.2"],\
   8696             ["for-each", "npm:0.3.3"],\
   8697             ["gopd", "npm:1.0.1"],\
   8698             ["has-tostringtag", "npm:1.0.0"],\
   8699             ["is-typed-array", "npm:1.1.10"]\
   8700           ],\
   8701           "linkType": "HARD"\
   8702         }]\
   8703       ]],\
   8704       ["wide-align", [\
   8705         ["npm:1.1.5", {\
   8706           "packageLocation": "./.yarn/cache/wide-align-npm-1.1.5-889d77e592-d5fc37cd56.zip/node_modules/wide-align/",\
   8707           "packageDependencies": [\
   8708             ["wide-align", "npm:1.1.5"],\
   8709             ["string-width", "npm:4.2.3"]\
   8710           ],\
   8711           "linkType": "HARD"\
   8712         }]\
   8713       ]],\
   8714       ["word-wrap", [\
   8715         ["npm:1.2.3", {\
   8716           "packageLocation": "./.yarn/cache/word-wrap-npm-1.2.3-7fb15ab002-30b48f91fc.zip/node_modules/word-wrap/",\
   8717           "packageDependencies": [\
   8718             ["word-wrap", "npm:1.2.3"]\
   8719           ],\
   8720           "linkType": "HARD"\
   8721         }]\
   8722       ]],\
   8723       ["wordwrap", [\
   8724         ["npm:1.0.0", {\
   8725           "packageLocation": "./.yarn/cache/wordwrap-npm-1.0.0-ae57a645e8-2a44b27881.zip/node_modules/wordwrap/",\
   8726           "packageDependencies": [\
   8727             ["wordwrap", "npm:1.0.0"]\
   8728           ],\
   8729           "linkType": "HARD"\
   8730         }]\
   8731       ]],\
   8732       ["wrap-ansi", [\
   8733         ["npm:7.0.0", {\
   8734           "packageLocation": "./.yarn/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-a790b846fd.zip/node_modules/wrap-ansi/",\
   8735           "packageDependencies": [\
   8736             ["wrap-ansi", "npm:7.0.0"],\
   8737             ["ansi-styles", "npm:4.3.0"],\
   8738             ["string-width", "npm:4.2.3"],\
   8739             ["strip-ansi", "npm:6.0.1"]\
   8740           ],\
   8741           "linkType": "HARD"\
   8742         }]\
   8743       ]],\
   8744       ["wrappy", [\
   8745         ["npm:1.0.2", {\
   8746           "packageLocation": "./.yarn/cache/wrappy-npm-1.0.2-916de4d4b3-159da4805f.zip/node_modules/wrappy/",\
   8747           "packageDependencies": [\
   8748             ["wrappy", "npm:1.0.2"]\
   8749           ],\
   8750           "linkType": "HARD"\
   8751         }]\
   8752       ]],\
   8753       ["write-file-atomic", [\
   8754         ["npm:4.0.2", {\
   8755           "packageLocation": "./.yarn/cache/write-file-atomic-npm-4.0.2-661baae4aa-5da60bd4ee.zip/node_modules/write-file-atomic/",\
   8756           "packageDependencies": [\
   8757             ["write-file-atomic", "npm:4.0.2"],\
   8758             ["imurmurhash", "npm:0.1.4"],\
   8759             ["signal-exit", "npm:3.0.7"]\
   8760           ],\
   8761           "linkType": "HARD"\
   8762         }]\
   8763       ]],\
   8764       ["ws", [\
   8765         ["npm:8.12.0", {\
   8766           "packageLocation": "./.yarn/cache/ws-npm-8.12.0-4e21348613-818ff3f874.zip/node_modules/ws/",\
   8767           "packageDependencies": [\
   8768             ["ws", "npm:8.12.0"]\
   8769           ],\
   8770           "linkType": "SOFT"\
   8771         }],\
   8772         ["virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:8.12.0", {\
   8773           "packageLocation": "./.yarn/__virtual__/ws-virtual-49359431ed/0/cache/ws-npm-8.12.0-4e21348613-818ff3f874.zip/node_modules/ws/",\
   8774           "packageDependencies": [\
   8775             ["ws", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:8.12.0"],\
   8776             ["@types/bufferutil", null],\
   8777             ["@types/utf-8-validate", null],\
   8778             ["bufferutil", null],\
   8779             ["utf-8-validate", null]\
   8780           ],\
   8781           "packagePeers": [\
   8782             "@types/bufferutil",\
   8783             "@types/utf-8-validate",\
   8784             "bufferutil",\
   8785             "utf-8-validate"\
   8786           ],\
   8787           "linkType": "HARD"\
   8788         }]\
   8789       ]],\
   8790       ["xml-name-validator", [\
   8791         ["npm:4.0.0", {\
   8792           "packageLocation": "./.yarn/cache/xml-name-validator-npm-4.0.0-0857c21729-af100b79c2.zip/node_modules/xml-name-validator/",\
   8793           "packageDependencies": [\
   8794             ["xml-name-validator", "npm:4.0.0"]\
   8795           ],\
   8796           "linkType": "HARD"\
   8797         }]\
   8798       ]],\
   8799       ["xmlchars", [\
   8800         ["npm:2.2.0", {\
   8801           "packageLocation": "./.yarn/cache/xmlchars-npm-2.2.0-8b78f0f5e4-8c70ac9407.zip/node_modules/xmlchars/",\
   8802           "packageDependencies": [\
   8803             ["xmlchars", "npm:2.2.0"]\
   8804           ],\
   8805           "linkType": "HARD"\
   8806         }]\
   8807       ]],\
   8808       ["y18n", [\
   8809         ["npm:5.0.8", {\
   8810           "packageLocation": "./.yarn/cache/y18n-npm-5.0.8-5f3a0a7e62-54f0fb9562.zip/node_modules/y18n/",\
   8811           "packageDependencies": [\
   8812             ["y18n", "npm:5.0.8"]\
   8813           ],\
   8814           "linkType": "HARD"\
   8815         }]\
   8816       ]],\
   8817       ["yallist", [\
   8818         ["npm:3.1.1", {\
   8819           "packageLocation": "./.yarn/cache/yallist-npm-3.1.1-a568a556b4-48f7bb00dc.zip/node_modules/yallist/",\
   8820           "packageDependencies": [\
   8821             ["yallist", "npm:3.1.1"]\
   8822           ],\
   8823           "linkType": "HARD"\
   8824         }],\
   8825         ["npm:4.0.0", {\
   8826           "packageLocation": "./.yarn/cache/yallist-npm-4.0.0-b493d9e907-343617202a.zip/node_modules/yallist/",\
   8827           "packageDependencies": [\
   8828             ["yallist", "npm:4.0.0"]\
   8829           ],\
   8830           "linkType": "HARD"\
   8831         }]\
   8832       ]],\
   8833       ["yaml", [\
   8834         ["npm:2.2.1", {\
   8835           "packageLocation": "./.yarn/cache/yaml-npm-2.2.1-b7f7f5e84d-84f68cbe46.zip/node_modules/yaml/",\
   8836           "packageDependencies": [\
   8837             ["yaml", "npm:2.2.1"]\
   8838           ],\
   8839           "linkType": "HARD"\
   8840         }]\
   8841       ]],\
   8842       ["yargs", [\
   8843         ["npm:17.6.2", {\
   8844           "packageLocation": "./.yarn/cache/yargs-npm-17.6.2-1dd8b38d1b-47da1b0d85.zip/node_modules/yargs/",\
   8845           "packageDependencies": [\
   8846             ["yargs", "npm:17.6.2"],\
   8847             ["cliui", "npm:8.0.1"],\
   8848             ["escalade", "npm:3.1.1"],\
   8849             ["get-caller-file", "npm:2.0.5"],\
   8850             ["require-directory", "npm:2.1.1"],\
   8851             ["string-width", "npm:4.2.3"],\
   8852             ["y18n", "npm:5.0.8"],\
   8853             ["yargs-parser", "npm:21.1.1"]\
   8854           ],\
   8855           "linkType": "HARD"\
   8856         }]\
   8857       ]],\
   8858       ["yargs-parser", [\
   8859         ["npm:21.1.1", {\
   8860           "packageLocation": "./.yarn/cache/yargs-parser-npm-21.1.1-8fdc003314-ed2d96a616.zip/node_modules/yargs-parser/",\
   8861           "packageDependencies": [\
   8862             ["yargs-parser", "npm:21.1.1"]\
   8863           ],\
   8864           "linkType": "HARD"\
   8865         }]\
   8866       ]],\
   8867       ["yocto-queue", [\
   8868         ["npm:0.1.0", {\
   8869           "packageLocation": "./.yarn/cache/yocto-queue-npm-0.1.0-c6c9a7db29-f77b3d8d00.zip/node_modules/yocto-queue/",\
   8870           "packageDependencies": [\
   8871             ["yocto-queue", "npm:0.1.0"]\
   8872           ],\
   8873           "linkType": "HARD"\
   8874         }]\
   8875       ]]\
   8876     ]\
   8877   }'), {basePath: basePath || __dirname});
   8878   }
   8879 
   8880 const fs = require('fs');
   8881 const path = require('path');
   8882 const require$$0 = require('module');
   8883 const StringDecoder = require('string_decoder');
   8884 const url = require('url');
   8885 const os = require('os');
   8886 const nodeUtils = require('util');
   8887 const readline = require('readline');
   8888 const assert = require('assert');
   8889 const stream = require('stream');
   8890 const zlib = require('zlib');
   8891 const events = require('events');
   8892 
   8893 const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
   8894 
   8895 function _interopNamespace(e) {
   8896   if (e && e.__esModule) return e;
   8897   const n = Object.create(null);
   8898   if (e) {
   8899     for (const k in e) {
   8900       if (k !== 'default') {
   8901         const d = Object.getOwnPropertyDescriptor(e, k);
   8902         Object.defineProperty(n, k, d.get ? d : {
   8903           enumerable: true,
   8904           get: () => e[k]
   8905         });
   8906       }
   8907     }
   8908   }
   8909   n.default = e;
   8910   return Object.freeze(n);
   8911 }
   8912 
   8913 const fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
   8914 const path__default = /*#__PURE__*/_interopDefaultLegacy(path);
   8915 const require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0);
   8916 const StringDecoder__default = /*#__PURE__*/_interopDefaultLegacy(StringDecoder);
   8917 const nodeUtils__namespace = /*#__PURE__*/_interopNamespace(nodeUtils);
   8918 const assert__default = /*#__PURE__*/_interopDefaultLegacy(assert);
   8919 const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib);
   8920 
   8921 const S_IFMT = 61440;
   8922 const S_IFDIR = 16384;
   8923 const S_IFREG = 32768;
   8924 const S_IFLNK = 40960;
   8925 const SAFE_TIME = 456789e3;
   8926 
   8927 const DEFAULT_MODE = S_IFREG | 420;
   8928 class StatEntry {
   8929   constructor() {
   8930     this.uid = 0;
   8931     this.gid = 0;
   8932     this.size = 0;
   8933     this.blksize = 0;
   8934     this.atimeMs = 0;
   8935     this.mtimeMs = 0;
   8936     this.ctimeMs = 0;
   8937     this.birthtimeMs = 0;
   8938     this.atime = new Date(0);
   8939     this.mtime = new Date(0);
   8940     this.ctime = new Date(0);
   8941     this.birthtime = new Date(0);
   8942     this.dev = 0;
   8943     this.ino = 0;
   8944     this.mode = DEFAULT_MODE;
   8945     this.nlink = 1;
   8946     this.rdev = 0;
   8947     this.blocks = 1;
   8948   }
   8949   isBlockDevice() {
   8950     return false;
   8951   }
   8952   isCharacterDevice() {
   8953     return false;
   8954   }
   8955   isDirectory() {
   8956     return (this.mode & S_IFMT) === S_IFDIR;
   8957   }
   8958   isFIFO() {
   8959     return false;
   8960   }
   8961   isFile() {
   8962     return (this.mode & S_IFMT) === S_IFREG;
   8963   }
   8964   isSocket() {
   8965     return false;
   8966   }
   8967   isSymbolicLink() {
   8968     return (this.mode & S_IFMT) === S_IFLNK;
   8969   }
   8970 }
   8971 class BigIntStatsEntry {
   8972   constructor() {
   8973     this.uid = BigInt(0);
   8974     this.gid = BigInt(0);
   8975     this.size = BigInt(0);
   8976     this.blksize = BigInt(0);
   8977     this.atimeMs = BigInt(0);
   8978     this.mtimeMs = BigInt(0);
   8979     this.ctimeMs = BigInt(0);
   8980     this.birthtimeMs = BigInt(0);
   8981     this.atimeNs = BigInt(0);
   8982     this.mtimeNs = BigInt(0);
   8983     this.ctimeNs = BigInt(0);
   8984     this.birthtimeNs = BigInt(0);
   8985     this.atime = new Date(0);
   8986     this.mtime = new Date(0);
   8987     this.ctime = new Date(0);
   8988     this.birthtime = new Date(0);
   8989     this.dev = BigInt(0);
   8990     this.ino = BigInt(0);
   8991     this.mode = BigInt(DEFAULT_MODE);
   8992     this.nlink = BigInt(1);
   8993     this.rdev = BigInt(0);
   8994     this.blocks = BigInt(1);
   8995   }
   8996   isBlockDevice() {
   8997     return false;
   8998   }
   8999   isCharacterDevice() {
   9000     return false;
   9001   }
   9002   isDirectory() {
   9003     return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFDIR);
   9004   }
   9005   isFIFO() {
   9006     return false;
   9007   }
   9008   isFile() {
   9009     return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFREG);
   9010   }
   9011   isSocket() {
   9012     return false;
   9013   }
   9014   isSymbolicLink() {
   9015     return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFLNK);
   9016   }
   9017 }
   9018 function makeDefaultStats() {
   9019   return new StatEntry();
   9020 }
   9021 function clearStats(stats) {
   9022   for (const key in stats) {
   9023     if (Object.prototype.hasOwnProperty.call(stats, key)) {
   9024       const element = stats[key];
   9025       if (typeof element === `number`) {
   9026         stats[key] = 0;
   9027       } else if (typeof element === `bigint`) {
   9028         stats[key] = BigInt(0);
   9029       } else if (nodeUtils__namespace.types.isDate(element)) {
   9030         stats[key] = new Date(0);
   9031       }
   9032     }
   9033   }
   9034   return stats;
   9035 }
   9036 function convertToBigIntStats(stats) {
   9037   const bigintStats = new BigIntStatsEntry();
   9038   for (const key in stats) {
   9039     if (Object.prototype.hasOwnProperty.call(stats, key)) {
   9040       const element = stats[key];
   9041       if (typeof element === `number`) {
   9042         bigintStats[key] = BigInt(element);
   9043       } else if (nodeUtils__namespace.types.isDate(element)) {
   9044         bigintStats[key] = new Date(element);
   9045       }
   9046     }
   9047   }
   9048   bigintStats.atimeNs = bigintStats.atimeMs * BigInt(1e6);
   9049   bigintStats.mtimeNs = bigintStats.mtimeMs * BigInt(1e6);
   9050   bigintStats.ctimeNs = bigintStats.ctimeMs * BigInt(1e6);
   9051   bigintStats.birthtimeNs = bigintStats.birthtimeMs * BigInt(1e6);
   9052   return bigintStats;
   9053 }
   9054 function areStatsEqual(a, b) {
   9055   if (a.atimeMs !== b.atimeMs)
   9056     return false;
   9057   if (a.birthtimeMs !== b.birthtimeMs)
   9058     return false;
   9059   if (a.blksize !== b.blksize)
   9060     return false;
   9061   if (a.blocks !== b.blocks)
   9062     return false;
   9063   if (a.ctimeMs !== b.ctimeMs)
   9064     return false;
   9065   if (a.dev !== b.dev)
   9066     return false;
   9067   if (a.gid !== b.gid)
   9068     return false;
   9069   if (a.ino !== b.ino)
   9070     return false;
   9071   if (a.isBlockDevice() !== b.isBlockDevice())
   9072     return false;
   9073   if (a.isCharacterDevice() !== b.isCharacterDevice())
   9074     return false;
   9075   if (a.isDirectory() !== b.isDirectory())
   9076     return false;
   9077   if (a.isFIFO() !== b.isFIFO())
   9078     return false;
   9079   if (a.isFile() !== b.isFile())
   9080     return false;
   9081   if (a.isSocket() !== b.isSocket())
   9082     return false;
   9083   if (a.isSymbolicLink() !== b.isSymbolicLink())
   9084     return false;
   9085   if (a.mode !== b.mode)
   9086     return false;
   9087   if (a.mtimeMs !== b.mtimeMs)
   9088     return false;
   9089   if (a.nlink !== b.nlink)
   9090     return false;
   9091   if (a.rdev !== b.rdev)
   9092     return false;
   9093   if (a.size !== b.size)
   9094     return false;
   9095   if (a.uid !== b.uid)
   9096     return false;
   9097   const aN = a;
   9098   const bN = b;
   9099   if (aN.atimeNs !== bN.atimeNs)
   9100     return false;
   9101   if (aN.mtimeNs !== bN.mtimeNs)
   9102     return false;
   9103   if (aN.ctimeNs !== bN.ctimeNs)
   9104     return false;
   9105   if (aN.birthtimeNs !== bN.birthtimeNs)
   9106     return false;
   9107   return true;
   9108 }
   9109 
   9110 const PortablePath = {
   9111   root: `/`,
   9112   dot: `.`,
   9113   parent: `..`
   9114 };
   9115 const Filename = {
   9116   nodeModules: `node_modules`,
   9117   manifest: `package.json`,
   9118   lockfile: `yarn.lock`,
   9119   virtual: `__virtual__`,
   9120   pnpJs: `.pnp.js`,
   9121   pnpCjs: `.pnp.cjs`,
   9122   rc: `.yarnrc.yml`
   9123 };
   9124 const npath = Object.create(path__default.default);
   9125 const ppath = Object.create(path__default.default.posix);
   9126 npath.cwd = () => process.cwd();
   9127 ppath.cwd = () => toPortablePath(process.cwd());
   9128 ppath.resolve = (...segments) => {
   9129   if (segments.length > 0 && ppath.isAbsolute(segments[0])) {
   9130     return path__default.default.posix.resolve(...segments);
   9131   } else {
   9132     return path__default.default.posix.resolve(ppath.cwd(), ...segments);
   9133   }
   9134 };
   9135 const contains = function(pathUtils, from, to) {
   9136   from = pathUtils.normalize(from);
   9137   to = pathUtils.normalize(to);
   9138   if (from === to)
   9139     return `.`;
   9140   if (!from.endsWith(pathUtils.sep))
   9141     from = from + pathUtils.sep;
   9142   if (to.startsWith(from)) {
   9143     return to.slice(from.length);
   9144   } else {
   9145     return null;
   9146   }
   9147 };
   9148 npath.fromPortablePath = fromPortablePath;
   9149 npath.toPortablePath = toPortablePath;
   9150 npath.contains = (from, to) => contains(npath, from, to);
   9151 ppath.contains = (from, to) => contains(ppath, from, to);
   9152 const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/;
   9153 const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/;
   9154 const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/;
   9155 const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/;
   9156 function fromPortablePath(p) {
   9157   if (process.platform !== `win32`)
   9158     return p;
   9159   let portablePathMatch, uncPortablePathMatch;
   9160   if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP))
   9161     p = portablePathMatch[1];
   9162   else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP))
   9163     p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`;
   9164   else
   9165     return p;
   9166   return p.replace(/\//g, `\\`);
   9167 }
   9168 function toPortablePath(p) {
   9169   if (process.platform !== `win32`)
   9170     return p;
   9171   p = p.replace(/\\/g, `/`);
   9172   let windowsPathMatch, uncWindowsPathMatch;
   9173   if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP))
   9174     p = `/${windowsPathMatch[1]}`;
   9175   else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP))
   9176     p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`;
   9177   return p;
   9178 }
   9179 function convertPath(targetPathUtils, sourcePath) {
   9180   return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath);
   9181 }
   9182 
   9183 const defaultTime = new Date(SAFE_TIME * 1e3);
   9184 async function copyPromise(destinationFs, destination, sourceFs, source, opts) {
   9185   const normalizedDestination = destinationFs.pathUtils.normalize(destination);
   9186   const normalizedSource = sourceFs.pathUtils.normalize(source);
   9187   const prelayout = [];
   9188   const postlayout = [];
   9189   const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource);
   9190   await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] });
   9191   const updateTime = typeof destinationFs.lutimesPromise === `function` ? destinationFs.lutimesPromise.bind(destinationFs) : destinationFs.utimesPromise.bind(destinationFs);
   9192   await copyImpl(prelayout, postlayout, updateTime, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true });
   9193   for (const operation of prelayout)
   9194     await operation();
   9195   await Promise.all(postlayout.map((operation) => {
   9196     return operation();
   9197   }));
   9198 }
   9199 async function copyImpl(prelayout, postlayout, updateTime, destinationFs, destination, sourceFs, source, opts) {
   9200   var _a, _b;
   9201   const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null;
   9202   const sourceStat = await sourceFs.lstatPromise(source);
   9203   const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat;
   9204   let updated;
   9205   switch (true) {
   9206     case sourceStat.isDirectory():
   9207       {
   9208         updated = await copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
   9209       }
   9210       break;
   9211     case sourceStat.isFile():
   9212       {
   9213         updated = await copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
   9214       }
   9215       break;
   9216     case sourceStat.isSymbolicLink():
   9217       {
   9218         updated = await copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
   9219       }
   9220       break;
   9221     default:
   9222       {
   9223         throw new Error(`Unsupported file type (${sourceStat.mode})`);
   9224       }
   9225   }
   9226   if (updated || ((_a = destinationStat == null ? void 0 : destinationStat.mtime) == null ? void 0 : _a.getTime()) !== mtime.getTime() || ((_b = destinationStat == null ? void 0 : destinationStat.atime) == null ? void 0 : _b.getTime()) !== atime.getTime()) {
   9227     postlayout.push(() => updateTime(destination, atime, mtime));
   9228     updated = true;
   9229   }
   9230   if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) {
   9231     postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511));
   9232     updated = true;
   9233   }
   9234   return updated;
   9235 }
   9236 async function maybeLStat(baseFs, p) {
   9237   try {
   9238     return await baseFs.lstatPromise(p);
   9239   } catch (e) {
   9240     return null;
   9241   }
   9242 }
   9243 async function copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
   9244   if (destinationStat !== null && !destinationStat.isDirectory()) {
   9245     if (opts.overwrite) {
   9246       prelayout.push(async () => destinationFs.removePromise(destination));
   9247       destinationStat = null;
   9248     } else {
   9249       return false;
   9250     }
   9251   }
   9252   let updated = false;
   9253   if (destinationStat === null) {
   9254     prelayout.push(async () => {
   9255       try {
   9256         await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode });
   9257       } catch (err) {
   9258         if (err.code !== `EEXIST`) {
   9259           throw err;
   9260         }
   9261       }
   9262     });
   9263     updated = true;
   9264   }
   9265   const entries = await sourceFs.readdirPromise(source);
   9266   const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts;
   9267   if (opts.stableSort) {
   9268     for (const entry of entries.sort()) {
   9269       if (await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) {
   9270         updated = true;
   9271       }
   9272     }
   9273   } else {
   9274     const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => {
   9275       await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts);
   9276     }));
   9277     if (entriesUpdateStatus.some((status) => status)) {
   9278       updated = true;
   9279     }
   9280   }
   9281   return updated;
   9282 }
   9283 const isCloneSupportedCache = /* @__PURE__ */ new WeakMap();
   9284 function makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy) {
   9285   return async () => {
   9286     await opFs.linkPromise(source, destination);
   9287     if (linkStrategy === "readOnly" /* ReadOnly */) {
   9288       sourceStat.mode &= ~146;
   9289       await opFs.chmodPromise(destination, sourceStat.mode);
   9290     }
   9291   };
   9292 }
   9293 function makeCloneLinkOperation(opFs, destination, source, sourceStat, linkStrategy) {
   9294   const isCloneSupported = isCloneSupportedCache.get(opFs);
   9295   if (typeof isCloneSupported === `undefined`) {
   9296     return async () => {
   9297       try {
   9298         await opFs.copyFilePromise(source, destination, fs__default.default.constants.COPYFILE_FICLONE_FORCE);
   9299         isCloneSupportedCache.set(opFs, true);
   9300       } catch (err) {
   9301         if (err.code === `ENOSYS` || err.code === `ENOTSUP`) {
   9302           isCloneSupportedCache.set(opFs, false);
   9303           await makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy)();
   9304         } else {
   9305           throw err;
   9306         }
   9307       }
   9308     };
   9309   } else {
   9310     if (isCloneSupported) {
   9311       return async () => opFs.copyFilePromise(source, destination, fs__default.default.constants.COPYFILE_FICLONE_FORCE);
   9312     } else {
   9313       return makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy);
   9314     }
   9315   }
   9316 }
   9317 async function copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
   9318   var _a;
   9319   if (destinationStat !== null) {
   9320     if (opts.overwrite) {
   9321       prelayout.push(async () => destinationFs.removePromise(destination));
   9322       destinationStat = null;
   9323     } else {
   9324       return false;
   9325     }
   9326   }
   9327   const linkStrategy = (_a = opts.linkStrategy) != null ? _a : null;
   9328   const op = destinationFs === sourceFs ? linkStrategy !== null ? makeCloneLinkOperation(destinationFs, destination, source, sourceStat, linkStrategy) : async () => destinationFs.copyFilePromise(source, destination, fs__default.default.constants.COPYFILE_FICLONE) : linkStrategy !== null ? makeLinkOperation(destinationFs, destination, source, sourceStat, linkStrategy) : async () => destinationFs.writeFilePromise(destination, await sourceFs.readFilePromise(source));
   9329   prelayout.push(async () => op());
   9330   return true;
   9331 }
   9332 async function copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
   9333   if (destinationStat !== null) {
   9334     if (opts.overwrite) {
   9335       prelayout.push(async () => destinationFs.removePromise(destination));
   9336       destinationStat = null;
   9337     } else {
   9338       return false;
   9339     }
   9340   }
   9341   prelayout.push(async () => {
   9342     await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination);
   9343   });
   9344   return true;
   9345 }
   9346 
   9347 function makeError$1(code, message) {
   9348   return Object.assign(new Error(`${code}: ${message}`), { code });
   9349 }
   9350 function EBUSY(message) {
   9351   return makeError$1(`EBUSY`, message);
   9352 }
   9353 function ENOSYS(message, reason) {
   9354   return makeError$1(`ENOSYS`, `${message}, ${reason}`);
   9355 }
   9356 function EINVAL(reason) {
   9357   return makeError$1(`EINVAL`, `invalid argument, ${reason}`);
   9358 }
   9359 function EBADF(reason) {
   9360   return makeError$1(`EBADF`, `bad file descriptor, ${reason}`);
   9361 }
   9362 function ENOENT(reason) {
   9363   return makeError$1(`ENOENT`, `no such file or directory, ${reason}`);
   9364 }
   9365 function ENOTDIR(reason) {
   9366   return makeError$1(`ENOTDIR`, `not a directory, ${reason}`);
   9367 }
   9368 function EISDIR(reason) {
   9369   return makeError$1(`EISDIR`, `illegal operation on a directory, ${reason}`);
   9370 }
   9371 function EEXIST(reason) {
   9372   return makeError$1(`EEXIST`, `file already exists, ${reason}`);
   9373 }
   9374 function EROFS(reason) {
   9375   return makeError$1(`EROFS`, `read-only filesystem, ${reason}`);
   9376 }
   9377 function ENOTEMPTY(reason) {
   9378   return makeError$1(`ENOTEMPTY`, `directory not empty, ${reason}`);
   9379 }
   9380 function EOPNOTSUPP(reason) {
   9381   return makeError$1(`EOPNOTSUPP`, `operation not supported, ${reason}`);
   9382 }
   9383 function ERR_DIR_CLOSED() {
   9384   return makeError$1(`ERR_DIR_CLOSED`, `Directory handle was closed`);
   9385 }
   9386 class LibzipError extends Error {
   9387   constructor(message, code) {
   9388     super(message);
   9389     this.name = `Libzip Error`;
   9390     this.code = code;
   9391   }
   9392 }
   9393 
   9394 class CustomDir {
   9395   constructor(path, nextDirent, opts = {}) {
   9396     this.path = path;
   9397     this.nextDirent = nextDirent;
   9398     this.opts = opts;
   9399     this.closed = false;
   9400   }
   9401   throwIfClosed() {
   9402     if (this.closed) {
   9403       throw ERR_DIR_CLOSED();
   9404     }
   9405   }
   9406   async *[Symbol.asyncIterator]() {
   9407     try {
   9408       let dirent;
   9409       while ((dirent = await this.read()) !== null) {
   9410         yield dirent;
   9411       }
   9412     } finally {
   9413       await this.close();
   9414     }
   9415   }
   9416   read(cb) {
   9417     const dirent = this.readSync();
   9418     if (typeof cb !== `undefined`)
   9419       return cb(null, dirent);
   9420     return Promise.resolve(dirent);
   9421   }
   9422   readSync() {
   9423     this.throwIfClosed();
   9424     return this.nextDirent();
   9425   }
   9426   close(cb) {
   9427     this.closeSync();
   9428     if (typeof cb !== `undefined`)
   9429       return cb(null);
   9430     return Promise.resolve();
   9431   }
   9432   closeSync() {
   9433     var _a, _b;
   9434     this.throwIfClosed();
   9435     (_b = (_a = this.opts).onClose) == null ? void 0 : _b.call(_a);
   9436     this.closed = true;
   9437   }
   9438 }
   9439 function opendir(fakeFs, path, entries, opts) {
   9440   const nextDirent = () => {
   9441     const filename = entries.shift();
   9442     if (typeof filename === `undefined`)
   9443       return null;
   9444     return Object.assign(fakeFs.statSync(fakeFs.pathUtils.join(path, filename)), {
   9445       name: filename
   9446     });
   9447   };
   9448   return new CustomDir(path, nextDirent, opts);
   9449 }
   9450 
   9451 class FakeFS {
   9452   constructor(pathUtils) {
   9453     this.pathUtils = pathUtils;
   9454   }
   9455   async *genTraversePromise(init, { stableSort = false } = {}) {
   9456     const stack = [init];
   9457     while (stack.length > 0) {
   9458       const p = stack.shift();
   9459       const entry = await this.lstatPromise(p);
   9460       if (entry.isDirectory()) {
   9461         const entries = await this.readdirPromise(p);
   9462         if (stableSort) {
   9463           for (const entry2 of entries.sort()) {
   9464             stack.push(this.pathUtils.join(p, entry2));
   9465           }
   9466         } else {
   9467           throw new Error(`Not supported`);
   9468         }
   9469       } else {
   9470         yield p;
   9471       }
   9472     }
   9473   }
   9474   async removePromise(p, { recursive = true, maxRetries = 5 } = {}) {
   9475     let stat;
   9476     try {
   9477       stat = await this.lstatPromise(p);
   9478     } catch (error) {
   9479       if (error.code === `ENOENT`) {
   9480         return;
   9481       } else {
   9482         throw error;
   9483       }
   9484     }
   9485     if (stat.isDirectory()) {
   9486       if (recursive) {
   9487         const entries = await this.readdirPromise(p);
   9488         await Promise.all(entries.map((entry) => {
   9489           return this.removePromise(this.pathUtils.resolve(p, entry));
   9490         }));
   9491       }
   9492       for (let t = 0; t <= maxRetries; t++) {
   9493         try {
   9494           await this.rmdirPromise(p);
   9495           break;
   9496         } catch (error) {
   9497           if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) {
   9498             throw error;
   9499           } else if (t < maxRetries) {
   9500             await new Promise((resolve) => setTimeout(resolve, t * 100));
   9501           }
   9502         }
   9503       }
   9504     } else {
   9505       await this.unlinkPromise(p);
   9506     }
   9507   }
   9508   removeSync(p, { recursive = true } = {}) {
   9509     let stat;
   9510     try {
   9511       stat = this.lstatSync(p);
   9512     } catch (error) {
   9513       if (error.code === `ENOENT`) {
   9514         return;
   9515       } else {
   9516         throw error;
   9517       }
   9518     }
   9519     if (stat.isDirectory()) {
   9520       if (recursive)
   9521         for (const entry of this.readdirSync(p))
   9522           this.removeSync(this.pathUtils.resolve(p, entry));
   9523       this.rmdirSync(p);
   9524     } else {
   9525       this.unlinkSync(p);
   9526     }
   9527   }
   9528   async mkdirpPromise(p, { chmod, utimes } = {}) {
   9529     p = this.resolve(p);
   9530     if (p === this.pathUtils.dirname(p))
   9531       return void 0;
   9532     const parts = p.split(this.pathUtils.sep);
   9533     let createdDirectory;
   9534     for (let u = 2; u <= parts.length; ++u) {
   9535       const subPath = parts.slice(0, u).join(this.pathUtils.sep);
   9536       if (!this.existsSync(subPath)) {
   9537         try {
   9538           await this.mkdirPromise(subPath);
   9539         } catch (error) {
   9540           if (error.code === `EEXIST`) {
   9541             continue;
   9542           } else {
   9543             throw error;
   9544           }
   9545         }
   9546         createdDirectory != null ? createdDirectory : createdDirectory = subPath;
   9547         if (chmod != null)
   9548           await this.chmodPromise(subPath, chmod);
   9549         if (utimes != null) {
   9550           await this.utimesPromise(subPath, utimes[0], utimes[1]);
   9551         } else {
   9552           const parentStat = await this.statPromise(this.pathUtils.dirname(subPath));
   9553           await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime);
   9554         }
   9555       }
   9556     }
   9557     return createdDirectory;
   9558   }
   9559   mkdirpSync(p, { chmod, utimes } = {}) {
   9560     p = this.resolve(p);
   9561     if (p === this.pathUtils.dirname(p))
   9562       return void 0;
   9563     const parts = p.split(this.pathUtils.sep);
   9564     let createdDirectory;
   9565     for (let u = 2; u <= parts.length; ++u) {
   9566       const subPath = parts.slice(0, u).join(this.pathUtils.sep);
   9567       if (!this.existsSync(subPath)) {
   9568         try {
   9569           this.mkdirSync(subPath);
   9570         } catch (error) {
   9571           if (error.code === `EEXIST`) {
   9572             continue;
   9573           } else {
   9574             throw error;
   9575           }
   9576         }
   9577         createdDirectory != null ? createdDirectory : createdDirectory = subPath;
   9578         if (chmod != null)
   9579           this.chmodSync(subPath, chmod);
   9580         if (utimes != null) {
   9581           this.utimesSync(subPath, utimes[0], utimes[1]);
   9582         } else {
   9583           const parentStat = this.statSync(this.pathUtils.dirname(subPath));
   9584           this.utimesSync(subPath, parentStat.atime, parentStat.mtime);
   9585         }
   9586       }
   9587     }
   9588     return createdDirectory;
   9589   }
   9590   async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) {
   9591     return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy });
   9592   }
   9593   copySync(destination, source, { baseFs = this, overwrite = true } = {}) {
   9594     const stat = baseFs.lstatSync(source);
   9595     const exists = this.existsSync(destination);
   9596     if (stat.isDirectory()) {
   9597       this.mkdirpSync(destination);
   9598       const directoryListing = baseFs.readdirSync(source);
   9599       for (const entry of directoryListing) {
   9600         this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite });
   9601       }
   9602     } else if (stat.isFile()) {
   9603       if (!exists || overwrite) {
   9604         if (exists)
   9605           this.removeSync(destination);
   9606         const content = baseFs.readFileSync(source);
   9607         this.writeFileSync(destination, content);
   9608       }
   9609     } else if (stat.isSymbolicLink()) {
   9610       if (!exists || overwrite) {
   9611         if (exists)
   9612           this.removeSync(destination);
   9613         const target = baseFs.readlinkSync(source);
   9614         this.symlinkSync(convertPath(this.pathUtils, target), destination);
   9615       }
   9616     } else {
   9617       throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`);
   9618     }
   9619     const mode = stat.mode & 511;
   9620     this.chmodSync(destination, mode);
   9621   }
   9622   async changeFilePromise(p, content, opts = {}) {
   9623     if (Buffer.isBuffer(content)) {
   9624       return this.changeFileBufferPromise(p, content, opts);
   9625     } else {
   9626       return this.changeFileTextPromise(p, content, opts);
   9627     }
   9628   }
   9629   async changeFileBufferPromise(p, content, { mode } = {}) {
   9630     let current = Buffer.alloc(0);
   9631     try {
   9632       current = await this.readFilePromise(p);
   9633     } catch (error) {
   9634     }
   9635     if (Buffer.compare(current, content) === 0)
   9636       return;
   9637     await this.writeFilePromise(p, content, { mode });
   9638   }
   9639   async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) {
   9640     let current = ``;
   9641     try {
   9642       current = await this.readFilePromise(p, `utf8`);
   9643     } catch (error) {
   9644     }
   9645     const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
   9646     if (current === normalizedContent)
   9647       return;
   9648     await this.writeFilePromise(p, normalizedContent, { mode });
   9649   }
   9650   changeFileSync(p, content, opts = {}) {
   9651     if (Buffer.isBuffer(content)) {
   9652       return this.changeFileBufferSync(p, content, opts);
   9653     } else {
   9654       return this.changeFileTextSync(p, content, opts);
   9655     }
   9656   }
   9657   changeFileBufferSync(p, content, { mode } = {}) {
   9658     let current = Buffer.alloc(0);
   9659     try {
   9660       current = this.readFileSync(p);
   9661     } catch (error) {
   9662     }
   9663     if (Buffer.compare(current, content) === 0)
   9664       return;
   9665     this.writeFileSync(p, content, { mode });
   9666   }
   9667   changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) {
   9668     let current = ``;
   9669     try {
   9670       current = this.readFileSync(p, `utf8`);
   9671     } catch (error) {
   9672     }
   9673     const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
   9674     if (current === normalizedContent)
   9675       return;
   9676     this.writeFileSync(p, normalizedContent, { mode });
   9677   }
   9678   async movePromise(fromP, toP) {
   9679     try {
   9680       await this.renamePromise(fromP, toP);
   9681     } catch (error) {
   9682       if (error.code === `EXDEV`) {
   9683         await this.copyPromise(toP, fromP);
   9684         await this.removePromise(fromP);
   9685       } else {
   9686         throw error;
   9687       }
   9688     }
   9689   }
   9690   moveSync(fromP, toP) {
   9691     try {
   9692       this.renameSync(fromP, toP);
   9693     } catch (error) {
   9694       if (error.code === `EXDEV`) {
   9695         this.copySync(toP, fromP);
   9696         this.removeSync(fromP);
   9697       } else {
   9698         throw error;
   9699       }
   9700     }
   9701   }
   9702   async lockPromise(affectedPath, callback) {
   9703     const lockPath = `${affectedPath}.flock`;
   9704     const interval = 1e3 / 60;
   9705     const startTime = Date.now();
   9706     let fd = null;
   9707     const isAlive = async () => {
   9708       let pid;
   9709       try {
   9710         [pid] = await this.readJsonPromise(lockPath);
   9711       } catch (error) {
   9712         return Date.now() - startTime < 500;
   9713       }
   9714       try {
   9715         process.kill(pid, 0);
   9716         return true;
   9717       } catch (error) {
   9718         return false;
   9719       }
   9720     };
   9721     while (fd === null) {
   9722       try {
   9723         fd = await this.openPromise(lockPath, `wx`);
   9724       } catch (error) {
   9725         if (error.code === `EEXIST`) {
   9726           if (!await isAlive()) {
   9727             try {
   9728               await this.unlinkPromise(lockPath);
   9729               continue;
   9730             } catch (error2) {
   9731             }
   9732           }
   9733           if (Date.now() - startTime < 60 * 1e3) {
   9734             await new Promise((resolve) => setTimeout(resolve, interval));
   9735           } else {
   9736             throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`);
   9737           }
   9738         } else {
   9739           throw error;
   9740         }
   9741       }
   9742     }
   9743     await this.writePromise(fd, JSON.stringify([process.pid]));
   9744     try {
   9745       return await callback();
   9746     } finally {
   9747       try {
   9748         await this.closePromise(fd);
   9749         await this.unlinkPromise(lockPath);
   9750       } catch (error) {
   9751       }
   9752     }
   9753   }
   9754   async readJsonPromise(p) {
   9755     const content = await this.readFilePromise(p, `utf8`);
   9756     try {
   9757       return JSON.parse(content);
   9758     } catch (error) {
   9759       error.message += ` (in ${p})`;
   9760       throw error;
   9761     }
   9762   }
   9763   readJsonSync(p) {
   9764     const content = this.readFileSync(p, `utf8`);
   9765     try {
   9766       return JSON.parse(content);
   9767     } catch (error) {
   9768       error.message += ` (in ${p})`;
   9769       throw error;
   9770     }
   9771   }
   9772   async writeJsonPromise(p, data) {
   9773     return await this.writeFilePromise(p, `${JSON.stringify(data, null, 2)}
   9774 `);
   9775   }
   9776   writeJsonSync(p, data) {
   9777     return this.writeFileSync(p, `${JSON.stringify(data, null, 2)}
   9778 `);
   9779   }
   9780   async preserveTimePromise(p, cb) {
   9781     const stat = await this.lstatPromise(p);
   9782     const result = await cb();
   9783     if (typeof result !== `undefined`)
   9784       p = result;
   9785     if (this.lutimesPromise) {
   9786       await this.lutimesPromise(p, stat.atime, stat.mtime);
   9787     } else if (!stat.isSymbolicLink()) {
   9788       await this.utimesPromise(p, stat.atime, stat.mtime);
   9789     }
   9790   }
   9791   async preserveTimeSync(p, cb) {
   9792     const stat = this.lstatSync(p);
   9793     const result = cb();
   9794     if (typeof result !== `undefined`)
   9795       p = result;
   9796     if (this.lutimesSync) {
   9797       this.lutimesSync(p, stat.atime, stat.mtime);
   9798     } else if (!stat.isSymbolicLink()) {
   9799       this.utimesSync(p, stat.atime, stat.mtime);
   9800     }
   9801   }
   9802 }
   9803 class BasePortableFakeFS extends FakeFS {
   9804   constructor() {
   9805     super(ppath);
   9806   }
   9807 }
   9808 function getEndOfLine(content) {
   9809   const matches = content.match(/\r?\n/g);
   9810   if (matches === null)
   9811     return os.EOL;
   9812   const crlf = matches.filter((nl) => nl === `\r
   9813 `).length;
   9814   const lf = matches.length - crlf;
   9815   return crlf > lf ? `\r
   9816 ` : `
   9817 `;
   9818 }
   9819 function normalizeLineEndings(originalContent, newContent) {
   9820   return newContent.replace(/\r?\n/g, getEndOfLine(originalContent));
   9821 }
   9822 
   9823 class NodeFS extends BasePortableFakeFS {
   9824   constructor(realFs = fs__default.default) {
   9825     super();
   9826     this.realFs = realFs;
   9827     if (typeof this.realFs.lutimes !== `undefined`) {
   9828       this.lutimesPromise = this.lutimesPromiseImpl;
   9829       this.lutimesSync = this.lutimesSyncImpl;
   9830     }
   9831   }
   9832   getExtractHint() {
   9833     return false;
   9834   }
   9835   getRealPath() {
   9836     return PortablePath.root;
   9837   }
   9838   resolve(p) {
   9839     return ppath.resolve(p);
   9840   }
   9841   async openPromise(p, flags, mode) {
   9842     return await new Promise((resolve, reject) => {
   9843       this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject));
   9844     });
   9845   }
   9846   openSync(p, flags, mode) {
   9847     return this.realFs.openSync(npath.fromPortablePath(p), flags, mode);
   9848   }
   9849   async opendirPromise(p, opts) {
   9850     return await new Promise((resolve, reject) => {
   9851       if (typeof opts !== `undefined`) {
   9852         this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
   9853       } else {
   9854         this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
   9855       }
   9856     }).then((dir) => {
   9857       return Object.defineProperty(dir, `path`, { value: p, configurable: true, writable: true });
   9858     });
   9859   }
   9860   opendirSync(p, opts) {
   9861     const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p));
   9862     return Object.defineProperty(dir, `path`, { value: p, configurable: true, writable: true });
   9863   }
   9864   async readPromise(fd, buffer, offset = 0, length = 0, position = -1) {
   9865     return await new Promise((resolve, reject) => {
   9866       this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => {
   9867         if (error) {
   9868           reject(error);
   9869         } else {
   9870           resolve(bytesRead);
   9871         }
   9872       });
   9873     });
   9874   }
   9875   readSync(fd, buffer, offset, length, position) {
   9876     return this.realFs.readSync(fd, buffer, offset, length, position);
   9877   }
   9878   async writePromise(fd, buffer, offset, length, position) {
   9879     return await new Promise((resolve, reject) => {
   9880       if (typeof buffer === `string`) {
   9881         return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject));
   9882       } else {
   9883         return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject));
   9884       }
   9885     });
   9886   }
   9887   writeSync(fd, buffer, offset, length, position) {
   9888     if (typeof buffer === `string`) {
   9889       return this.realFs.writeSync(fd, buffer, offset);
   9890     } else {
   9891       return this.realFs.writeSync(fd, buffer, offset, length, position);
   9892     }
   9893   }
   9894   async closePromise(fd) {
   9895     await new Promise((resolve, reject) => {
   9896       this.realFs.close(fd, this.makeCallback(resolve, reject));
   9897     });
   9898   }
   9899   closeSync(fd) {
   9900     this.realFs.closeSync(fd);
   9901   }
   9902   createReadStream(p, opts) {
   9903     const realPath = p !== null ? npath.fromPortablePath(p) : p;
   9904     return this.realFs.createReadStream(realPath, opts);
   9905   }
   9906   createWriteStream(p, opts) {
   9907     const realPath = p !== null ? npath.fromPortablePath(p) : p;
   9908     return this.realFs.createWriteStream(realPath, opts);
   9909   }
   9910   async realpathPromise(p) {
   9911     return await new Promise((resolve, reject) => {
   9912       this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject));
   9913     }).then((path) => {
   9914       return npath.toPortablePath(path);
   9915     });
   9916   }
   9917   realpathSync(p) {
   9918     return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {}));
   9919   }
   9920   async existsPromise(p) {
   9921     return await new Promise((resolve) => {
   9922       this.realFs.exists(npath.fromPortablePath(p), resolve);
   9923     });
   9924   }
   9925   accessSync(p, mode) {
   9926     return this.realFs.accessSync(npath.fromPortablePath(p), mode);
   9927   }
   9928   async accessPromise(p, mode) {
   9929     return await new Promise((resolve, reject) => {
   9930       this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject));
   9931     });
   9932   }
   9933   existsSync(p) {
   9934     return this.realFs.existsSync(npath.fromPortablePath(p));
   9935   }
   9936   async statPromise(p, opts) {
   9937     return await new Promise((resolve, reject) => {
   9938       if (opts) {
   9939         this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
   9940       } else {
   9941         this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
   9942       }
   9943     });
   9944   }
   9945   statSync(p, opts) {
   9946     if (opts) {
   9947       return this.realFs.statSync(npath.fromPortablePath(p), opts);
   9948     } else {
   9949       return this.realFs.statSync(npath.fromPortablePath(p));
   9950     }
   9951   }
   9952   async fstatPromise(fd, opts) {
   9953     return await new Promise((resolve, reject) => {
   9954       if (opts) {
   9955         this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject));
   9956       } else {
   9957         this.realFs.fstat(fd, this.makeCallback(resolve, reject));
   9958       }
   9959     });
   9960   }
   9961   fstatSync(fd, opts) {
   9962     if (opts) {
   9963       return this.realFs.fstatSync(fd, opts);
   9964     } else {
   9965       return this.realFs.fstatSync(fd);
   9966     }
   9967   }
   9968   async lstatPromise(p, opts) {
   9969     return await new Promise((resolve, reject) => {
   9970       if (opts) {
   9971         this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
   9972       } else {
   9973         this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
   9974       }
   9975     });
   9976   }
   9977   lstatSync(p, opts) {
   9978     if (opts) {
   9979       return this.realFs.lstatSync(npath.fromPortablePath(p), opts);
   9980     } else {
   9981       return this.realFs.lstatSync(npath.fromPortablePath(p));
   9982     }
   9983   }
   9984   async fchmodPromise(fd, mask) {
   9985     return await new Promise((resolve, reject) => {
   9986       this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject));
   9987     });
   9988   }
   9989   fchmodSync(fd, mask) {
   9990     return this.realFs.fchmodSync(fd, mask);
   9991   }
   9992   async chmodPromise(p, mask) {
   9993     return await new Promise((resolve, reject) => {
   9994       this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject));
   9995     });
   9996   }
   9997   chmodSync(p, mask) {
   9998     return this.realFs.chmodSync(npath.fromPortablePath(p), mask);
   9999   }
  10000   async fchownPromise(fd, uid, gid) {
  10001     return await new Promise((resolve, reject) => {
  10002       this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject));
  10003     });
  10004   }
  10005   fchownSync(fd, uid, gid) {
  10006     return this.realFs.fchownSync(fd, uid, gid);
  10007   }
  10008   async chownPromise(p, uid, gid) {
  10009     return await new Promise((resolve, reject) => {
  10010       this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject));
  10011     });
  10012   }
  10013   chownSync(p, uid, gid) {
  10014     return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid);
  10015   }
  10016   async renamePromise(oldP, newP) {
  10017     return await new Promise((resolve, reject) => {
  10018       this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject));
  10019     });
  10020   }
  10021   renameSync(oldP, newP) {
  10022     return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP));
  10023   }
  10024   async copyFilePromise(sourceP, destP, flags = 0) {
  10025     return await new Promise((resolve, reject) => {
  10026       this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject));
  10027     });
  10028   }
  10029   copyFileSync(sourceP, destP, flags = 0) {
  10030     return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags);
  10031   }
  10032   async appendFilePromise(p, content, opts) {
  10033     return await new Promise((resolve, reject) => {
  10034       const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p;
  10035       if (opts) {
  10036         this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject));
  10037       } else {
  10038         this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject));
  10039       }
  10040     });
  10041   }
  10042   appendFileSync(p, content, opts) {
  10043     const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p;
  10044     if (opts) {
  10045       this.realFs.appendFileSync(fsNativePath, content, opts);
  10046     } else {
  10047       this.realFs.appendFileSync(fsNativePath, content);
  10048     }
  10049   }
  10050   async writeFilePromise(p, content, opts) {
  10051     return await new Promise((resolve, reject) => {
  10052       const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p;
  10053       if (opts) {
  10054         this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject));
  10055       } else {
  10056         this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject));
  10057       }
  10058     });
  10059   }
  10060   writeFileSync(p, content, opts) {
  10061     const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p;
  10062     if (opts) {
  10063       this.realFs.writeFileSync(fsNativePath, content, opts);
  10064     } else {
  10065       this.realFs.writeFileSync(fsNativePath, content);
  10066     }
  10067   }
  10068   async unlinkPromise(p) {
  10069     return await new Promise((resolve, reject) => {
  10070       this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
  10071     });
  10072   }
  10073   unlinkSync(p) {
  10074     return this.realFs.unlinkSync(npath.fromPortablePath(p));
  10075   }
  10076   async utimesPromise(p, atime, mtime) {
  10077     return await new Promise((resolve, reject) => {
  10078       this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject));
  10079     });
  10080   }
  10081   utimesSync(p, atime, mtime) {
  10082     this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime);
  10083   }
  10084   async lutimesPromiseImpl(p, atime, mtime) {
  10085     const lutimes = this.realFs.lutimes;
  10086     if (typeof lutimes === `undefined`)
  10087       throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`);
  10088     return await new Promise((resolve, reject) => {
  10089       lutimes.call(this.realFs, npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject));
  10090     });
  10091   }
  10092   lutimesSyncImpl(p, atime, mtime) {
  10093     const lutimesSync = this.realFs.lutimesSync;
  10094     if (typeof lutimesSync === `undefined`)
  10095       throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`);
  10096     lutimesSync.call(this.realFs, npath.fromPortablePath(p), atime, mtime);
  10097   }
  10098   async mkdirPromise(p, opts) {
  10099     return await new Promise((resolve, reject) => {
  10100       this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
  10101     });
  10102   }
  10103   mkdirSync(p, opts) {
  10104     return this.realFs.mkdirSync(npath.fromPortablePath(p), opts);
  10105   }
  10106   async rmdirPromise(p, opts) {
  10107     return await new Promise((resolve, reject) => {
  10108       if (opts) {
  10109         this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
  10110       } else {
  10111         this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
  10112       }
  10113     });
  10114   }
  10115   rmdirSync(p, opts) {
  10116     return this.realFs.rmdirSync(npath.fromPortablePath(p), opts);
  10117   }
  10118   async linkPromise(existingP, newP) {
  10119     return await new Promise((resolve, reject) => {
  10120       this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject));
  10121     });
  10122   }
  10123   linkSync(existingP, newP) {
  10124     return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP));
  10125   }
  10126   async symlinkPromise(target, p, type) {
  10127     return await new Promise((resolve, reject) => {
  10128       this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject));
  10129     });
  10130   }
  10131   symlinkSync(target, p, type) {
  10132     return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type);
  10133   }
  10134   async readFilePromise(p, encoding) {
  10135     return await new Promise((resolve, reject) => {
  10136       const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p;
  10137       this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject));
  10138     });
  10139   }
  10140   readFileSync(p, encoding) {
  10141     const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p;
  10142     return this.realFs.readFileSync(fsNativePath, encoding);
  10143   }
  10144   async readdirPromise(p, opts) {
  10145     return await new Promise((resolve, reject) => {
  10146       if (opts == null ? void 0 : opts.withFileTypes) {
  10147         this.realFs.readdir(npath.fromPortablePath(p), { withFileTypes: true }, this.makeCallback(resolve, reject));
  10148       } else {
  10149         this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback((value) => resolve(value), reject));
  10150       }
  10151     });
  10152   }
  10153   readdirSync(p, opts) {
  10154     if (opts == null ? void 0 : opts.withFileTypes) {
  10155       return this.realFs.readdirSync(npath.fromPortablePath(p), { withFileTypes: true });
  10156     } else {
  10157       return this.realFs.readdirSync(npath.fromPortablePath(p));
  10158     }
  10159   }
  10160   async readlinkPromise(p) {
  10161     return await new Promise((resolve, reject) => {
  10162       this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
  10163     }).then((path) => {
  10164       return npath.toPortablePath(path);
  10165     });
  10166   }
  10167   readlinkSync(p) {
  10168     return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p)));
  10169   }
  10170   async truncatePromise(p, len) {
  10171     return await new Promise((resolve, reject) => {
  10172       this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject));
  10173     });
  10174   }
  10175   truncateSync(p, len) {
  10176     return this.realFs.truncateSync(npath.fromPortablePath(p), len);
  10177   }
  10178   async ftruncatePromise(fd, len) {
  10179     return await new Promise((resolve, reject) => {
  10180       this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject));
  10181     });
  10182   }
  10183   ftruncateSync(fd, len) {
  10184     return this.realFs.ftruncateSync(fd, len);
  10185   }
  10186   watch(p, a, b) {
  10187     return this.realFs.watch(
  10188       npath.fromPortablePath(p),
  10189       a,
  10190       b
  10191     );
  10192   }
  10193   watchFile(p, a, b) {
  10194     return this.realFs.watchFile(
  10195       npath.fromPortablePath(p),
  10196       a,
  10197       b
  10198     );
  10199   }
  10200   unwatchFile(p, cb) {
  10201     return this.realFs.unwatchFile(npath.fromPortablePath(p), cb);
  10202   }
  10203   makeCallback(resolve, reject) {
  10204     return (err, result) => {
  10205       if (err) {
  10206         reject(err);
  10207       } else {
  10208         resolve(result);
  10209       }
  10210     };
  10211   }
  10212 }
  10213 
  10214 function assertStatus(current, expected) {
  10215   if (current !== expected) {
  10216     throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`);
  10217   }
  10218 }
  10219 class CustomStatWatcher extends events.EventEmitter {
  10220   constructor(fakeFs, path, { bigint = false } = {}) {
  10221     super();
  10222     this.status = "ready" /* Ready */;
  10223     this.changeListeners = /* @__PURE__ */ new Map();
  10224     this.startTimeout = null;
  10225     this.fakeFs = fakeFs;
  10226     this.path = path;
  10227     this.bigint = bigint;
  10228     this.lastStats = this.stat();
  10229   }
  10230   static create(fakeFs, path, opts) {
  10231     const statWatcher = new CustomStatWatcher(fakeFs, path, opts);
  10232     statWatcher.start();
  10233     return statWatcher;
  10234   }
  10235   start() {
  10236     assertStatus(this.status, "ready" /* Ready */);
  10237     this.status = "running" /* Running */;
  10238     this.startTimeout = setTimeout(() => {
  10239       this.startTimeout = null;
  10240       if (!this.fakeFs.existsSync(this.path)) {
  10241         this.emit("change" /* Change */, this.lastStats, this.lastStats);
  10242       }
  10243     }, 3);
  10244   }
  10245   stop() {
  10246     assertStatus(this.status, "running" /* Running */);
  10247     this.status = "stopped" /* Stopped */;
  10248     if (this.startTimeout !== null) {
  10249       clearTimeout(this.startTimeout);
  10250       this.startTimeout = null;
  10251     }
  10252     this.emit("stop" /* Stop */);
  10253   }
  10254   stat() {
  10255     try {
  10256       return this.fakeFs.statSync(this.path, { bigint: this.bigint });
  10257     } catch (error) {
  10258       const statInstance = this.bigint ? new BigIntStatsEntry() : new StatEntry();
  10259       return clearStats(statInstance);
  10260     }
  10261   }
  10262   makeInterval(opts) {
  10263     const interval = setInterval(() => {
  10264       const currentStats = this.stat();
  10265       const previousStats = this.lastStats;
  10266       if (areStatsEqual(currentStats, previousStats))
  10267         return;
  10268       this.lastStats = currentStats;
  10269       this.emit("change" /* Change */, currentStats, previousStats);
  10270     }, opts.interval);
  10271     return opts.persistent ? interval : interval.unref();
  10272   }
  10273   registerChangeListener(listener, opts) {
  10274     this.addListener("change" /* Change */, listener);
  10275     this.changeListeners.set(listener, this.makeInterval(opts));
  10276   }
  10277   unregisterChangeListener(listener) {
  10278     this.removeListener("change" /* Change */, listener);
  10279     const interval = this.changeListeners.get(listener);
  10280     if (typeof interval !== `undefined`)
  10281       clearInterval(interval);
  10282     this.changeListeners.delete(listener);
  10283   }
  10284   unregisterAllChangeListeners() {
  10285     for (const listener of this.changeListeners.keys()) {
  10286       this.unregisterChangeListener(listener);
  10287     }
  10288   }
  10289   hasChangeListeners() {
  10290     return this.changeListeners.size > 0;
  10291   }
  10292   ref() {
  10293     for (const interval of this.changeListeners.values())
  10294       interval.ref();
  10295     return this;
  10296   }
  10297   unref() {
  10298     for (const interval of this.changeListeners.values())
  10299       interval.unref();
  10300     return this;
  10301   }
  10302 }
  10303 
  10304 const statWatchersByFakeFS = /* @__PURE__ */ new WeakMap();
  10305 function watchFile(fakeFs, path, a, b) {
  10306   let bigint;
  10307   let persistent;
  10308   let interval;
  10309   let listener;
  10310   switch (typeof a) {
  10311     case `function`:
  10312       {
  10313         bigint = false;
  10314         persistent = true;
  10315         interval = 5007;
  10316         listener = a;
  10317       }
  10318       break;
  10319     default:
  10320       {
  10321         ({
  10322           bigint = false,
  10323           persistent = true,
  10324           interval = 5007
  10325         } = a);
  10326         listener = b;
  10327       }
  10328       break;
  10329   }
  10330   let statWatchers = statWatchersByFakeFS.get(fakeFs);
  10331   if (typeof statWatchers === `undefined`)
  10332     statWatchersByFakeFS.set(fakeFs, statWatchers = /* @__PURE__ */ new Map());
  10333   let statWatcher = statWatchers.get(path);
  10334   if (typeof statWatcher === `undefined`) {
  10335     statWatcher = CustomStatWatcher.create(fakeFs, path, { bigint });
  10336     statWatchers.set(path, statWatcher);
  10337   }
  10338   statWatcher.registerChangeListener(listener, { persistent, interval });
  10339   return statWatcher;
  10340 }
  10341 function unwatchFile(fakeFs, path, cb) {
  10342   const statWatchers = statWatchersByFakeFS.get(fakeFs);
  10343   if (typeof statWatchers === `undefined`)
  10344     return;
  10345   const statWatcher = statWatchers.get(path);
  10346   if (typeof statWatcher === `undefined`)
  10347     return;
  10348   if (typeof cb === `undefined`)
  10349     statWatcher.unregisterAllChangeListeners();
  10350   else
  10351     statWatcher.unregisterChangeListener(cb);
  10352   if (!statWatcher.hasChangeListeners()) {
  10353     statWatcher.stop();
  10354     statWatchers.delete(path);
  10355   }
  10356 }
  10357 function unwatchAllFiles(fakeFs) {
  10358   const statWatchers = statWatchersByFakeFS.get(fakeFs);
  10359   if (typeof statWatchers === `undefined`)
  10360     return;
  10361   for (const path of statWatchers.keys()) {
  10362     unwatchFile(fakeFs, path);
  10363   }
  10364 }
  10365 
  10366 const DEFAULT_COMPRESSION_LEVEL = `mixed`;
  10367 function toUnixTimestamp(time) {
  10368   if (typeof time === `string` && String(+time) === time)
  10369     return +time;
  10370   if (Number.isFinite(time)) {
  10371     if (time < 0) {
  10372       return Date.now() / 1e3;
  10373     } else {
  10374       return time;
  10375     }
  10376   }
  10377   if (nodeUtils.types.isDate(time))
  10378     return time.getTime() / 1e3;
  10379   throw new Error(`Invalid time`);
  10380 }
  10381 function makeEmptyArchive() {
  10382   return Buffer.from([
  10383     80,
  10384     75,
  10385     5,
  10386     6,
  10387     0,
  10388     0,
  10389     0,
  10390     0,
  10391     0,
  10392     0,
  10393     0,
  10394     0,
  10395     0,
  10396     0,
  10397     0,
  10398     0,
  10399     0,
  10400     0,
  10401     0,
  10402     0,
  10403     0,
  10404     0
  10405   ]);
  10406 }
  10407 class ZipFS extends BasePortableFakeFS {
  10408   constructor(source, opts) {
  10409     super();
  10410     this.lzSource = null;
  10411     this.listings = /* @__PURE__ */ new Map();
  10412     this.entries = /* @__PURE__ */ new Map();
  10413     this.fileSources = /* @__PURE__ */ new Map();
  10414     this.fds = /* @__PURE__ */ new Map();
  10415     this.nextFd = 0;
  10416     this.ready = false;
  10417     this.readOnly = false;
  10418     this.libzip = opts.libzip;
  10419     const pathOptions = opts;
  10420     this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL;
  10421     source != null ? source : source = makeEmptyArchive();
  10422     if (typeof source === `string`) {
  10423       const { baseFs = new NodeFS() } = pathOptions;
  10424       this.baseFs = baseFs;
  10425       this.path = source;
  10426     } else {
  10427       this.path = null;
  10428       this.baseFs = null;
  10429     }
  10430     if (opts.stats) {
  10431       this.stats = opts.stats;
  10432     } else {
  10433       if (typeof source === `string`) {
  10434         try {
  10435           this.stats = this.baseFs.statSync(source);
  10436         } catch (error) {
  10437           if (error.code === `ENOENT` && pathOptions.create) {
  10438             this.stats = makeDefaultStats();
  10439           } else {
  10440             throw error;
  10441           }
  10442         }
  10443       } else {
  10444         this.stats = makeDefaultStats();
  10445       }
  10446     }
  10447     const errPtr = this.libzip.malloc(4);
  10448     try {
  10449       let flags = 0;
  10450       if (typeof source === `string` && pathOptions.create)
  10451         flags |= this.libzip.ZIP_CREATE | this.libzip.ZIP_TRUNCATE;
  10452       if (opts.readOnly) {
  10453         flags |= this.libzip.ZIP_RDONLY;
  10454         this.readOnly = true;
  10455       }
  10456       if (typeof source === `string`) {
  10457         this.zip = this.libzip.open(npath.fromPortablePath(source), flags, errPtr);
  10458       } else {
  10459         const lzSource = this.allocateUnattachedSource(source);
  10460         try {
  10461           this.zip = this.libzip.openFromSource(lzSource, flags, errPtr);
  10462           this.lzSource = lzSource;
  10463         } catch (error) {
  10464           this.libzip.source.free(lzSource);
  10465           throw error;
  10466         }
  10467       }
  10468       if (this.zip === 0) {
  10469         const error = this.libzip.struct.errorS();
  10470         this.libzip.error.initWithCode(error, this.libzip.getValue(errPtr, `i32`));
  10471         throw this.makeLibzipError(error);
  10472       }
  10473     } finally {
  10474       this.libzip.free(errPtr);
  10475     }
  10476     this.listings.set(PortablePath.root, /* @__PURE__ */ new Set());
  10477     const entryCount = this.libzip.getNumEntries(this.zip, 0);
  10478     for (let t = 0; t < entryCount; ++t) {
  10479       const raw = this.libzip.getName(this.zip, t, 0);
  10480       if (ppath.isAbsolute(raw))
  10481         continue;
  10482       const p = ppath.resolve(PortablePath.root, raw);
  10483       this.registerEntry(p, t);
  10484       if (raw.endsWith(`/`)) {
  10485         this.registerListing(p);
  10486       }
  10487     }
  10488     this.symlinkCount = this.libzip.ext.countSymlinks(this.zip);
  10489     if (this.symlinkCount === -1)
  10490       throw this.makeLibzipError(this.libzip.getError(this.zip));
  10491     this.ready = true;
  10492   }
  10493   makeLibzipError(error) {
  10494     const errorCode = this.libzip.struct.errorCodeZip(error);
  10495     const strerror = this.libzip.error.strerror(error);
  10496     const libzipError = new LibzipError(strerror, this.libzip.errors[errorCode]);
  10497     if (errorCode === this.libzip.errors.ZIP_ER_CHANGED)
  10498       throw new Error(`Assertion failed: Unexpected libzip error: ${libzipError.message}`);
  10499     return libzipError;
  10500   }
  10501   getExtractHint(hints) {
  10502     for (const fileName of this.entries.keys()) {
  10503       const ext = this.pathUtils.extname(fileName);
  10504       if (hints.relevantExtensions.has(ext)) {
  10505         return true;
  10506       }
  10507     }
  10508     return false;
  10509   }
  10510   getAllFiles() {
  10511     return Array.from(this.entries.keys());
  10512   }
  10513   getRealPath() {
  10514     if (!this.path)
  10515       throw new Error(`ZipFS don't have real paths when loaded from a buffer`);
  10516     return this.path;
  10517   }
  10518   getBufferAndClose() {
  10519     this.prepareClose();
  10520     if (!this.lzSource)
  10521       throw new Error(`ZipFS was not created from a Buffer`);
  10522     try {
  10523       this.libzip.source.keep(this.lzSource);
  10524       if (this.libzip.close(this.zip) === -1)
  10525         throw this.makeLibzipError(this.libzip.getError(this.zip));
  10526       if (this.libzip.source.open(this.lzSource) === -1)
  10527         throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
  10528       if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1)
  10529         throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
  10530       const size = this.libzip.source.tell(this.lzSource);
  10531       if (size === -1)
  10532         throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
  10533       if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_SET) === -1)
  10534         throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
  10535       const buffer = this.libzip.malloc(size);
  10536       if (!buffer)
  10537         throw new Error(`Couldn't allocate enough memory`);
  10538       try {
  10539         const rc = this.libzip.source.read(this.lzSource, buffer, size);
  10540         if (rc === -1)
  10541           throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
  10542         else if (rc < size)
  10543           throw new Error(`Incomplete read`);
  10544         else if (rc > size)
  10545           throw new Error(`Overread`);
  10546         const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size);
  10547         return Buffer.from(memory);
  10548       } finally {
  10549         this.libzip.free(buffer);
  10550       }
  10551     } finally {
  10552       this.libzip.source.close(this.lzSource);
  10553       this.libzip.source.free(this.lzSource);
  10554       this.ready = false;
  10555     }
  10556   }
  10557   prepareClose() {
  10558     if (!this.ready)
  10559       throw EBUSY(`archive closed, close`);
  10560     unwatchAllFiles(this);
  10561   }
  10562   saveAndClose() {
  10563     if (!this.path || !this.baseFs)
  10564       throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`);
  10565     this.prepareClose();
  10566     if (this.readOnly) {
  10567       this.discardAndClose();
  10568       return;
  10569     }
  10570     const newMode = this.baseFs.existsSync(this.path) || this.stats.mode === DEFAULT_MODE ? void 0 : this.stats.mode;
  10571     if (this.entries.size === 0) {
  10572       this.discardAndClose();
  10573       this.baseFs.writeFileSync(this.path, makeEmptyArchive(), { mode: newMode });
  10574     } else {
  10575       const rc = this.libzip.close(this.zip);
  10576       if (rc === -1)
  10577         throw this.makeLibzipError(this.libzip.getError(this.zip));
  10578       if (typeof newMode !== `undefined`) {
  10579         this.baseFs.chmodSync(this.path, newMode);
  10580       }
  10581     }
  10582     this.ready = false;
  10583   }
  10584   discardAndClose() {
  10585     this.prepareClose();
  10586     this.libzip.discard(this.zip);
  10587     this.ready = false;
  10588   }
  10589   resolve(p) {
  10590     return ppath.resolve(PortablePath.root, p);
  10591   }
  10592   async openPromise(p, flags, mode) {
  10593     return this.openSync(p, flags, mode);
  10594   }
  10595   openSync(p, flags, mode) {
  10596     const fd = this.nextFd++;
  10597     this.fds.set(fd, { cursor: 0, p });
  10598     return fd;
  10599   }
  10600   hasOpenFileHandles() {
  10601     return !!this.fds.size;
  10602   }
  10603   async opendirPromise(p, opts) {
  10604     return this.opendirSync(p, opts);
  10605   }
  10606   opendirSync(p, opts = {}) {
  10607     const resolvedP = this.resolveFilename(`opendir '${p}'`, p);
  10608     if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP))
  10609       throw ENOENT(`opendir '${p}'`);
  10610     const directoryListing = this.listings.get(resolvedP);
  10611     if (!directoryListing)
  10612       throw ENOTDIR(`opendir '${p}'`);
  10613     const entries = [...directoryListing];
  10614     const fd = this.openSync(resolvedP, `r`);
  10615     const onClose = () => {
  10616       this.closeSync(fd);
  10617     };
  10618     return opendir(this, resolvedP, entries, { onClose });
  10619   }
  10620   async readPromise(fd, buffer, offset, length, position) {
  10621     return this.readSync(fd, buffer, offset, length, position);
  10622   }
  10623   readSync(fd, buffer, offset = 0, length = buffer.byteLength, position = -1) {
  10624     const entry = this.fds.get(fd);
  10625     if (typeof entry === `undefined`)
  10626       throw EBADF(`read`);
  10627     const realPosition = position === -1 || position === null ? entry.cursor : position;
  10628     const source = this.readFileSync(entry.p);
  10629     source.copy(buffer, offset, realPosition, realPosition + length);
  10630     const bytesRead = Math.max(0, Math.min(source.length - realPosition, length));
  10631     if (position === -1 || position === null)
  10632       entry.cursor += bytesRead;
  10633     return bytesRead;
  10634   }
  10635   async writePromise(fd, buffer, offset, length, position) {
  10636     if (typeof buffer === `string`) {
  10637       return this.writeSync(fd, buffer, position);
  10638     } else {
  10639       return this.writeSync(fd, buffer, offset, length, position);
  10640     }
  10641   }
  10642   writeSync(fd, buffer, offset, length, position) {
  10643     const entry = this.fds.get(fd);
  10644     if (typeof entry === `undefined`)
  10645       throw EBADF(`read`);
  10646     throw new Error(`Unimplemented`);
  10647   }
  10648   async closePromise(fd) {
  10649     return this.closeSync(fd);
  10650   }
  10651   closeSync(fd) {
  10652     const entry = this.fds.get(fd);
  10653     if (typeof entry === `undefined`)
  10654       throw EBADF(`read`);
  10655     this.fds.delete(fd);
  10656   }
  10657   createReadStream(p, { encoding } = {}) {
  10658     if (p === null)
  10659       throw new Error(`Unimplemented`);
  10660     const fd = this.openSync(p, `r`);
  10661     const stream$1 = Object.assign(
  10662       new stream.PassThrough({
  10663         emitClose: true,
  10664         autoDestroy: true,
  10665         destroy: (error, callback) => {
  10666           clearImmediate(immediate);
  10667           this.closeSync(fd);
  10668           callback(error);
  10669         }
  10670       }),
  10671       {
  10672         close() {
  10673           stream$1.destroy();
  10674         },
  10675         bytesRead: 0,
  10676         path: p
  10677       }
  10678     );
  10679     const immediate = setImmediate(async () => {
  10680       try {
  10681         const data = await this.readFilePromise(p, encoding);
  10682         stream$1.bytesRead = data.length;
  10683         stream$1.end(data);
  10684       } catch (error) {
  10685         stream$1.destroy(error);
  10686       }
  10687     });
  10688     return stream$1;
  10689   }
  10690   createWriteStream(p, { encoding } = {}) {
  10691     if (this.readOnly)
  10692       throw EROFS(`open '${p}'`);
  10693     if (p === null)
  10694       throw new Error(`Unimplemented`);
  10695     const chunks = [];
  10696     const fd = this.openSync(p, `w`);
  10697     const stream$1 = Object.assign(
  10698       new stream.PassThrough({
  10699         autoDestroy: true,
  10700         emitClose: true,
  10701         destroy: (error, callback) => {
  10702           try {
  10703             if (error) {
  10704               callback(error);
  10705             } else {
  10706               this.writeFileSync(p, Buffer.concat(chunks), encoding);
  10707               callback(null);
  10708             }
  10709           } catch (err) {
  10710             callback(err);
  10711           } finally {
  10712             this.closeSync(fd);
  10713           }
  10714         }
  10715       }),
  10716       {
  10717         bytesWritten: 0,
  10718         path: p,
  10719         close() {
  10720           stream$1.destroy();
  10721         }
  10722       }
  10723     );
  10724     stream$1.on(`data`, (chunk) => {
  10725       const chunkBuffer = Buffer.from(chunk);
  10726       stream$1.bytesWritten += chunkBuffer.length;
  10727       chunks.push(chunkBuffer);
  10728     });
  10729     return stream$1;
  10730   }
  10731   async realpathPromise(p) {
  10732     return this.realpathSync(p);
  10733   }
  10734   realpathSync(p) {
  10735     const resolvedP = this.resolveFilename(`lstat '${p}'`, p);
  10736     if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP))
  10737       throw ENOENT(`lstat '${p}'`);
  10738     return resolvedP;
  10739   }
  10740   async existsPromise(p) {
  10741     return this.existsSync(p);
  10742   }
  10743   existsSync(p) {
  10744     if (!this.ready)
  10745       throw EBUSY(`archive closed, existsSync '${p}'`);
  10746     if (this.symlinkCount === 0) {
  10747       const resolvedP2 = ppath.resolve(PortablePath.root, p);
  10748       return this.entries.has(resolvedP2) || this.listings.has(resolvedP2);
  10749     }
  10750     let resolvedP;
  10751     try {
  10752       resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, false);
  10753     } catch (error) {
  10754       return false;
  10755     }
  10756     if (resolvedP === void 0)
  10757       return false;
  10758     return this.entries.has(resolvedP) || this.listings.has(resolvedP);
  10759   }
  10760   async accessPromise(p, mode) {
  10761     return this.accessSync(p, mode);
  10762   }
  10763   accessSync(p, mode = fs.constants.F_OK) {
  10764     const resolvedP = this.resolveFilename(`access '${p}'`, p);
  10765     if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP))
  10766       throw ENOENT(`access '${p}'`);
  10767     if (this.readOnly && mode & fs.constants.W_OK) {
  10768       throw EROFS(`access '${p}'`);
  10769     }
  10770   }
  10771   async statPromise(p, opts = { bigint: false }) {
  10772     if (opts.bigint)
  10773       return this.statSync(p, { bigint: true });
  10774     return this.statSync(p);
  10775   }
  10776   statSync(p, opts = { bigint: false, throwIfNoEntry: true }) {
  10777     const resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, opts.throwIfNoEntry);
  10778     if (resolvedP === void 0)
  10779       return void 0;
  10780     if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) {
  10781       if (opts.throwIfNoEntry === false)
  10782         return void 0;
  10783       throw ENOENT(`stat '${p}'`);
  10784     }
  10785     if (p[p.length - 1] === `/` && !this.listings.has(resolvedP))
  10786       throw ENOTDIR(`stat '${p}'`);
  10787     return this.statImpl(`stat '${p}'`, resolvedP, opts);
  10788   }
  10789   async fstatPromise(fd, opts) {
  10790     return this.fstatSync(fd, opts);
  10791   }
  10792   fstatSync(fd, opts) {
  10793     const entry = this.fds.get(fd);
  10794     if (typeof entry === `undefined`)
  10795       throw EBADF(`fstatSync`);
  10796     const { p } = entry;
  10797     const resolvedP = this.resolveFilename(`stat '${p}'`, p);
  10798     if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP))
  10799       throw ENOENT(`stat '${p}'`);
  10800     if (p[p.length - 1] === `/` && !this.listings.has(resolvedP))
  10801       throw ENOTDIR(`stat '${p}'`);
  10802     return this.statImpl(`fstat '${p}'`, resolvedP, opts);
  10803   }
  10804   async lstatPromise(p, opts = { bigint: false }) {
  10805     if (opts.bigint)
  10806       return this.lstatSync(p, { bigint: true });
  10807     return this.lstatSync(p);
  10808   }
  10809   lstatSync(p, opts = { bigint: false, throwIfNoEntry: true }) {
  10810     const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false, opts.throwIfNoEntry);
  10811     if (resolvedP === void 0)
  10812       return void 0;
  10813     if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) {
  10814       if (opts.throwIfNoEntry === false)
  10815         return void 0;
  10816       throw ENOENT(`lstat '${p}'`);
  10817     }
  10818     if (p[p.length - 1] === `/` && !this.listings.has(resolvedP))
  10819       throw ENOTDIR(`lstat '${p}'`);
  10820     return this.statImpl(`lstat '${p}'`, resolvedP, opts);
  10821   }
  10822   statImpl(reason, p, opts = {}) {
  10823     const entry = this.entries.get(p);
  10824     if (typeof entry !== `undefined`) {
  10825       const stat = this.libzip.struct.statS();
  10826       const rc = this.libzip.statIndex(this.zip, entry, 0, 0, stat);
  10827       if (rc === -1)
  10828         throw this.makeLibzipError(this.libzip.getError(this.zip));
  10829       const uid = this.stats.uid;
  10830       const gid = this.stats.gid;
  10831       const size = this.libzip.struct.statSize(stat) >>> 0;
  10832       const blksize = 512;
  10833       const blocks = Math.ceil(size / blksize);
  10834       const mtimeMs = (this.libzip.struct.statMtime(stat) >>> 0) * 1e3;
  10835       const atimeMs = mtimeMs;
  10836       const birthtimeMs = mtimeMs;
  10837       const ctimeMs = mtimeMs;
  10838       const atime = new Date(atimeMs);
  10839       const birthtime = new Date(birthtimeMs);
  10840       const ctime = new Date(ctimeMs);
  10841       const mtime = new Date(mtimeMs);
  10842       const type = this.listings.has(p) ? S_IFDIR : this.isSymbolicLink(entry) ? S_IFLNK : S_IFREG;
  10843       const defaultMode = type === S_IFDIR ? 493 : 420;
  10844       const mode = type | this.getUnixMode(entry, defaultMode) & 511;
  10845       const crc = this.libzip.struct.statCrc(stat);
  10846       const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc });
  10847       return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance;
  10848     }
  10849     if (this.listings.has(p)) {
  10850       const uid = this.stats.uid;
  10851       const gid = this.stats.gid;
  10852       const size = 0;
  10853       const blksize = 512;
  10854       const blocks = 0;
  10855       const atimeMs = this.stats.mtimeMs;
  10856       const birthtimeMs = this.stats.mtimeMs;
  10857       const ctimeMs = this.stats.mtimeMs;
  10858       const mtimeMs = this.stats.mtimeMs;
  10859       const atime = new Date(atimeMs);
  10860       const birthtime = new Date(birthtimeMs);
  10861       const ctime = new Date(ctimeMs);
  10862       const mtime = new Date(mtimeMs);
  10863       const mode = S_IFDIR | 493;
  10864       const crc = 0;
  10865       const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc });
  10866       return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance;
  10867     }
  10868     throw new Error(`Unreachable`);
  10869   }
  10870   getUnixMode(index, defaultMode) {
  10871     const rc = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S);
  10872     if (rc === -1)
  10873       throw this.makeLibzipError(this.libzip.getError(this.zip));
  10874     const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0;
  10875     if (opsys !== this.libzip.ZIP_OPSYS_UNIX)
  10876       return defaultMode;
  10877     return this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16;
  10878   }
  10879   registerListing(p) {
  10880     const existingListing = this.listings.get(p);
  10881     if (existingListing)
  10882       return existingListing;
  10883     const parentListing = this.registerListing(ppath.dirname(p));
  10884     parentListing.add(ppath.basename(p));
  10885     const newListing = /* @__PURE__ */ new Set();
  10886     this.listings.set(p, newListing);
  10887     return newListing;
  10888   }
  10889   registerEntry(p, index) {
  10890     const parentListing = this.registerListing(ppath.dirname(p));
  10891     parentListing.add(ppath.basename(p));
  10892     this.entries.set(p, index);
  10893   }
  10894   unregisterListing(p) {
  10895     this.listings.delete(p);
  10896     const parentListing = this.listings.get(ppath.dirname(p));
  10897     parentListing == null ? void 0 : parentListing.delete(ppath.basename(p));
  10898   }
  10899   unregisterEntry(p) {
  10900     this.unregisterListing(p);
  10901     const entry = this.entries.get(p);
  10902     this.entries.delete(p);
  10903     if (typeof entry === `undefined`)
  10904       return;
  10905     this.fileSources.delete(entry);
  10906     if (this.isSymbolicLink(entry)) {
  10907       this.symlinkCount--;
  10908     }
  10909   }
  10910   deleteEntry(p, index) {
  10911     this.unregisterEntry(p);
  10912     const rc = this.libzip.delete(this.zip, index);
  10913     if (rc === -1) {
  10914       throw this.makeLibzipError(this.libzip.getError(this.zip));
  10915     }
  10916   }
  10917   resolveFilename(reason, p, resolveLastComponent = true, throwIfNoEntry = true) {
  10918     if (!this.ready)
  10919       throw EBUSY(`archive closed, ${reason}`);
  10920     let resolvedP = ppath.resolve(PortablePath.root, p);
  10921     if (resolvedP === `/`)
  10922       return PortablePath.root;
  10923     const fileIndex = this.entries.get(resolvedP);
  10924     if (resolveLastComponent && fileIndex !== void 0) {
  10925       if (this.symlinkCount !== 0 && this.isSymbolicLink(fileIndex)) {
  10926         const target = this.getFileSource(fileIndex).toString();
  10927         return this.resolveFilename(reason, ppath.resolve(ppath.dirname(resolvedP), target), true, throwIfNoEntry);
  10928       } else {
  10929         return resolvedP;
  10930       }
  10931     }
  10932     while (true) {
  10933       const parentP = this.resolveFilename(reason, ppath.dirname(resolvedP), true, throwIfNoEntry);
  10934       if (parentP === void 0)
  10935         return parentP;
  10936       const isDir = this.listings.has(parentP);
  10937       const doesExist = this.entries.has(parentP);
  10938       if (!isDir && !doesExist) {
  10939         if (throwIfNoEntry === false)
  10940           return void 0;
  10941         throw ENOENT(reason);
  10942       }
  10943       if (!isDir)
  10944         throw ENOTDIR(reason);
  10945       resolvedP = ppath.resolve(parentP, ppath.basename(resolvedP));
  10946       if (!resolveLastComponent || this.symlinkCount === 0)
  10947         break;
  10948       const index = this.libzip.name.locate(this.zip, resolvedP.slice(1));
  10949       if (index === -1)
  10950         break;
  10951       if (this.isSymbolicLink(index)) {
  10952         const target = this.getFileSource(index).toString();
  10953         resolvedP = ppath.resolve(ppath.dirname(resolvedP), target);
  10954       } else {
  10955         break;
  10956       }
  10957     }
  10958     return resolvedP;
  10959   }
  10960   allocateBuffer(content) {
  10961     if (!Buffer.isBuffer(content))
  10962       content = Buffer.from(content);
  10963     const buffer = this.libzip.malloc(content.byteLength);
  10964     if (!buffer)
  10965       throw new Error(`Couldn't allocate enough memory`);
  10966     const heap = new Uint8Array(this.libzip.HEAPU8.buffer, buffer, content.byteLength);
  10967     heap.set(content);
  10968     return { buffer, byteLength: content.byteLength };
  10969   }
  10970   allocateUnattachedSource(content) {
  10971     const error = this.libzip.struct.errorS();
  10972     const { buffer, byteLength } = this.allocateBuffer(content);
  10973     const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, true, error);
  10974     if (source === 0) {
  10975       this.libzip.free(error);
  10976       throw this.makeLibzipError(error);
  10977     }
  10978     return source;
  10979   }
  10980   allocateSource(content) {
  10981     const { buffer, byteLength } = this.allocateBuffer(content);
  10982     const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, true);
  10983     if (source === 0) {
  10984       this.libzip.free(buffer);
  10985       throw this.makeLibzipError(this.libzip.getError(this.zip));
  10986     }
  10987     return source;
  10988   }
  10989   setFileSource(p, content) {
  10990     const buffer = Buffer.isBuffer(content) ? content : Buffer.from(content);
  10991     const target = ppath.relative(PortablePath.root, p);
  10992     const lzSource = this.allocateSource(content);
  10993     try {
  10994       const newIndex = this.libzip.file.add(this.zip, target, lzSource, this.libzip.ZIP_FL_OVERWRITE);
  10995       if (newIndex === -1)
  10996         throw this.makeLibzipError(this.libzip.getError(this.zip));
  10997       if (this.level !== `mixed`) {
  10998         const method = this.level === 0 ? this.libzip.ZIP_CM_STORE : this.libzip.ZIP_CM_DEFLATE;
  10999         const rc = this.libzip.file.setCompression(this.zip, newIndex, 0, method, this.level);
  11000         if (rc === -1) {
  11001           throw this.makeLibzipError(this.libzip.getError(this.zip));
  11002         }
  11003       }
  11004       this.fileSources.set(newIndex, buffer);
  11005       return newIndex;
  11006     } catch (error) {
  11007       this.libzip.source.free(lzSource);
  11008       throw error;
  11009     }
  11010   }
  11011   isSymbolicLink(index) {
  11012     if (this.symlinkCount === 0)
  11013       return false;
  11014     const attrs = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S);
  11015     if (attrs === -1)
  11016       throw this.makeLibzipError(this.libzip.getError(this.zip));
  11017     const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0;
  11018     if (opsys !== this.libzip.ZIP_OPSYS_UNIX)
  11019       return false;
  11020     const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16;
  11021     return (attributes & S_IFMT) === S_IFLNK;
  11022   }
  11023   getFileSource(index, opts = { asyncDecompress: false }) {
  11024     const cachedFileSource = this.fileSources.get(index);
  11025     if (typeof cachedFileSource !== `undefined`)
  11026       return cachedFileSource;
  11027     const stat = this.libzip.struct.statS();
  11028     const rc = this.libzip.statIndex(this.zip, index, 0, 0, stat);
  11029     if (rc === -1)
  11030       throw this.makeLibzipError(this.libzip.getError(this.zip));
  11031     const size = this.libzip.struct.statCompSize(stat);
  11032     const compressionMethod = this.libzip.struct.statCompMethod(stat);
  11033     const buffer = this.libzip.malloc(size);
  11034     try {
  11035       const file = this.libzip.fopenIndex(this.zip, index, 0, this.libzip.ZIP_FL_COMPRESSED);
  11036       if (file === 0)
  11037         throw this.makeLibzipError(this.libzip.getError(this.zip));
  11038       try {
  11039         const rc2 = this.libzip.fread(file, buffer, size, 0);
  11040         if (rc2 === -1)
  11041           throw this.makeLibzipError(this.libzip.file.getError(file));
  11042         else if (rc2 < size)
  11043           throw new Error(`Incomplete read`);
  11044         else if (rc2 > size)
  11045           throw new Error(`Overread`);
  11046         const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size);
  11047         const data = Buffer.from(memory);
  11048         if (compressionMethod === 0) {
  11049           this.fileSources.set(index, data);
  11050           return data;
  11051         } else if (opts.asyncDecompress) {
  11052           return new Promise((resolve, reject) => {
  11053             zlib__default.default.inflateRaw(data, (error, result) => {
  11054               if (error) {
  11055                 reject(error);
  11056               } else {
  11057                 this.fileSources.set(index, result);
  11058                 resolve(result);
  11059               }
  11060             });
  11061           });
  11062         } else {
  11063           const decompressedData = zlib__default.default.inflateRawSync(data);
  11064           this.fileSources.set(index, decompressedData);
  11065           return decompressedData;
  11066         }
  11067       } finally {
  11068         this.libzip.fclose(file);
  11069       }
  11070     } finally {
  11071       this.libzip.free(buffer);
  11072     }
  11073   }
  11074   async fchmodPromise(fd, mask) {
  11075     return this.chmodPromise(this.fdToPath(fd, `fchmod`), mask);
  11076   }
  11077   fchmodSync(fd, mask) {
  11078     return this.chmodSync(this.fdToPath(fd, `fchmodSync`), mask);
  11079   }
  11080   async chmodPromise(p, mask) {
  11081     return this.chmodSync(p, mask);
  11082   }
  11083   chmodSync(p, mask) {
  11084     if (this.readOnly)
  11085       throw EROFS(`chmod '${p}'`);
  11086     mask &= 493;
  11087     const resolvedP = this.resolveFilename(`chmod '${p}'`, p, false);
  11088     const entry = this.entries.get(resolvedP);
  11089     if (typeof entry === `undefined`)
  11090       throw new Error(`Assertion failed: The entry should have been registered (${resolvedP})`);
  11091     const oldMod = this.getUnixMode(entry, S_IFREG | 0);
  11092     const newMod = oldMod & ~511 | mask;
  11093     const rc = this.libzip.file.setExternalAttributes(this.zip, entry, 0, 0, this.libzip.ZIP_OPSYS_UNIX, newMod << 16);
  11094     if (rc === -1) {
  11095       throw this.makeLibzipError(this.libzip.getError(this.zip));
  11096     }
  11097   }
  11098   async fchownPromise(fd, uid, gid) {
  11099     return this.chownPromise(this.fdToPath(fd, `fchown`), uid, gid);
  11100   }
  11101   fchownSync(fd, uid, gid) {
  11102     return this.chownSync(this.fdToPath(fd, `fchownSync`), uid, gid);
  11103   }
  11104   async chownPromise(p, uid, gid) {
  11105     return this.chownSync(p, uid, gid);
  11106   }
  11107   chownSync(p, uid, gid) {
  11108     throw new Error(`Unimplemented`);
  11109   }
  11110   async renamePromise(oldP, newP) {
  11111     return this.renameSync(oldP, newP);
  11112   }
  11113   renameSync(oldP, newP) {
  11114     throw new Error(`Unimplemented`);
  11115   }
  11116   async copyFilePromise(sourceP, destP, flags) {
  11117     const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags);
  11118     const source = await this.getFileSource(indexSource, { asyncDecompress: true });
  11119     const newIndex = this.setFileSource(resolvedDestP, source);
  11120     if (newIndex !== indexDest) {
  11121       this.registerEntry(resolvedDestP, newIndex);
  11122     }
  11123   }
  11124   copyFileSync(sourceP, destP, flags = 0) {
  11125     const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags);
  11126     const source = this.getFileSource(indexSource);
  11127     const newIndex = this.setFileSource(resolvedDestP, source);
  11128     if (newIndex !== indexDest) {
  11129       this.registerEntry(resolvedDestP, newIndex);
  11130     }
  11131   }
  11132   prepareCopyFile(sourceP, destP, flags = 0) {
  11133     if (this.readOnly)
  11134       throw EROFS(`copyfile '${sourceP} -> '${destP}'`);
  11135     if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0)
  11136       throw ENOSYS(`unsupported clone operation`, `copyfile '${sourceP}' -> ${destP}'`);
  11137     const resolvedSourceP = this.resolveFilename(`copyfile '${sourceP} -> ${destP}'`, sourceP);
  11138     const indexSource = this.entries.get(resolvedSourceP);
  11139     if (typeof indexSource === `undefined`)
  11140       throw EINVAL(`copyfile '${sourceP}' -> '${destP}'`);
  11141     const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP);
  11142     const indexDest = this.entries.get(resolvedDestP);
  11143     if ((flags & (fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`)
  11144       throw EEXIST(`copyfile '${sourceP}' -> '${destP}'`);
  11145     return {
  11146       indexSource,
  11147       resolvedDestP,
  11148       indexDest
  11149     };
  11150   }
  11151   async appendFilePromise(p, content, opts) {
  11152     if (this.readOnly)
  11153       throw EROFS(`open '${p}'`);
  11154     if (typeof opts === `undefined`)
  11155       opts = { flag: `a` };
  11156     else if (typeof opts === `string`)
  11157       opts = { flag: `a`, encoding: opts };
  11158     else if (typeof opts.flag === `undefined`)
  11159       opts = { flag: `a`, ...opts };
  11160     return this.writeFilePromise(p, content, opts);
  11161   }
  11162   appendFileSync(p, content, opts = {}) {
  11163     if (this.readOnly)
  11164       throw EROFS(`open '${p}'`);
  11165     if (typeof opts === `undefined`)
  11166       opts = { flag: `a` };
  11167     else if (typeof opts === `string`)
  11168       opts = { flag: `a`, encoding: opts };
  11169     else if (typeof opts.flag === `undefined`)
  11170       opts = { flag: `a`, ...opts };
  11171     return this.writeFileSync(p, content, opts);
  11172   }
  11173   fdToPath(fd, reason) {
  11174     var _a;
  11175     const path = (_a = this.fds.get(fd)) == null ? void 0 : _a.p;
  11176     if (typeof path === `undefined`)
  11177       throw EBADF(reason);
  11178     return path;
  11179   }
  11180   async writeFilePromise(p, content, opts) {
  11181     const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts);
  11182     if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`))
  11183       content = Buffer.concat([await this.getFileSource(index, { asyncDecompress: true }), Buffer.from(content)]);
  11184     if (encoding !== null)
  11185       content = content.toString(encoding);
  11186     const newIndex = this.setFileSource(resolvedP, content);
  11187     if (newIndex !== index)
  11188       this.registerEntry(resolvedP, newIndex);
  11189     if (mode !== null) {
  11190       await this.chmodPromise(resolvedP, mode);
  11191     }
  11192   }
  11193   writeFileSync(p, content, opts) {
  11194     const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts);
  11195     if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`))
  11196       content = Buffer.concat([this.getFileSource(index), Buffer.from(content)]);
  11197     if (encoding !== null)
  11198       content = content.toString(encoding);
  11199     const newIndex = this.setFileSource(resolvedP, content);
  11200     if (newIndex !== index)
  11201       this.registerEntry(resolvedP, newIndex);
  11202     if (mode !== null) {
  11203       this.chmodSync(resolvedP, mode);
  11204     }
  11205   }
  11206   prepareWriteFile(p, opts) {
  11207     if (typeof p === `number`)
  11208       p = this.fdToPath(p, `read`);
  11209     if (this.readOnly)
  11210       throw EROFS(`open '${p}'`);
  11211     const resolvedP = this.resolveFilename(`open '${p}'`, p);
  11212     if (this.listings.has(resolvedP))
  11213       throw EISDIR(`open '${p}'`);
  11214     let encoding = null, mode = null;
  11215     if (typeof opts === `string`) {
  11216       encoding = opts;
  11217     } else if (typeof opts === `object`) {
  11218       ({
  11219         encoding = null,
  11220         mode = null
  11221       } = opts);
  11222     }
  11223     const index = this.entries.get(resolvedP);
  11224     return {
  11225       encoding,
  11226       mode,
  11227       resolvedP,
  11228       index
  11229     };
  11230   }
  11231   async unlinkPromise(p) {
  11232     return this.unlinkSync(p);
  11233   }
  11234   unlinkSync(p) {
  11235     if (this.readOnly)
  11236       throw EROFS(`unlink '${p}'`);
  11237     const resolvedP = this.resolveFilename(`unlink '${p}'`, p);
  11238     if (this.listings.has(resolvedP))
  11239       throw EISDIR(`unlink '${p}'`);
  11240     const index = this.entries.get(resolvedP);
  11241     if (typeof index === `undefined`)
  11242       throw EINVAL(`unlink '${p}'`);
  11243     this.deleteEntry(resolvedP, index);
  11244   }
  11245   async utimesPromise(p, atime, mtime) {
  11246     return this.utimesSync(p, atime, mtime);
  11247   }
  11248   utimesSync(p, atime, mtime) {
  11249     if (this.readOnly)
  11250       throw EROFS(`utimes '${p}'`);
  11251     const resolvedP = this.resolveFilename(`utimes '${p}'`, p);
  11252     this.utimesImpl(resolvedP, mtime);
  11253   }
  11254   async lutimesPromise(p, atime, mtime) {
  11255     return this.lutimesSync(p, atime, mtime);
  11256   }
  11257   lutimesSync(p, atime, mtime) {
  11258     if (this.readOnly)
  11259       throw EROFS(`lutimes '${p}'`);
  11260     const resolvedP = this.resolveFilename(`utimes '${p}'`, p, false);
  11261     this.utimesImpl(resolvedP, mtime);
  11262   }
  11263   utimesImpl(resolvedP, mtime) {
  11264     if (this.listings.has(resolvedP)) {
  11265       if (!this.entries.has(resolvedP))
  11266         this.hydrateDirectory(resolvedP);
  11267     }
  11268     const entry = this.entries.get(resolvedP);
  11269     if (entry === void 0)
  11270       throw new Error(`Unreachable`);
  11271     const rc = this.libzip.file.setMtime(this.zip, entry, 0, toUnixTimestamp(mtime), 0);
  11272     if (rc === -1) {
  11273       throw this.makeLibzipError(this.libzip.getError(this.zip));
  11274     }
  11275   }
  11276   async mkdirPromise(p, opts) {
  11277     return this.mkdirSync(p, opts);
  11278   }
  11279   mkdirSync(p, { mode = 493, recursive = false } = {}) {
  11280     if (recursive)
  11281       return this.mkdirpSync(p, { chmod: mode });
  11282     if (this.readOnly)
  11283       throw EROFS(`mkdir '${p}'`);
  11284     const resolvedP = this.resolveFilename(`mkdir '${p}'`, p);
  11285     if (this.entries.has(resolvedP) || this.listings.has(resolvedP))
  11286       throw EEXIST(`mkdir '${p}'`);
  11287     this.hydrateDirectory(resolvedP);
  11288     this.chmodSync(resolvedP, mode);
  11289     return void 0;
  11290   }
  11291   async rmdirPromise(p, opts) {
  11292     return this.rmdirSync(p, opts);
  11293   }
  11294   rmdirSync(p, { recursive = false } = {}) {
  11295     if (this.readOnly)
  11296       throw EROFS(`rmdir '${p}'`);
  11297     if (recursive) {
  11298       this.removeSync(p);
  11299       return;
  11300     }
  11301     const resolvedP = this.resolveFilename(`rmdir '${p}'`, p);
  11302     const directoryListing = this.listings.get(resolvedP);
  11303     if (!directoryListing)
  11304       throw ENOTDIR(`rmdir '${p}'`);
  11305     if (directoryListing.size > 0)
  11306       throw ENOTEMPTY(`rmdir '${p}'`);
  11307     const index = this.entries.get(resolvedP);
  11308     if (typeof index === `undefined`)
  11309       throw EINVAL(`rmdir '${p}'`);
  11310     this.deleteEntry(p, index);
  11311   }
  11312   hydrateDirectory(resolvedP) {
  11313     const index = this.libzip.dir.add(this.zip, ppath.relative(PortablePath.root, resolvedP));
  11314     if (index === -1)
  11315       throw this.makeLibzipError(this.libzip.getError(this.zip));
  11316     this.registerListing(resolvedP);
  11317     this.registerEntry(resolvedP, index);
  11318     return index;
  11319   }
  11320   async linkPromise(existingP, newP) {
  11321     return this.linkSync(existingP, newP);
  11322   }
  11323   linkSync(existingP, newP) {
  11324     throw EOPNOTSUPP(`link '${existingP}' -> '${newP}'`);
  11325   }
  11326   async symlinkPromise(target, p) {
  11327     return this.symlinkSync(target, p);
  11328   }
  11329   symlinkSync(target, p) {
  11330     if (this.readOnly)
  11331       throw EROFS(`symlink '${target}' -> '${p}'`);
  11332     const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p);
  11333     if (this.listings.has(resolvedP))
  11334       throw EISDIR(`symlink '${target}' -> '${p}'`);
  11335     if (this.entries.has(resolvedP))
  11336       throw EEXIST(`symlink '${target}' -> '${p}'`);
  11337     const index = this.setFileSource(resolvedP, target);
  11338     this.registerEntry(resolvedP, index);
  11339     const rc = this.libzip.file.setExternalAttributes(this.zip, index, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (S_IFLNK | 511) << 16);
  11340     if (rc === -1)
  11341       throw this.makeLibzipError(this.libzip.getError(this.zip));
  11342     this.symlinkCount += 1;
  11343   }
  11344   async readFilePromise(p, encoding) {
  11345     if (typeof encoding === `object`)
  11346       encoding = encoding ? encoding.encoding : void 0;
  11347     const data = await this.readFileBuffer(p, { asyncDecompress: true });
  11348     return encoding ? data.toString(encoding) : data;
  11349   }
  11350   readFileSync(p, encoding) {
  11351     if (typeof encoding === `object`)
  11352       encoding = encoding ? encoding.encoding : void 0;
  11353     const data = this.readFileBuffer(p);
  11354     return encoding ? data.toString(encoding) : data;
  11355   }
  11356   readFileBuffer(p, opts = { asyncDecompress: false }) {
  11357     if (typeof p === `number`)
  11358       p = this.fdToPath(p, `read`);
  11359     const resolvedP = this.resolveFilename(`open '${p}'`, p);
  11360     if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP))
  11361       throw ENOENT(`open '${p}'`);
  11362     if (p[p.length - 1] === `/` && !this.listings.has(resolvedP))
  11363       throw ENOTDIR(`open '${p}'`);
  11364     if (this.listings.has(resolvedP))
  11365       throw EISDIR(`read`);
  11366     const entry = this.entries.get(resolvedP);
  11367     if (entry === void 0)
  11368       throw new Error(`Unreachable`);
  11369     return this.getFileSource(entry, opts);
  11370   }
  11371   async readdirPromise(p, opts) {
  11372     return this.readdirSync(p, opts);
  11373   }
  11374   readdirSync(p, opts) {
  11375     const resolvedP = this.resolveFilename(`scandir '${p}'`, p);
  11376     if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP))
  11377       throw ENOENT(`scandir '${p}'`);
  11378     const directoryListing = this.listings.get(resolvedP);
  11379     if (!directoryListing)
  11380       throw ENOTDIR(`scandir '${p}'`);
  11381     const entries = [...directoryListing];
  11382     if (!(opts == null ? void 0 : opts.withFileTypes))
  11383       return entries;
  11384     return entries.map((name) => {
  11385       return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), {
  11386         name
  11387       });
  11388     });
  11389   }
  11390   async readlinkPromise(p) {
  11391     const entry = this.prepareReadlink(p);
  11392     return (await this.getFileSource(entry, { asyncDecompress: true })).toString();
  11393   }
  11394   readlinkSync(p) {
  11395     const entry = this.prepareReadlink(p);
  11396     return this.getFileSource(entry).toString();
  11397   }
  11398   prepareReadlink(p) {
  11399     const resolvedP = this.resolveFilename(`readlink '${p}'`, p, false);
  11400     if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP))
  11401       throw ENOENT(`readlink '${p}'`);
  11402     if (p[p.length - 1] === `/` && !this.listings.has(resolvedP))
  11403       throw ENOTDIR(`open '${p}'`);
  11404     if (this.listings.has(resolvedP))
  11405       throw EINVAL(`readlink '${p}'`);
  11406     const entry = this.entries.get(resolvedP);
  11407     if (entry === void 0)
  11408       throw new Error(`Unreachable`);
  11409     if (!this.isSymbolicLink(entry))
  11410       throw EINVAL(`readlink '${p}'`);
  11411     return entry;
  11412   }
  11413   async truncatePromise(p, len = 0) {
  11414     const resolvedP = this.resolveFilename(`open '${p}'`, p);
  11415     const index = this.entries.get(resolvedP);
  11416     if (typeof index === `undefined`)
  11417       throw EINVAL(`open '${p}'`);
  11418     const source = await this.getFileSource(index, { asyncDecompress: true });
  11419     const truncated = Buffer.alloc(len, 0);
  11420     source.copy(truncated);
  11421     return await this.writeFilePromise(p, truncated);
  11422   }
  11423   truncateSync(p, len = 0) {
  11424     const resolvedP = this.resolveFilename(`open '${p}'`, p);
  11425     const index = this.entries.get(resolvedP);
  11426     if (typeof index === `undefined`)
  11427       throw EINVAL(`open '${p}'`);
  11428     const source = this.getFileSource(index);
  11429     const truncated = Buffer.alloc(len, 0);
  11430     source.copy(truncated);
  11431     return this.writeFileSync(p, truncated);
  11432   }
  11433   async ftruncatePromise(fd, len) {
  11434     return this.truncatePromise(this.fdToPath(fd, `ftruncate`), len);
  11435   }
  11436   ftruncateSync(fd, len) {
  11437     return this.truncateSync(this.fdToPath(fd, `ftruncateSync`), len);
  11438   }
  11439   watch(p, a, b) {
  11440     let persistent;
  11441     switch (typeof a) {
  11442       case `function`:
  11443       case `string`:
  11444       case `undefined`:
  11445         {
  11446           persistent = true;
  11447         }
  11448         break;
  11449       default:
  11450         {
  11451           ({ persistent = true } = a);
  11452         }
  11453         break;
  11454     }
  11455     if (!persistent)
  11456       return { on: () => {
  11457       }, close: () => {
  11458       } };
  11459     const interval = setInterval(() => {
  11460     }, 24 * 60 * 60 * 1e3);
  11461     return { on: () => {
  11462     }, close: () => {
  11463       clearInterval(interval);
  11464     } };
  11465   }
  11466   watchFile(p, a, b) {
  11467     const resolvedP = ppath.resolve(PortablePath.root, p);
  11468     return watchFile(this, resolvedP, a, b);
  11469   }
  11470   unwatchFile(p, cb) {
  11471     const resolvedP = ppath.resolve(PortablePath.root, p);
  11472     return unwatchFile(this, resolvedP, cb);
  11473   }
  11474 }
  11475 
  11476 class ProxiedFS extends FakeFS {
  11477   getExtractHint(hints) {
  11478     return this.baseFs.getExtractHint(hints);
  11479   }
  11480   resolve(path) {
  11481     return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path)));
  11482   }
  11483   getRealPath() {
  11484     return this.mapFromBase(this.baseFs.getRealPath());
  11485   }
  11486   async openPromise(p, flags, mode) {
  11487     return this.baseFs.openPromise(this.mapToBase(p), flags, mode);
  11488   }
  11489   openSync(p, flags, mode) {
  11490     return this.baseFs.openSync(this.mapToBase(p), flags, mode);
  11491   }
  11492   async opendirPromise(p, opts) {
  11493     return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p });
  11494   }
  11495   opendirSync(p, opts) {
  11496     return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p });
  11497   }
  11498   async readPromise(fd, buffer, offset, length, position) {
  11499     return await this.baseFs.readPromise(fd, buffer, offset, length, position);
  11500   }
  11501   readSync(fd, buffer, offset, length, position) {
  11502     return this.baseFs.readSync(fd, buffer, offset, length, position);
  11503   }
  11504   async writePromise(fd, buffer, offset, length, position) {
  11505     if (typeof buffer === `string`) {
  11506       return await this.baseFs.writePromise(fd, buffer, offset);
  11507     } else {
  11508       return await this.baseFs.writePromise(fd, buffer, offset, length, position);
  11509     }
  11510   }
  11511   writeSync(fd, buffer, offset, length, position) {
  11512     if (typeof buffer === `string`) {
  11513       return this.baseFs.writeSync(fd, buffer, offset);
  11514     } else {
  11515       return this.baseFs.writeSync(fd, buffer, offset, length, position);
  11516     }
  11517   }
  11518   async closePromise(fd) {
  11519     return this.baseFs.closePromise(fd);
  11520   }
  11521   closeSync(fd) {
  11522     this.baseFs.closeSync(fd);
  11523   }
  11524   createReadStream(p, opts) {
  11525     return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts);
  11526   }
  11527   createWriteStream(p, opts) {
  11528     return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts);
  11529   }
  11530   async realpathPromise(p) {
  11531     return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p)));
  11532   }
  11533   realpathSync(p) {
  11534     return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p)));
  11535   }
  11536   async existsPromise(p) {
  11537     return this.baseFs.existsPromise(this.mapToBase(p));
  11538   }
  11539   existsSync(p) {
  11540     return this.baseFs.existsSync(this.mapToBase(p));
  11541   }
  11542   accessSync(p, mode) {
  11543     return this.baseFs.accessSync(this.mapToBase(p), mode);
  11544   }
  11545   async accessPromise(p, mode) {
  11546     return this.baseFs.accessPromise(this.mapToBase(p), mode);
  11547   }
  11548   async statPromise(p, opts) {
  11549     return this.baseFs.statPromise(this.mapToBase(p), opts);
  11550   }
  11551   statSync(p, opts) {
  11552     return this.baseFs.statSync(this.mapToBase(p), opts);
  11553   }
  11554   async fstatPromise(fd, opts) {
  11555     return this.baseFs.fstatPromise(fd, opts);
  11556   }
  11557   fstatSync(fd, opts) {
  11558     return this.baseFs.fstatSync(fd, opts);
  11559   }
  11560   lstatPromise(p, opts) {
  11561     return this.baseFs.lstatPromise(this.mapToBase(p), opts);
  11562   }
  11563   lstatSync(p, opts) {
  11564     return this.baseFs.lstatSync(this.mapToBase(p), opts);
  11565   }
  11566   async fchmodPromise(fd, mask) {
  11567     return this.baseFs.fchmodPromise(fd, mask);
  11568   }
  11569   fchmodSync(fd, mask) {
  11570     return this.baseFs.fchmodSync(fd, mask);
  11571   }
  11572   async chmodPromise(p, mask) {
  11573     return this.baseFs.chmodPromise(this.mapToBase(p), mask);
  11574   }
  11575   chmodSync(p, mask) {
  11576     return this.baseFs.chmodSync(this.mapToBase(p), mask);
  11577   }
  11578   async fchownPromise(fd, uid, gid) {
  11579     return this.baseFs.fchownPromise(fd, uid, gid);
  11580   }
  11581   fchownSync(fd, uid, gid) {
  11582     return this.baseFs.fchownSync(fd, uid, gid);
  11583   }
  11584   async chownPromise(p, uid, gid) {
  11585     return this.baseFs.chownPromise(this.mapToBase(p), uid, gid);
  11586   }
  11587   chownSync(p, uid, gid) {
  11588     return this.baseFs.chownSync(this.mapToBase(p), uid, gid);
  11589   }
  11590   async renamePromise(oldP, newP) {
  11591     return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP));
  11592   }
  11593   renameSync(oldP, newP) {
  11594     return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP));
  11595   }
  11596   async copyFilePromise(sourceP, destP, flags = 0) {
  11597     return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags);
  11598   }
  11599   copyFileSync(sourceP, destP, flags = 0) {
  11600     return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags);
  11601   }
  11602   async appendFilePromise(p, content, opts) {
  11603     return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts);
  11604   }
  11605   appendFileSync(p, content, opts) {
  11606     return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts);
  11607   }
  11608   async writeFilePromise(p, content, opts) {
  11609     return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts);
  11610   }
  11611   writeFileSync(p, content, opts) {
  11612     return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts);
  11613   }
  11614   async unlinkPromise(p) {
  11615     return this.baseFs.unlinkPromise(this.mapToBase(p));
  11616   }
  11617   unlinkSync(p) {
  11618     return this.baseFs.unlinkSync(this.mapToBase(p));
  11619   }
  11620   async utimesPromise(p, atime, mtime) {
  11621     return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime);
  11622   }
  11623   utimesSync(p, atime, mtime) {
  11624     return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime);
  11625   }
  11626   async mkdirPromise(p, opts) {
  11627     return this.baseFs.mkdirPromise(this.mapToBase(p), opts);
  11628   }
  11629   mkdirSync(p, opts) {
  11630     return this.baseFs.mkdirSync(this.mapToBase(p), opts);
  11631   }
  11632   async rmdirPromise(p, opts) {
  11633     return this.baseFs.rmdirPromise(this.mapToBase(p), opts);
  11634   }
  11635   rmdirSync(p, opts) {
  11636     return this.baseFs.rmdirSync(this.mapToBase(p), opts);
  11637   }
  11638   async linkPromise(existingP, newP) {
  11639     return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP));
  11640   }
  11641   linkSync(existingP, newP) {
  11642     return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP));
  11643   }
  11644   async symlinkPromise(target, p, type) {
  11645     const mappedP = this.mapToBase(p);
  11646     if (this.pathUtils.isAbsolute(target))
  11647       return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type);
  11648     const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target));
  11649     const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget);
  11650     return this.baseFs.symlinkPromise(mappedTarget, mappedP, type);
  11651   }
  11652   symlinkSync(target, p, type) {
  11653     const mappedP = this.mapToBase(p);
  11654     if (this.pathUtils.isAbsolute(target))
  11655       return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type);
  11656     const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target));
  11657     const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget);
  11658     return this.baseFs.symlinkSync(mappedTarget, mappedP, type);
  11659   }
  11660   async readFilePromise(p, encoding) {
  11661     if (encoding === `utf8`) {
  11662       return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding);
  11663     } else {
  11664       return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding);
  11665     }
  11666   }
  11667   readFileSync(p, encoding) {
  11668     if (encoding === `utf8`) {
  11669       return this.baseFs.readFileSync(this.fsMapToBase(p), encoding);
  11670     } else {
  11671       return this.baseFs.readFileSync(this.fsMapToBase(p), encoding);
  11672     }
  11673   }
  11674   async readdirPromise(p, opts) {
  11675     return this.baseFs.readdirPromise(this.mapToBase(p), opts);
  11676   }
  11677   readdirSync(p, opts) {
  11678     return this.baseFs.readdirSync(this.mapToBase(p), opts);
  11679   }
  11680   async readlinkPromise(p) {
  11681     return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p)));
  11682   }
  11683   readlinkSync(p) {
  11684     return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p)));
  11685   }
  11686   async truncatePromise(p, len) {
  11687     return this.baseFs.truncatePromise(this.mapToBase(p), len);
  11688   }
  11689   truncateSync(p, len) {
  11690     return this.baseFs.truncateSync(this.mapToBase(p), len);
  11691   }
  11692   async ftruncatePromise(fd, len) {
  11693     return this.baseFs.ftruncatePromise(fd, len);
  11694   }
  11695   ftruncateSync(fd, len) {
  11696     return this.baseFs.ftruncateSync(fd, len);
  11697   }
  11698   watch(p, a, b) {
  11699     return this.baseFs.watch(
  11700       this.mapToBase(p),
  11701       a,
  11702       b
  11703     );
  11704   }
  11705   watchFile(p, a, b) {
  11706     return this.baseFs.watchFile(
  11707       this.mapToBase(p),
  11708       a,
  11709       b
  11710     );
  11711   }
  11712   unwatchFile(p, cb) {
  11713     return this.baseFs.unwatchFile(this.mapToBase(p), cb);
  11714   }
  11715   fsMapToBase(p) {
  11716     if (typeof p === `number`) {
  11717       return p;
  11718     } else {
  11719       return this.mapToBase(p);
  11720     }
  11721   }
  11722 }
  11723 
  11724 class PosixFS extends ProxiedFS {
  11725   constructor(baseFs) {
  11726     super(npath);
  11727     this.baseFs = baseFs;
  11728   }
  11729   mapFromBase(path) {
  11730     return npath.fromPortablePath(path);
  11731   }
  11732   mapToBase(path) {
  11733     return npath.toPortablePath(path);
  11734   }
  11735 }
  11736 
  11737 const NUMBER_REGEXP = /^[0-9]+$/;
  11738 const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/;
  11739 const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/;
  11740 class VirtualFS extends ProxiedFS {
  11741   constructor({ baseFs = new NodeFS() } = {}) {
  11742     super(ppath);
  11743     this.baseFs = baseFs;
  11744   }
  11745   static makeVirtualPath(base, component, to) {
  11746     if (ppath.basename(base) !== `__virtual__`)
  11747       throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`);
  11748     if (!ppath.basename(component).match(VALID_COMPONENT))
  11749       throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`);
  11750     const target = ppath.relative(ppath.dirname(base), to);
  11751     const segments = target.split(`/`);
  11752     let depth = 0;
  11753     while (depth < segments.length && segments[depth] === `..`)
  11754       depth += 1;
  11755     const finalSegments = segments.slice(depth);
  11756     const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments);
  11757     return fullVirtualPath;
  11758   }
  11759   static resolveVirtual(p) {
  11760     const match = p.match(VIRTUAL_REGEXP);
  11761     if (!match || !match[3] && match[5])
  11762       return p;
  11763     const target = ppath.dirname(match[1]);
  11764     if (!match[3] || !match[4])
  11765       return target;
  11766     const isnum = NUMBER_REGEXP.test(match[4]);
  11767     if (!isnum)
  11768       return p;
  11769     const depth = Number(match[4]);
  11770     const backstep = `../`.repeat(depth);
  11771     const subpath = match[5] || `.`;
  11772     return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath));
  11773   }
  11774   getExtractHint(hints) {
  11775     return this.baseFs.getExtractHint(hints);
  11776   }
  11777   getRealPath() {
  11778     return this.baseFs.getRealPath();
  11779   }
  11780   realpathSync(p) {
  11781     const match = p.match(VIRTUAL_REGEXP);
  11782     if (!match)
  11783       return this.baseFs.realpathSync(p);
  11784     if (!match[5])
  11785       return p;
  11786     const realpath = this.baseFs.realpathSync(this.mapToBase(p));
  11787     return VirtualFS.makeVirtualPath(match[1], match[3], realpath);
  11788   }
  11789   async realpathPromise(p) {
  11790     const match = p.match(VIRTUAL_REGEXP);
  11791     if (!match)
  11792       return await this.baseFs.realpathPromise(p);
  11793     if (!match[5])
  11794       return p;
  11795     const realpath = await this.baseFs.realpathPromise(this.mapToBase(p));
  11796     return VirtualFS.makeVirtualPath(match[1], match[3], realpath);
  11797   }
  11798   mapToBase(p) {
  11799     if (p === ``)
  11800       return p;
  11801     if (this.pathUtils.isAbsolute(p))
  11802       return VirtualFS.resolveVirtual(p);
  11803     const resolvedRoot = VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot));
  11804     const resolvedP = VirtualFS.resolveVirtual(this.baseFs.resolve(p));
  11805     return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot;
  11806   }
  11807   mapFromBase(p) {
  11808     return p;
  11809   }
  11810 }
  11811 
  11812 const ZIP_MASK = 4278190080;
  11813 const ZIP_MAGIC = 704643072;
  11814 const getArchivePart = (path, extension) => {
  11815   let idx = path.indexOf(extension);
  11816   if (idx <= 0)
  11817     return null;
  11818   let nextCharIdx = idx;
  11819   while (idx >= 0) {
  11820     nextCharIdx = idx + extension.length;
  11821     if (path[nextCharIdx] === ppath.sep)
  11822       break;
  11823     if (path[idx - 1] === ppath.sep)
  11824       return null;
  11825     idx = path.indexOf(extension, nextCharIdx);
  11826   }
  11827   if (path.length > nextCharIdx && path[nextCharIdx] !== ppath.sep)
  11828     return null;
  11829   return path.slice(0, nextCharIdx);
  11830 };
  11831 class ZipOpenFS extends BasePortableFakeFS {
  11832   constructor({ libzip, baseFs = new NodeFS(), filter = null, maxOpenFiles = Infinity, readOnlyArchives = false, useCache = true, maxAge = 5e3, fileExtensions = null }) {
  11833     super();
  11834     this.fdMap = /* @__PURE__ */ new Map();
  11835     this.nextFd = 3;
  11836     this.isZip = /* @__PURE__ */ new Set();
  11837     this.notZip = /* @__PURE__ */ new Set();
  11838     this.realPaths = /* @__PURE__ */ new Map();
  11839     this.limitOpenFilesTimeout = null;
  11840     this.libzipFactory = typeof libzip !== `function` ? () => libzip : libzip;
  11841     this.baseFs = baseFs;
  11842     this.zipInstances = useCache ? /* @__PURE__ */ new Map() : null;
  11843     this.filter = filter;
  11844     this.maxOpenFiles = maxOpenFiles;
  11845     this.readOnlyArchives = readOnlyArchives;
  11846     this.maxAge = maxAge;
  11847     this.fileExtensions = fileExtensions;
  11848   }
  11849   static async openPromise(fn, opts) {
  11850     const zipOpenFs = new ZipOpenFS(opts);
  11851     try {
  11852       return await fn(zipOpenFs);
  11853     } finally {
  11854       zipOpenFs.saveAndClose();
  11855     }
  11856   }
  11857   get libzip() {
  11858     if (typeof this.libzipInstance === `undefined`)
  11859       this.libzipInstance = this.libzipFactory();
  11860     return this.libzipInstance;
  11861   }
  11862   getExtractHint(hints) {
  11863     return this.baseFs.getExtractHint(hints);
  11864   }
  11865   getRealPath() {
  11866     return this.baseFs.getRealPath();
  11867   }
  11868   saveAndClose() {
  11869     unwatchAllFiles(this);
  11870     if (this.zipInstances) {
  11871       for (const [path, { zipFs }] of this.zipInstances.entries()) {
  11872         zipFs.saveAndClose();
  11873         this.zipInstances.delete(path);
  11874       }
  11875     }
  11876   }
  11877   discardAndClose() {
  11878     unwatchAllFiles(this);
  11879     if (this.zipInstances) {
  11880       for (const [path, { zipFs }] of this.zipInstances.entries()) {
  11881         zipFs.discardAndClose();
  11882         this.zipInstances.delete(path);
  11883       }
  11884     }
  11885   }
  11886   resolve(p) {
  11887     return this.baseFs.resolve(p);
  11888   }
  11889   remapFd(zipFs, fd) {
  11890     const remappedFd = this.nextFd++ | ZIP_MAGIC;
  11891     this.fdMap.set(remappedFd, [zipFs, fd]);
  11892     return remappedFd;
  11893   }
  11894   async openPromise(p, flags, mode) {
  11895     return await this.makeCallPromise(p, async () => {
  11896       return await this.baseFs.openPromise(p, flags, mode);
  11897     }, async (zipFs, { subPath }) => {
  11898       return this.remapFd(zipFs, await zipFs.openPromise(subPath, flags, mode));
  11899     });
  11900   }
  11901   openSync(p, flags, mode) {
  11902     return this.makeCallSync(p, () => {
  11903       return this.baseFs.openSync(p, flags, mode);
  11904     }, (zipFs, { subPath }) => {
  11905       return this.remapFd(zipFs, zipFs.openSync(subPath, flags, mode));
  11906     });
  11907   }
  11908   async opendirPromise(p, opts) {
  11909     return await this.makeCallPromise(p, async () => {
  11910       return await this.baseFs.opendirPromise(p, opts);
  11911     }, async (zipFs, { subPath }) => {
  11912       return await zipFs.opendirPromise(subPath, opts);
  11913     }, {
  11914       requireSubpath: false
  11915     });
  11916   }
  11917   opendirSync(p, opts) {
  11918     return this.makeCallSync(p, () => {
  11919       return this.baseFs.opendirSync(p, opts);
  11920     }, (zipFs, { subPath }) => {
  11921       return zipFs.opendirSync(subPath, opts);
  11922     }, {
  11923       requireSubpath: false
  11924     });
  11925   }
  11926   async readPromise(fd, buffer, offset, length, position) {
  11927     if ((fd & ZIP_MASK) !== ZIP_MAGIC)
  11928       return await this.baseFs.readPromise(fd, buffer, offset, length, position);
  11929     const entry = this.fdMap.get(fd);
  11930     if (typeof entry === `undefined`)
  11931       throw EBADF(`read`);
  11932     const [zipFs, realFd] = entry;
  11933     return await zipFs.readPromise(realFd, buffer, offset, length, position);
  11934   }
  11935   readSync(fd, buffer, offset, length, position) {
  11936     if ((fd & ZIP_MASK) !== ZIP_MAGIC)
  11937       return this.baseFs.readSync(fd, buffer, offset, length, position);
  11938     const entry = this.fdMap.get(fd);
  11939     if (typeof entry === `undefined`)
  11940       throw EBADF(`readSync`);
  11941     const [zipFs, realFd] = entry;
  11942     return zipFs.readSync(realFd, buffer, offset, length, position);
  11943   }
  11944   async writePromise(fd, buffer, offset, length, position) {
  11945     if ((fd & ZIP_MASK) !== ZIP_MAGIC) {
  11946       if (typeof buffer === `string`) {
  11947         return await this.baseFs.writePromise(fd, buffer, offset);
  11948       } else {
  11949         return await this.baseFs.writePromise(fd, buffer, offset, length, position);
  11950       }
  11951     }
  11952     const entry = this.fdMap.get(fd);
  11953     if (typeof entry === `undefined`)
  11954       throw EBADF(`write`);
  11955     const [zipFs, realFd] = entry;
  11956     if (typeof buffer === `string`) {
  11957       return await zipFs.writePromise(realFd, buffer, offset);
  11958     } else {
  11959       return await zipFs.writePromise(realFd, buffer, offset, length, position);
  11960     }
  11961   }
  11962   writeSync(fd, buffer, offset, length, position) {
  11963     if ((fd & ZIP_MASK) !== ZIP_MAGIC) {
  11964       if (typeof buffer === `string`) {
  11965         return this.baseFs.writeSync(fd, buffer, offset);
  11966       } else {
  11967         return this.baseFs.writeSync(fd, buffer, offset, length, position);
  11968       }
  11969     }
  11970     const entry = this.fdMap.get(fd);
  11971     if (typeof entry === `undefined`)
  11972       throw EBADF(`writeSync`);
  11973     const [zipFs, realFd] = entry;
  11974     if (typeof buffer === `string`) {
  11975       return zipFs.writeSync(realFd, buffer, offset);
  11976     } else {
  11977       return zipFs.writeSync(realFd, buffer, offset, length, position);
  11978     }
  11979   }
  11980   async closePromise(fd) {
  11981     if ((fd & ZIP_MASK) !== ZIP_MAGIC)
  11982       return await this.baseFs.closePromise(fd);
  11983     const entry = this.fdMap.get(fd);
  11984     if (typeof entry === `undefined`)
  11985       throw EBADF(`close`);
  11986     this.fdMap.delete(fd);
  11987     const [zipFs, realFd] = entry;
  11988     return await zipFs.closePromise(realFd);
  11989   }
  11990   closeSync(fd) {
  11991     if ((fd & ZIP_MASK) !== ZIP_MAGIC)
  11992       return this.baseFs.closeSync(fd);
  11993     const entry = this.fdMap.get(fd);
  11994     if (typeof entry === `undefined`)
  11995       throw EBADF(`closeSync`);
  11996     this.fdMap.delete(fd);
  11997     const [zipFs, realFd] = entry;
  11998     return zipFs.closeSync(realFd);
  11999   }
  12000   createReadStream(p, opts) {
  12001     if (p === null)
  12002       return this.baseFs.createReadStream(p, opts);
  12003     return this.makeCallSync(p, () => {
  12004       return this.baseFs.createReadStream(p, opts);
  12005     }, (zipFs, { archivePath, subPath }) => {
  12006       const stream = zipFs.createReadStream(subPath, opts);
  12007       stream.path = npath.fromPortablePath(this.pathUtils.join(archivePath, subPath));
  12008       return stream;
  12009     });
  12010   }
  12011   createWriteStream(p, opts) {
  12012     if (p === null)
  12013       return this.baseFs.createWriteStream(p, opts);
  12014     return this.makeCallSync(p, () => {
  12015       return this.baseFs.createWriteStream(p, opts);
  12016     }, (zipFs, { subPath }) => {
  12017       return zipFs.createWriteStream(subPath, opts);
  12018     });
  12019   }
  12020   async realpathPromise(p) {
  12021     return await this.makeCallPromise(p, async () => {
  12022       return await this.baseFs.realpathPromise(p);
  12023     }, async (zipFs, { archivePath, subPath }) => {
  12024       let realArchivePath = this.realPaths.get(archivePath);
  12025       if (typeof realArchivePath === `undefined`) {
  12026         realArchivePath = await this.baseFs.realpathPromise(archivePath);
  12027         this.realPaths.set(archivePath, realArchivePath);
  12028       }
  12029       return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, await zipFs.realpathPromise(subPath)));
  12030     });
  12031   }
  12032   realpathSync(p) {
  12033     return this.makeCallSync(p, () => {
  12034       return this.baseFs.realpathSync(p);
  12035     }, (zipFs, { archivePath, subPath }) => {
  12036       let realArchivePath = this.realPaths.get(archivePath);
  12037       if (typeof realArchivePath === `undefined`) {
  12038         realArchivePath = this.baseFs.realpathSync(archivePath);
  12039         this.realPaths.set(archivePath, realArchivePath);
  12040       }
  12041       return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, zipFs.realpathSync(subPath)));
  12042     });
  12043   }
  12044   async existsPromise(p) {
  12045     return await this.makeCallPromise(p, async () => {
  12046       return await this.baseFs.existsPromise(p);
  12047     }, async (zipFs, { subPath }) => {
  12048       return await zipFs.existsPromise(subPath);
  12049     });
  12050   }
  12051   existsSync(p) {
  12052     return this.makeCallSync(p, () => {
  12053       return this.baseFs.existsSync(p);
  12054     }, (zipFs, { subPath }) => {
  12055       return zipFs.existsSync(subPath);
  12056     });
  12057   }
  12058   async accessPromise(p, mode) {
  12059     return await this.makeCallPromise(p, async () => {
  12060       return await this.baseFs.accessPromise(p, mode);
  12061     }, async (zipFs, { subPath }) => {
  12062       return await zipFs.accessPromise(subPath, mode);
  12063     });
  12064   }
  12065   accessSync(p, mode) {
  12066     return this.makeCallSync(p, () => {
  12067       return this.baseFs.accessSync(p, mode);
  12068     }, (zipFs, { subPath }) => {
  12069       return zipFs.accessSync(subPath, mode);
  12070     });
  12071   }
  12072   async statPromise(p, opts) {
  12073     return await this.makeCallPromise(p, async () => {
  12074       return await this.baseFs.statPromise(p, opts);
  12075     }, async (zipFs, { subPath }) => {
  12076       return await zipFs.statPromise(subPath, opts);
  12077     });
  12078   }
  12079   statSync(p, opts) {
  12080     return this.makeCallSync(p, () => {
  12081       return this.baseFs.statSync(p, opts);
  12082     }, (zipFs, { subPath }) => {
  12083       return zipFs.statSync(subPath, opts);
  12084     });
  12085   }
  12086   async fstatPromise(fd, opts) {
  12087     if ((fd & ZIP_MASK) !== ZIP_MAGIC)
  12088       return this.baseFs.fstatPromise(fd, opts);
  12089     const entry = this.fdMap.get(fd);
  12090     if (typeof entry === `undefined`)
  12091       throw EBADF(`fstat`);
  12092     const [zipFs, realFd] = entry;
  12093     return zipFs.fstatPromise(realFd, opts);
  12094   }
  12095   fstatSync(fd, opts) {
  12096     if ((fd & ZIP_MASK) !== ZIP_MAGIC)
  12097       return this.baseFs.fstatSync(fd, opts);
  12098     const entry = this.fdMap.get(fd);
  12099     if (typeof entry === `undefined`)
  12100       throw EBADF(`fstatSync`);
  12101     const [zipFs, realFd] = entry;
  12102     return zipFs.fstatSync(realFd, opts);
  12103   }
  12104   async lstatPromise(p, opts) {
  12105     return await this.makeCallPromise(p, async () => {
  12106       return await this.baseFs.lstatPromise(p, opts);
  12107     }, async (zipFs, { subPath }) => {
  12108       return await zipFs.lstatPromise(subPath, opts);
  12109     });
  12110   }
  12111   lstatSync(p, opts) {
  12112     return this.makeCallSync(p, () => {
  12113       return this.baseFs.lstatSync(p, opts);
  12114     }, (zipFs, { subPath }) => {
  12115       return zipFs.lstatSync(subPath, opts);
  12116     });
  12117   }
  12118   async fchmodPromise(fd, mask) {
  12119     if ((fd & ZIP_MASK) !== ZIP_MAGIC)
  12120       return this.baseFs.fchmodPromise(fd, mask);
  12121     const entry = this.fdMap.get(fd);
  12122     if (typeof entry === `undefined`)
  12123       throw EBADF(`fchmod`);
  12124     const [zipFs, realFd] = entry;
  12125     return zipFs.fchmodPromise(realFd, mask);
  12126   }
  12127   fchmodSync(fd, mask) {
  12128     if ((fd & ZIP_MASK) !== ZIP_MAGIC)
  12129       return this.baseFs.fchmodSync(fd, mask);
  12130     const entry = this.fdMap.get(fd);
  12131     if (typeof entry === `undefined`)
  12132       throw EBADF(`fchmodSync`);
  12133     const [zipFs, realFd] = entry;
  12134     return zipFs.fchmodSync(realFd, mask);
  12135   }
  12136   async chmodPromise(p, mask) {
  12137     return await this.makeCallPromise(p, async () => {
  12138       return await this.baseFs.chmodPromise(p, mask);
  12139     }, async (zipFs, { subPath }) => {
  12140       return await zipFs.chmodPromise(subPath, mask);
  12141     });
  12142   }
  12143   chmodSync(p, mask) {
  12144     return this.makeCallSync(p, () => {
  12145       return this.baseFs.chmodSync(p, mask);
  12146     }, (zipFs, { subPath }) => {
  12147       return zipFs.chmodSync(subPath, mask);
  12148     });
  12149   }
  12150   async fchownPromise(fd, uid, gid) {
  12151     if ((fd & ZIP_MASK) !== ZIP_MAGIC)
  12152       return this.baseFs.fchownPromise(fd, uid, gid);
  12153     const entry = this.fdMap.get(fd);
  12154     if (typeof entry === `undefined`)
  12155       throw EBADF(`fchown`);
  12156     const [zipFs, realFd] = entry;
  12157     return zipFs.fchownPromise(realFd, uid, gid);
  12158   }
  12159   fchownSync(fd, uid, gid) {
  12160     if ((fd & ZIP_MASK) !== ZIP_MAGIC)
  12161       return this.baseFs.fchownSync(fd, uid, gid);
  12162     const entry = this.fdMap.get(fd);
  12163     if (typeof entry === `undefined`)
  12164       throw EBADF(`fchownSync`);
  12165     const [zipFs, realFd] = entry;
  12166     return zipFs.fchownSync(realFd, uid, gid);
  12167   }
  12168   async chownPromise(p, uid, gid) {
  12169     return await this.makeCallPromise(p, async () => {
  12170       return await this.baseFs.chownPromise(p, uid, gid);
  12171     }, async (zipFs, { subPath }) => {
  12172       return await zipFs.chownPromise(subPath, uid, gid);
  12173     });
  12174   }
  12175   chownSync(p, uid, gid) {
  12176     return this.makeCallSync(p, () => {
  12177       return this.baseFs.chownSync(p, uid, gid);
  12178     }, (zipFs, { subPath }) => {
  12179       return zipFs.chownSync(subPath, uid, gid);
  12180     });
  12181   }
  12182   async renamePromise(oldP, newP) {
  12183     return await this.makeCallPromise(oldP, async () => {
  12184       return await this.makeCallPromise(newP, async () => {
  12185         return await this.baseFs.renamePromise(oldP, newP);
  12186       }, async () => {
  12187         throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
  12188       });
  12189     }, async (zipFsO, { subPath: subPathO }) => {
  12190       return await this.makeCallPromise(newP, async () => {
  12191         throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
  12192       }, async (zipFsN, { subPath: subPathN }) => {
  12193         if (zipFsO !== zipFsN) {
  12194           throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
  12195         } else {
  12196           return await zipFsO.renamePromise(subPathO, subPathN);
  12197         }
  12198       });
  12199     });
  12200   }
  12201   renameSync(oldP, newP) {
  12202     return this.makeCallSync(oldP, () => {
  12203       return this.makeCallSync(newP, () => {
  12204         return this.baseFs.renameSync(oldP, newP);
  12205       }, () => {
  12206         throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
  12207       });
  12208     }, (zipFsO, { subPath: subPathO }) => {
  12209       return this.makeCallSync(newP, () => {
  12210         throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
  12211       }, (zipFsN, { subPath: subPathN }) => {
  12212         if (zipFsO !== zipFsN) {
  12213           throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
  12214         } else {
  12215           return zipFsO.renameSync(subPathO, subPathN);
  12216         }
  12217       });
  12218     });
  12219   }
  12220   async copyFilePromise(sourceP, destP, flags = 0) {
  12221     const fallback = async (sourceFs, sourceP2, destFs, destP2) => {
  12222       if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0)
  12223         throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` });
  12224       if (flags & fs.constants.COPYFILE_EXCL && await this.existsPromise(sourceP2))
  12225         throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` });
  12226       let content;
  12227       try {
  12228         content = await sourceFs.readFilePromise(sourceP2);
  12229       } catch (error) {
  12230         throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` });
  12231       }
  12232       await destFs.writeFilePromise(destP2, content);
  12233     };
  12234     return await this.makeCallPromise(sourceP, async () => {
  12235       return await this.makeCallPromise(destP, async () => {
  12236         return await this.baseFs.copyFilePromise(sourceP, destP, flags);
  12237       }, async (zipFsD, { subPath: subPathD }) => {
  12238         return await fallback(this.baseFs, sourceP, zipFsD, subPathD);
  12239       });
  12240     }, async (zipFsS, { subPath: subPathS }) => {
  12241       return await this.makeCallPromise(destP, async () => {
  12242         return await fallback(zipFsS, subPathS, this.baseFs, destP);
  12243       }, async (zipFsD, { subPath: subPathD }) => {
  12244         if (zipFsS !== zipFsD) {
  12245           return await fallback(zipFsS, subPathS, zipFsD, subPathD);
  12246         } else {
  12247           return await zipFsS.copyFilePromise(subPathS, subPathD, flags);
  12248         }
  12249       });
  12250     });
  12251   }
  12252   copyFileSync(sourceP, destP, flags = 0) {
  12253     const fallback = (sourceFs, sourceP2, destFs, destP2) => {
  12254       if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0)
  12255         throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` });
  12256       if (flags & fs.constants.COPYFILE_EXCL && this.existsSync(sourceP2))
  12257         throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` });
  12258       let content;
  12259       try {
  12260         content = sourceFs.readFileSync(sourceP2);
  12261       } catch (error) {
  12262         throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` });
  12263       }
  12264       destFs.writeFileSync(destP2, content);
  12265     };
  12266     return this.makeCallSync(sourceP, () => {
  12267       return this.makeCallSync(destP, () => {
  12268         return this.baseFs.copyFileSync(sourceP, destP, flags);
  12269       }, (zipFsD, { subPath: subPathD }) => {
  12270         return fallback(this.baseFs, sourceP, zipFsD, subPathD);
  12271       });
  12272     }, (zipFsS, { subPath: subPathS }) => {
  12273       return this.makeCallSync(destP, () => {
  12274         return fallback(zipFsS, subPathS, this.baseFs, destP);
  12275       }, (zipFsD, { subPath: subPathD }) => {
  12276         if (zipFsS !== zipFsD) {
  12277           return fallback(zipFsS, subPathS, zipFsD, subPathD);
  12278         } else {
  12279           return zipFsS.copyFileSync(subPathS, subPathD, flags);
  12280         }
  12281       });
  12282     });
  12283   }
  12284   async appendFilePromise(p, content, opts) {
  12285     return await this.makeCallPromise(p, async () => {
  12286       return await this.baseFs.appendFilePromise(p, content, opts);
  12287     }, async (zipFs, { subPath }) => {
  12288       return await zipFs.appendFilePromise(subPath, content, opts);
  12289     });
  12290   }
  12291   appendFileSync(p, content, opts) {
  12292     return this.makeCallSync(p, () => {
  12293       return this.baseFs.appendFileSync(p, content, opts);
  12294     }, (zipFs, { subPath }) => {
  12295       return zipFs.appendFileSync(subPath, content, opts);
  12296     });
  12297   }
  12298   async writeFilePromise(p, content, opts) {
  12299     return await this.makeCallPromise(p, async () => {
  12300       return await this.baseFs.writeFilePromise(p, content, opts);
  12301     }, async (zipFs, { subPath }) => {
  12302       return await zipFs.writeFilePromise(subPath, content, opts);
  12303     });
  12304   }
  12305   writeFileSync(p, content, opts) {
  12306     return this.makeCallSync(p, () => {
  12307       return this.baseFs.writeFileSync(p, content, opts);
  12308     }, (zipFs, { subPath }) => {
  12309       return zipFs.writeFileSync(subPath, content, opts);
  12310     });
  12311   }
  12312   async unlinkPromise(p) {
  12313     return await this.makeCallPromise(p, async () => {
  12314       return await this.baseFs.unlinkPromise(p);
  12315     }, async (zipFs, { subPath }) => {
  12316       return await zipFs.unlinkPromise(subPath);
  12317     });
  12318   }
  12319   unlinkSync(p) {
  12320     return this.makeCallSync(p, () => {
  12321       return this.baseFs.unlinkSync(p);
  12322     }, (zipFs, { subPath }) => {
  12323       return zipFs.unlinkSync(subPath);
  12324     });
  12325   }
  12326   async utimesPromise(p, atime, mtime) {
  12327     return await this.makeCallPromise(p, async () => {
  12328       return await this.baseFs.utimesPromise(p, atime, mtime);
  12329     }, async (zipFs, { subPath }) => {
  12330       return await zipFs.utimesPromise(subPath, atime, mtime);
  12331     });
  12332   }
  12333   utimesSync(p, atime, mtime) {
  12334     return this.makeCallSync(p, () => {
  12335       return this.baseFs.utimesSync(p, atime, mtime);
  12336     }, (zipFs, { subPath }) => {
  12337       return zipFs.utimesSync(subPath, atime, mtime);
  12338     });
  12339   }
  12340   async mkdirPromise(p, opts) {
  12341     return await this.makeCallPromise(p, async () => {
  12342       return await this.baseFs.mkdirPromise(p, opts);
  12343     }, async (zipFs, { subPath }) => {
  12344       return await zipFs.mkdirPromise(subPath, opts);
  12345     });
  12346   }
  12347   mkdirSync(p, opts) {
  12348     return this.makeCallSync(p, () => {
  12349       return this.baseFs.mkdirSync(p, opts);
  12350     }, (zipFs, { subPath }) => {
  12351       return zipFs.mkdirSync(subPath, opts);
  12352     });
  12353   }
  12354   async rmdirPromise(p, opts) {
  12355     return await this.makeCallPromise(p, async () => {
  12356       return await this.baseFs.rmdirPromise(p, opts);
  12357     }, async (zipFs, { subPath }) => {
  12358       return await zipFs.rmdirPromise(subPath, opts);
  12359     });
  12360   }
  12361   rmdirSync(p, opts) {
  12362     return this.makeCallSync(p, () => {
  12363       return this.baseFs.rmdirSync(p, opts);
  12364     }, (zipFs, { subPath }) => {
  12365       return zipFs.rmdirSync(subPath, opts);
  12366     });
  12367   }
  12368   async linkPromise(existingP, newP) {
  12369     return await this.makeCallPromise(newP, async () => {
  12370       return await this.baseFs.linkPromise(existingP, newP);
  12371     }, async (zipFs, { subPath }) => {
  12372       return await zipFs.linkPromise(existingP, subPath);
  12373     });
  12374   }
  12375   linkSync(existingP, newP) {
  12376     return this.makeCallSync(newP, () => {
  12377       return this.baseFs.linkSync(existingP, newP);
  12378     }, (zipFs, { subPath }) => {
  12379       return zipFs.linkSync(existingP, subPath);
  12380     });
  12381   }
  12382   async symlinkPromise(target, p, type) {
  12383     return await this.makeCallPromise(p, async () => {
  12384       return await this.baseFs.symlinkPromise(target, p, type);
  12385     }, async (zipFs, { subPath }) => {
  12386       return await zipFs.symlinkPromise(target, subPath);
  12387     });
  12388   }
  12389   symlinkSync(target, p, type) {
  12390     return this.makeCallSync(p, () => {
  12391       return this.baseFs.symlinkSync(target, p, type);
  12392     }, (zipFs, { subPath }) => {
  12393       return zipFs.symlinkSync(target, subPath);
  12394     });
  12395   }
  12396   async readFilePromise(p, encoding) {
  12397     return this.makeCallPromise(p, async () => {
  12398       switch (encoding) {
  12399         case `utf8`:
  12400           return await this.baseFs.readFilePromise(p, encoding);
  12401         default:
  12402           return await this.baseFs.readFilePromise(p, encoding);
  12403       }
  12404     }, async (zipFs, { subPath }) => {
  12405       return await zipFs.readFilePromise(subPath, encoding);
  12406     });
  12407   }
  12408   readFileSync(p, encoding) {
  12409     return this.makeCallSync(p, () => {
  12410       switch (encoding) {
  12411         case `utf8`:
  12412           return this.baseFs.readFileSync(p, encoding);
  12413         default:
  12414           return this.baseFs.readFileSync(p, encoding);
  12415       }
  12416     }, (zipFs, { subPath }) => {
  12417       return zipFs.readFileSync(subPath, encoding);
  12418     });
  12419   }
  12420   async readdirPromise(p, opts) {
  12421     return await this.makeCallPromise(p, async () => {
  12422       return await this.baseFs.readdirPromise(p, opts);
  12423     }, async (zipFs, { subPath }) => {
  12424       return await zipFs.readdirPromise(subPath, opts);
  12425     }, {
  12426       requireSubpath: false
  12427     });
  12428   }
  12429   readdirSync(p, opts) {
  12430     return this.makeCallSync(p, () => {
  12431       return this.baseFs.readdirSync(p, opts);
  12432     }, (zipFs, { subPath }) => {
  12433       return zipFs.readdirSync(subPath, opts);
  12434     }, {
  12435       requireSubpath: false
  12436     });
  12437   }
  12438   async readlinkPromise(p) {
  12439     return await this.makeCallPromise(p, async () => {
  12440       return await this.baseFs.readlinkPromise(p);
  12441     }, async (zipFs, { subPath }) => {
  12442       return await zipFs.readlinkPromise(subPath);
  12443     });
  12444   }
  12445   readlinkSync(p) {
  12446     return this.makeCallSync(p, () => {
  12447       return this.baseFs.readlinkSync(p);
  12448     }, (zipFs, { subPath }) => {
  12449       return zipFs.readlinkSync(subPath);
  12450     });
  12451   }
  12452   async truncatePromise(p, len) {
  12453     return await this.makeCallPromise(p, async () => {
  12454       return await this.baseFs.truncatePromise(p, len);
  12455     }, async (zipFs, { subPath }) => {
  12456       return await zipFs.truncatePromise(subPath, len);
  12457     });
  12458   }
  12459   truncateSync(p, len) {
  12460     return this.makeCallSync(p, () => {
  12461       return this.baseFs.truncateSync(p, len);
  12462     }, (zipFs, { subPath }) => {
  12463       return zipFs.truncateSync(subPath, len);
  12464     });
  12465   }
  12466   async ftruncatePromise(fd, len) {
  12467     if ((fd & ZIP_MASK) !== ZIP_MAGIC)
  12468       return this.baseFs.ftruncatePromise(fd, len);
  12469     const entry = this.fdMap.get(fd);
  12470     if (typeof entry === `undefined`)
  12471       throw EBADF(`ftruncate`);
  12472     const [zipFs, realFd] = entry;
  12473     return zipFs.ftruncatePromise(realFd, len);
  12474   }
  12475   ftruncateSync(fd, len) {
  12476     if ((fd & ZIP_MASK) !== ZIP_MAGIC)
  12477       return this.baseFs.ftruncateSync(fd, len);
  12478     const entry = this.fdMap.get(fd);
  12479     if (typeof entry === `undefined`)
  12480       throw EBADF(`ftruncateSync`);
  12481     const [zipFs, realFd] = entry;
  12482     return zipFs.ftruncateSync(realFd, len);
  12483   }
  12484   watch(p, a, b) {
  12485     return this.makeCallSync(p, () => {
  12486       return this.baseFs.watch(
  12487         p,
  12488         a,
  12489         b
  12490       );
  12491     }, (zipFs, { subPath }) => {
  12492       return zipFs.watch(
  12493         subPath,
  12494         a,
  12495         b
  12496       );
  12497     });
  12498   }
  12499   watchFile(p, a, b) {
  12500     return this.makeCallSync(p, () => {
  12501       return this.baseFs.watchFile(
  12502         p,
  12503         a,
  12504         b
  12505       );
  12506     }, () => {
  12507       return watchFile(this, p, a, b);
  12508     });
  12509   }
  12510   unwatchFile(p, cb) {
  12511     return this.makeCallSync(p, () => {
  12512       return this.baseFs.unwatchFile(p, cb);
  12513     }, () => {
  12514       return unwatchFile(this, p, cb);
  12515     });
  12516   }
  12517   async makeCallPromise(p, discard, accept, { requireSubpath = true } = {}) {
  12518     if (typeof p !== `string`)
  12519       return await discard();
  12520     const normalizedP = this.resolve(p);
  12521     const zipInfo = this.findZip(normalizedP);
  12522     if (!zipInfo)
  12523       return await discard();
  12524     if (requireSubpath && zipInfo.subPath === `/`)
  12525       return await discard();
  12526     return await this.getZipPromise(zipInfo.archivePath, async (zipFs) => await accept(zipFs, zipInfo));
  12527   }
  12528   makeCallSync(p, discard, accept, { requireSubpath = true } = {}) {
  12529     if (typeof p !== `string`)
  12530       return discard();
  12531     const normalizedP = this.resolve(p);
  12532     const zipInfo = this.findZip(normalizedP);
  12533     if (!zipInfo)
  12534       return discard();
  12535     if (requireSubpath && zipInfo.subPath === `/`)
  12536       return discard();
  12537     return this.getZipSync(zipInfo.archivePath, (zipFs) => accept(zipFs, zipInfo));
  12538   }
  12539   findZip(p) {
  12540     if (this.filter && !this.filter.test(p))
  12541       return null;
  12542     let filePath = ``;
  12543     while (true) {
  12544       const pathPartWithArchive = p.substring(filePath.length);
  12545       let archivePart;
  12546       if (!this.fileExtensions) {
  12547         archivePart = getArchivePart(pathPartWithArchive, `.zip`);
  12548       } else {
  12549         for (const ext of this.fileExtensions) {
  12550           archivePart = getArchivePart(pathPartWithArchive, ext);
  12551           if (archivePart) {
  12552             break;
  12553           }
  12554         }
  12555       }
  12556       if (!archivePart)
  12557         return null;
  12558       filePath = this.pathUtils.join(filePath, archivePart);
  12559       if (this.isZip.has(filePath) === false) {
  12560         if (this.notZip.has(filePath))
  12561           continue;
  12562         try {
  12563           if (!this.baseFs.lstatSync(filePath).isFile()) {
  12564             this.notZip.add(filePath);
  12565             continue;
  12566           }
  12567         } catch {
  12568           return null;
  12569         }
  12570         this.isZip.add(filePath);
  12571       }
  12572       return {
  12573         archivePath: filePath,
  12574         subPath: this.pathUtils.join(PortablePath.root, p.substring(filePath.length))
  12575       };
  12576     }
  12577   }
  12578   limitOpenFiles(max) {
  12579     if (this.zipInstances === null)
  12580       return;
  12581     const now = Date.now();
  12582     let nextExpiresAt = now + this.maxAge;
  12583     let closeCount = max === null ? 0 : this.zipInstances.size - max;
  12584     for (const [path, { zipFs, expiresAt, refCount }] of this.zipInstances.entries()) {
  12585       if (refCount !== 0 || zipFs.hasOpenFileHandles()) {
  12586         continue;
  12587       } else if (now >= expiresAt) {
  12588         zipFs.saveAndClose();
  12589         this.zipInstances.delete(path);
  12590         closeCount -= 1;
  12591         continue;
  12592       } else if (max === null || closeCount <= 0) {
  12593         nextExpiresAt = expiresAt;
  12594         break;
  12595       }
  12596       zipFs.saveAndClose();
  12597       this.zipInstances.delete(path);
  12598       closeCount -= 1;
  12599     }
  12600     if (this.limitOpenFilesTimeout === null && (max === null && this.zipInstances.size > 0 || max !== null)) {
  12601       this.limitOpenFilesTimeout = setTimeout(() => {
  12602         this.limitOpenFilesTimeout = null;
  12603         this.limitOpenFiles(null);
  12604       }, nextExpiresAt - now).unref();
  12605     }
  12606   }
  12607   async getZipPromise(p, accept) {
  12608     const getZipOptions = async () => ({
  12609       baseFs: this.baseFs,
  12610       libzip: this.libzip,
  12611       readOnly: this.readOnlyArchives,
  12612       stats: await this.baseFs.statPromise(p)
  12613     });
  12614     if (this.zipInstances) {
  12615       let cachedZipFs = this.zipInstances.get(p);
  12616       if (!cachedZipFs) {
  12617         const zipOptions = await getZipOptions();
  12618         cachedZipFs = this.zipInstances.get(p);
  12619         if (!cachedZipFs) {
  12620           cachedZipFs = {
  12621             zipFs: new ZipFS(p, zipOptions),
  12622             expiresAt: 0,
  12623             refCount: 0
  12624           };
  12625         }
  12626       }
  12627       this.zipInstances.delete(p);
  12628       this.limitOpenFiles(this.maxOpenFiles - 1);
  12629       this.zipInstances.set(p, cachedZipFs);
  12630       cachedZipFs.expiresAt = Date.now() + this.maxAge;
  12631       cachedZipFs.refCount += 1;
  12632       try {
  12633         return await accept(cachedZipFs.zipFs);
  12634       } finally {
  12635         cachedZipFs.refCount -= 1;
  12636       }
  12637     } else {
  12638       const zipFs = new ZipFS(p, await getZipOptions());
  12639       try {
  12640         return await accept(zipFs);
  12641       } finally {
  12642         zipFs.saveAndClose();
  12643       }
  12644     }
  12645   }
  12646   getZipSync(p, accept) {
  12647     const getZipOptions = () => ({
  12648       baseFs: this.baseFs,
  12649       libzip: this.libzip,
  12650       readOnly: this.readOnlyArchives,
  12651       stats: this.baseFs.statSync(p)
  12652     });
  12653     if (this.zipInstances) {
  12654       let cachedZipFs = this.zipInstances.get(p);
  12655       if (!cachedZipFs) {
  12656         cachedZipFs = {
  12657           zipFs: new ZipFS(p, getZipOptions()),
  12658           expiresAt: 0,
  12659           refCount: 0
  12660         };
  12661       }
  12662       this.zipInstances.delete(p);
  12663       this.limitOpenFiles(this.maxOpenFiles - 1);
  12664       this.zipInstances.set(p, cachedZipFs);
  12665       cachedZipFs.expiresAt = Date.now() + this.maxAge;
  12666       return accept(cachedZipFs.zipFs);
  12667     } else {
  12668       const zipFs = new ZipFS(p, getZipOptions());
  12669       try {
  12670         return accept(zipFs);
  12671       } finally {
  12672         zipFs.saveAndClose();
  12673       }
  12674     }
  12675   }
  12676 }
  12677 
  12678 class NodePathFS extends ProxiedFS {
  12679   constructor(baseFs) {
  12680     super(npath);
  12681     this.baseFs = baseFs;
  12682   }
  12683   mapFromBase(path) {
  12684     return path;
  12685   }
  12686   mapToBase(path) {
  12687     if (typeof path === `string`)
  12688       return path;
  12689     if (path instanceof url.URL)
  12690       return url.fileURLToPath(path);
  12691     if (Buffer.isBuffer(path)) {
  12692       const str = path.toString();
  12693       if (Buffer.byteLength(str) !== path.byteLength)
  12694         throw new Error(`Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942`);
  12695       return str;
  12696     }
  12697     throw new Error(`Unsupported path type: ${nodeUtils.inspect(path)}`);
  12698   }
  12699 }
  12700 
  12701 var _a, _b, _c, _d;
  12702 const kBaseFs = Symbol(`kBaseFs`);
  12703 const kFd = Symbol(`kFd`);
  12704 const kClosePromise = Symbol(`kClosePromise`);
  12705 const kCloseResolve = Symbol(`kCloseResolve`);
  12706 const kCloseReject = Symbol(`kCloseReject`);
  12707 const kRefs = Symbol(`kRefs`);
  12708 const kRef = Symbol(`kRef`);
  12709 const kUnref = Symbol(`kUnref`);
  12710 class FileHandle {
  12711   constructor(fd, baseFs) {
  12712     this[_a] = 1;
  12713     this[_b] = void 0;
  12714     this[_c] = void 0;
  12715     this[_d] = void 0;
  12716     this[kBaseFs] = baseFs;
  12717     this[kFd] = fd;
  12718   }
  12719   get fd() {
  12720     return this[kFd];
  12721   }
  12722   async appendFile(data, options) {
  12723     var _a2;
  12724     try {
  12725       this[kRef](this.appendFile);
  12726       const encoding = (_a2 = typeof options === `string` ? options : options == null ? void 0 : options.encoding) != null ? _a2 : void 0;
  12727       return await this[kBaseFs].appendFilePromise(this.fd, data, encoding ? { encoding } : void 0);
  12728     } finally {
  12729       this[kUnref]();
  12730     }
  12731   }
  12732   async chown(uid, gid) {
  12733     try {
  12734       this[kRef](this.chown);
  12735       return await this[kBaseFs].fchownPromise(this.fd, uid, gid);
  12736     } finally {
  12737       this[kUnref]();
  12738     }
  12739   }
  12740   async chmod(mode) {
  12741     try {
  12742       this[kRef](this.chmod);
  12743       return await this[kBaseFs].fchmodPromise(this.fd, mode);
  12744     } finally {
  12745       this[kUnref]();
  12746     }
  12747   }
  12748   createReadStream(options) {
  12749     return this[kBaseFs].createReadStream(null, { ...options, fd: this.fd });
  12750   }
  12751   createWriteStream(options) {
  12752     return this[kBaseFs].createWriteStream(null, { ...options, fd: this.fd });
  12753   }
  12754   datasync() {
  12755     throw new Error(`Method not implemented.`);
  12756   }
  12757   sync() {
  12758     throw new Error(`Method not implemented.`);
  12759   }
  12760   async read(bufferOrOptions, offset, length, position) {
  12761     var _a2, _b2, _c2;
  12762     try {
  12763       this[kRef](this.read);
  12764       let buffer;
  12765       if (!Buffer.isBuffer(bufferOrOptions)) {
  12766         bufferOrOptions != null ? bufferOrOptions : bufferOrOptions = {};
  12767         buffer = (_a2 = bufferOrOptions.buffer) != null ? _a2 : Buffer.alloc(16384);
  12768         offset = bufferOrOptions.offset || 0;
  12769         length = (_b2 = bufferOrOptions.length) != null ? _b2 : buffer.byteLength;
  12770         position = (_c2 = bufferOrOptions.position) != null ? _c2 : null;
  12771       } else {
  12772         buffer = bufferOrOptions;
  12773       }
  12774       offset != null ? offset : offset = 0;
  12775       length != null ? length : length = 0;
  12776       if (length === 0) {
  12777         return {
  12778           bytesRead: length,
  12779           buffer
  12780         };
  12781       }
  12782       const bytesRead = await this[kBaseFs].readPromise(this.fd, buffer, offset, length, position);
  12783       return {
  12784         bytesRead,
  12785         buffer
  12786       };
  12787     } finally {
  12788       this[kUnref]();
  12789     }
  12790   }
  12791   async readFile(options) {
  12792     var _a2;
  12793     try {
  12794       this[kRef](this.readFile);
  12795       const encoding = (_a2 = typeof options === `string` ? options : options == null ? void 0 : options.encoding) != null ? _a2 : void 0;
  12796       return await this[kBaseFs].readFilePromise(this.fd, encoding);
  12797     } finally {
  12798       this[kUnref]();
  12799     }
  12800   }
  12801   readLines(options) {
  12802     return readline.createInterface({
  12803       input: this.createReadStream(options),
  12804       crlfDelay: Infinity
  12805     });
  12806   }
  12807   async stat(opts) {
  12808     try {
  12809       this[kRef](this.stat);
  12810       return await this[kBaseFs].fstatPromise(this.fd, opts);
  12811     } finally {
  12812       this[kUnref]();
  12813     }
  12814   }
  12815   async truncate(len) {
  12816     try {
  12817       this[kRef](this.truncate);
  12818       return await this[kBaseFs].ftruncatePromise(this.fd, len);
  12819     } finally {
  12820       this[kUnref]();
  12821     }
  12822   }
  12823   utimes(atime, mtime) {
  12824     throw new Error(`Method not implemented.`);
  12825   }
  12826   async writeFile(data, options) {
  12827     var _a2;
  12828     try {
  12829       this[kRef](this.writeFile);
  12830       const encoding = (_a2 = typeof options === `string` ? options : options == null ? void 0 : options.encoding) != null ? _a2 : void 0;
  12831       await this[kBaseFs].writeFilePromise(this.fd, data, encoding);
  12832     } finally {
  12833       this[kUnref]();
  12834     }
  12835   }
  12836   async write(...args) {
  12837     try {
  12838       this[kRef](this.write);
  12839       if (ArrayBuffer.isView(args[0])) {
  12840         const [buffer, offset, length, position] = args;
  12841         const bytesWritten = await this[kBaseFs].writePromise(this.fd, buffer, offset != null ? offset : void 0, length != null ? length : void 0, position != null ? position : void 0);
  12842         return { bytesWritten, buffer };
  12843       } else {
  12844         const [data, position, encoding] = args;
  12845         const bytesWritten = await this[kBaseFs].writePromise(this.fd, data, position, encoding);
  12846         return { bytesWritten, buffer: data };
  12847       }
  12848     } finally {
  12849       this[kUnref]();
  12850     }
  12851   }
  12852   async writev(buffers, position) {
  12853     try {
  12854       this[kRef](this.writev);
  12855       let bytesWritten = 0;
  12856       if (typeof position !== `undefined`) {
  12857         for (const buffer of buffers) {
  12858           const writeResult = await this.write(buffer, void 0, void 0, position);
  12859           bytesWritten += writeResult.bytesWritten;
  12860           position += writeResult.bytesWritten;
  12861         }
  12862       } else {
  12863         for (const buffer of buffers) {
  12864           const writeResult = await this.write(buffer);
  12865           bytesWritten += writeResult.bytesWritten;
  12866         }
  12867       }
  12868       return {
  12869         buffers,
  12870         bytesWritten
  12871       };
  12872     } finally {
  12873       this[kUnref]();
  12874     }
  12875   }
  12876   readv(buffers, position) {
  12877     throw new Error(`Method not implemented.`);
  12878   }
  12879   close() {
  12880     if (this[kFd] === -1)
  12881       return Promise.resolve();
  12882     if (this[kClosePromise])
  12883       return this[kClosePromise];
  12884     this[kRefs]--;
  12885     if (this[kRefs] === 0) {
  12886       const fd = this[kFd];
  12887       this[kFd] = -1;
  12888       this[kClosePromise] = this[kBaseFs].closePromise(fd).finally(() => {
  12889         this[kClosePromise] = void 0;
  12890       });
  12891     } else {
  12892       this[kClosePromise] = new Promise((resolve, reject) => {
  12893         this[kCloseResolve] = resolve;
  12894         this[kCloseReject] = reject;
  12895       }).finally(() => {
  12896         this[kClosePromise] = void 0;
  12897         this[kCloseReject] = void 0;
  12898         this[kCloseResolve] = void 0;
  12899       });
  12900     }
  12901     return this[kClosePromise];
  12902   }
  12903   [(_a = kRefs, _b = kClosePromise, _c = kCloseResolve, _d = kCloseReject, kRef)](caller) {
  12904     if (this[kFd] === -1) {
  12905       const err = new Error(`file closed`);
  12906       err.code = `EBADF`;
  12907       err.syscall = caller.name;
  12908       throw err;
  12909     }
  12910     this[kRefs]++;
  12911   }
  12912   [kUnref]() {
  12913     this[kRefs]--;
  12914     if (this[kRefs] === 0) {
  12915       const fd = this[kFd];
  12916       this[kFd] = -1;
  12917       this[kBaseFs].closePromise(fd).then(this[kCloseResolve], this[kCloseReject]);
  12918     }
  12919   }
  12920 }
  12921 
  12922 const SYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([
  12923   `accessSync`,
  12924   `appendFileSync`,
  12925   `createReadStream`,
  12926   `createWriteStream`,
  12927   `chmodSync`,
  12928   `fchmodSync`,
  12929   `chownSync`,
  12930   `fchownSync`,
  12931   `closeSync`,
  12932   `copyFileSync`,
  12933   `linkSync`,
  12934   `lstatSync`,
  12935   `fstatSync`,
  12936   `lutimesSync`,
  12937   `mkdirSync`,
  12938   `openSync`,
  12939   `opendirSync`,
  12940   `readlinkSync`,
  12941   `readFileSync`,
  12942   `readdirSync`,
  12943   `readlinkSync`,
  12944   `realpathSync`,
  12945   `renameSync`,
  12946   `rmdirSync`,
  12947   `statSync`,
  12948   `symlinkSync`,
  12949   `truncateSync`,
  12950   `ftruncateSync`,
  12951   `unlinkSync`,
  12952   `unwatchFile`,
  12953   `utimesSync`,
  12954   `watch`,
  12955   `watchFile`,
  12956   `writeFileSync`,
  12957   `writeSync`
  12958 ]);
  12959 const ASYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([
  12960   `accessPromise`,
  12961   `appendFilePromise`,
  12962   `fchmodPromise`,
  12963   `chmodPromise`,
  12964   `fchownPromise`,
  12965   `chownPromise`,
  12966   `closePromise`,
  12967   `copyFilePromise`,
  12968   `linkPromise`,
  12969   `fstatPromise`,
  12970   `lstatPromise`,
  12971   `lutimesPromise`,
  12972   `mkdirPromise`,
  12973   `openPromise`,
  12974   `opendirPromise`,
  12975   `readdirPromise`,
  12976   `realpathPromise`,
  12977   `readFilePromise`,
  12978   `readdirPromise`,
  12979   `readlinkPromise`,
  12980   `renamePromise`,
  12981   `rmdirPromise`,
  12982   `statPromise`,
  12983   `symlinkPromise`,
  12984   `truncatePromise`,
  12985   `ftruncatePromise`,
  12986   `unlinkPromise`,
  12987   `utimesPromise`,
  12988   `writeFilePromise`,
  12989   `writeSync`
  12990 ]);
  12991 function patchFs(patchedFs, fakeFs) {
  12992   fakeFs = new NodePathFS(fakeFs);
  12993   const setupFn = (target, name, replacement) => {
  12994     const orig = target[name];
  12995     target[name] = replacement;
  12996     if (typeof (orig == null ? void 0 : orig[nodeUtils.promisify.custom]) !== `undefined`) {
  12997       replacement[nodeUtils.promisify.custom] = orig[nodeUtils.promisify.custom];
  12998     }
  12999   };
  13000   {
  13001     setupFn(patchedFs, `exists`, (p, ...args) => {
  13002       const hasCallback = typeof args[args.length - 1] === `function`;
  13003       const callback = hasCallback ? args.pop() : () => {
  13004       };
  13005       process.nextTick(() => {
  13006         fakeFs.existsPromise(p).then((exists) => {
  13007           callback(exists);
  13008         }, () => {
  13009           callback(false);
  13010         });
  13011       });
  13012     });
  13013     setupFn(patchedFs, `read`, (...args) => {
  13014       let [fd, buffer, offset, length, position, callback] = args;
  13015       if (args.length <= 3) {
  13016         let options = {};
  13017         if (args.length < 3) {
  13018           callback = args[1];
  13019         } else {
  13020           options = args[1];
  13021           callback = args[2];
  13022         }
  13023         ({
  13024           buffer = Buffer.alloc(16384),
  13025           offset = 0,
  13026           length = buffer.byteLength,
  13027           position
  13028         } = options);
  13029       }
  13030       if (offset == null)
  13031         offset = 0;
  13032       length |= 0;
  13033       if (length === 0) {
  13034         process.nextTick(() => {
  13035           callback(null, 0, buffer);
  13036         });
  13037         return;
  13038       }
  13039       if (position == null)
  13040         position = -1;
  13041       process.nextTick(() => {
  13042         fakeFs.readPromise(fd, buffer, offset, length, position).then((bytesRead) => {
  13043           callback(null, bytesRead, buffer);
  13044         }, (error) => {
  13045           callback(error, 0, buffer);
  13046         });
  13047       });
  13048     });
  13049     for (const fnName of ASYNC_IMPLEMENTATIONS) {
  13050       const origName = fnName.replace(/Promise$/, ``);
  13051       if (typeof patchedFs[origName] === `undefined`)
  13052         continue;
  13053       const fakeImpl = fakeFs[fnName];
  13054       if (typeof fakeImpl === `undefined`)
  13055         continue;
  13056       const wrapper = (...args) => {
  13057         const hasCallback = typeof args[args.length - 1] === `function`;
  13058         const callback = hasCallback ? args.pop() : () => {
  13059         };
  13060         process.nextTick(() => {
  13061           fakeImpl.apply(fakeFs, args).then((result) => {
  13062             callback(null, result);
  13063           }, (error) => {
  13064             callback(error);
  13065           });
  13066         });
  13067       };
  13068       setupFn(patchedFs, origName, wrapper);
  13069     }
  13070     patchedFs.realpath.native = patchedFs.realpath;
  13071   }
  13072   {
  13073     setupFn(patchedFs, `existsSync`, (p) => {
  13074       try {
  13075         return fakeFs.existsSync(p);
  13076       } catch (error) {
  13077         return false;
  13078       }
  13079     });
  13080     setupFn(patchedFs, `readSync`, (...args) => {
  13081       let [fd, buffer, offset, length, position] = args;
  13082       if (args.length <= 3) {
  13083         const options = args[2] || {};
  13084         ({ offset = 0, length = buffer.byteLength, position } = options);
  13085       }
  13086       if (offset == null)
  13087         offset = 0;
  13088       length |= 0;
  13089       if (length === 0)
  13090         return 0;
  13091       if (position == null)
  13092         position = -1;
  13093       return fakeFs.readSync(fd, buffer, offset, length, position);
  13094     });
  13095     for (const fnName of SYNC_IMPLEMENTATIONS) {
  13096       const origName = fnName;
  13097       if (typeof patchedFs[origName] === `undefined`)
  13098         continue;
  13099       const fakeImpl = fakeFs[fnName];
  13100       if (typeof fakeImpl === `undefined`)
  13101         continue;
  13102       setupFn(patchedFs, origName, fakeImpl.bind(fakeFs));
  13103     }
  13104     patchedFs.realpathSync.native = patchedFs.realpathSync;
  13105   }
  13106   {
  13107     const origEmitWarning = process.emitWarning;
  13108     process.emitWarning = () => {
  13109     };
  13110     let patchedFsPromises;
  13111     try {
  13112       patchedFsPromises = patchedFs.promises;
  13113     } finally {
  13114       process.emitWarning = origEmitWarning;
  13115     }
  13116     if (typeof patchedFsPromises !== `undefined`) {
  13117       for (const fnName of ASYNC_IMPLEMENTATIONS) {
  13118         const origName = fnName.replace(/Promise$/, ``);
  13119         if (typeof patchedFsPromises[origName] === `undefined`)
  13120           continue;
  13121         const fakeImpl = fakeFs[fnName];
  13122         if (typeof fakeImpl === `undefined`)
  13123           continue;
  13124         if (fnName === `open`)
  13125           continue;
  13126         setupFn(patchedFsPromises, origName, (pathLike, ...args) => {
  13127           if (pathLike instanceof FileHandle) {
  13128             return pathLike[origName].apply(pathLike, args);
  13129           } else {
  13130             return fakeImpl.call(fakeFs, pathLike, ...args);
  13131           }
  13132         });
  13133       }
  13134       setupFn(patchedFsPromises, `open`, async (...args) => {
  13135         const fd = await fakeFs.openPromise(...args);
  13136         return new FileHandle(fd, fakeFs);
  13137       });
  13138     }
  13139   }
  13140   {
  13141     patchedFs.read[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => {
  13142       const res = fakeFs.readPromise(fd, buffer, ...args);
  13143       return { bytesRead: await res, buffer };
  13144     };
  13145     patchedFs.write[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => {
  13146       const res = fakeFs.writePromise(fd, buffer, ...args);
  13147       return { bytesWritten: await res, buffer };
  13148     };
  13149   }
  13150 }
  13151 
  13152 var libzipSync = {exports: {}};
  13153 
  13154 (function (module, exports) {
  13155 var frozenFs = Object.assign({}, fs__default.default);
  13156 var createModule = function() {
  13157   var _scriptDir = void 0;
  13158   if (typeof __filename !== "undefined")
  13159     _scriptDir = _scriptDir || __filename;
  13160   return function(createModule2) {
  13161     createModule2 = createModule2 || {};
  13162     var Module = typeof createModule2 !== "undefined" ? createModule2 : {};
  13163     var readyPromiseResolve, readyPromiseReject;
  13164     Module["ready"] = new Promise(function(resolve, reject) {
  13165       readyPromiseResolve = resolve;
  13166       readyPromiseReject = reject;
  13167     });
  13168     var moduleOverrides = {};
  13169     var key;
  13170     for (key in Module) {
  13171       if (Module.hasOwnProperty(key)) {
  13172         moduleOverrides[key] = Module[key];
  13173       }
  13174     }
  13175     var scriptDirectory = "";
  13176     function locateFile(path) {
  13177       if (Module["locateFile"]) {
  13178         return Module["locateFile"](path, scriptDirectory);
  13179       }
  13180       return scriptDirectory + path;
  13181     }
  13182     var read_, readBinary;
  13183     var nodeFS;
  13184     var nodePath;
  13185     {
  13186       {
  13187         scriptDirectory = __dirname + "/";
  13188       }
  13189       read_ = function shell_read(filename, binary) {
  13190         var ret = tryParseAsDataURI(filename);
  13191         if (ret) {
  13192           return binary ? ret : ret.toString();
  13193         }
  13194         if (!nodeFS)
  13195           nodeFS = frozenFs;
  13196         if (!nodePath)
  13197           nodePath = path__default.default;
  13198         filename = nodePath["normalize"](filename);
  13199         return nodeFS["readFileSync"](filename, binary ? null : "utf8");
  13200       };
  13201       readBinary = function readBinary2(filename) {
  13202         var ret = read_(filename, true);
  13203         if (!ret.buffer) {
  13204           ret = new Uint8Array(ret);
  13205         }
  13206         assert(ret.buffer);
  13207         return ret;
  13208       };
  13209       if (process["argv"].length > 1) {
  13210         process["argv"][1].replace(/\\/g, "/");
  13211       }
  13212       process["argv"].slice(2);
  13213       Module["inspect"] = function() {
  13214         return "[Emscripten Module object]";
  13215       };
  13216     }
  13217     var out = Module["print"] || console.log.bind(console);
  13218     var err = Module["printErr"] || console.warn.bind(console);
  13219     for (key in moduleOverrides) {
  13220       if (moduleOverrides.hasOwnProperty(key)) {
  13221         Module[key] = moduleOverrides[key];
  13222       }
  13223     }
  13224     moduleOverrides = null;
  13225     if (Module["arguments"])
  13226       ;
  13227     if (Module["thisProgram"])
  13228       ;
  13229     if (Module["quit"])
  13230       ;
  13231     var STACK_ALIGN = 16;
  13232     function alignMemory(size, factor) {
  13233       if (!factor)
  13234         factor = STACK_ALIGN;
  13235       return Math.ceil(size / factor) * factor;
  13236     }
  13237     var wasmBinary;
  13238     if (Module["wasmBinary"])
  13239       wasmBinary = Module["wasmBinary"];
  13240     Module["noExitRuntime"] || true;
  13241     if (typeof WebAssembly !== "object") {
  13242       abort("no native wasm support detected");
  13243     }
  13244     function getValue(ptr, type, noSafe) {
  13245       type = type || "i8";
  13246       if (type.charAt(type.length - 1) === "*")
  13247         type = "i32";
  13248       switch (type) {
  13249         case "i1":
  13250           return HEAP8[ptr >> 0];
  13251         case "i8":
  13252           return HEAP8[ptr >> 0];
  13253         case "i16":
  13254           return HEAP16[ptr >> 1];
  13255         case "i32":
  13256           return HEAP32[ptr >> 2];
  13257         case "i64":
  13258           return HEAP32[ptr >> 2];
  13259         case "float":
  13260           return HEAPF32[ptr >> 2];
  13261         case "double":
  13262           return HEAPF64[ptr >> 3];
  13263         default:
  13264           abort("invalid type for getValue: " + type);
  13265       }
  13266       return null;
  13267     }
  13268     var wasmMemory;
  13269     var ABORT = false;
  13270     function assert(condition, text) {
  13271       if (!condition) {
  13272         abort("Assertion failed: " + text);
  13273       }
  13274     }
  13275     function getCFunc(ident) {
  13276       var func = Module["_" + ident];
  13277       assert(
  13278         func,
  13279         "Cannot call unknown function " + ident + ", make sure it is exported"
  13280       );
  13281       return func;
  13282     }
  13283     function ccall(ident, returnType, argTypes, args, opts) {
  13284       var toC = {
  13285         string: function(str) {
  13286           var ret2 = 0;
  13287           if (str !== null && str !== void 0 && str !== 0) {
  13288             var len = (str.length << 2) + 1;
  13289             ret2 = stackAlloc(len);
  13290             stringToUTF8(str, ret2, len);
  13291           }
  13292           return ret2;
  13293         },
  13294         array: function(arr) {
  13295           var ret2 = stackAlloc(arr.length);
  13296           writeArrayToMemory(arr, ret2);
  13297           return ret2;
  13298         }
  13299       };
  13300       function convertReturnValue(ret2) {
  13301         if (returnType === "string")
  13302           return UTF8ToString(ret2);
  13303         if (returnType === "boolean")
  13304           return Boolean(ret2);
  13305         return ret2;
  13306       }
  13307       var func = getCFunc(ident);
  13308       var cArgs = [];
  13309       var stack = 0;
  13310       if (args) {
  13311         for (var i = 0; i < args.length; i++) {
  13312           var converter = toC[argTypes[i]];
  13313           if (converter) {
  13314             if (stack === 0)
  13315               stack = stackSave();
  13316             cArgs[i] = converter(args[i]);
  13317           } else {
  13318             cArgs[i] = args[i];
  13319           }
  13320         }
  13321       }
  13322       var ret = func.apply(null, cArgs);
  13323       ret = convertReturnValue(ret);
  13324       if (stack !== 0)
  13325         stackRestore(stack);
  13326       return ret;
  13327     }
  13328     function cwrap(ident, returnType, argTypes, opts) {
  13329       argTypes = argTypes || [];
  13330       var numericArgs = argTypes.every(function(type) {
  13331         return type === "number";
  13332       });
  13333       var numericRet = returnType !== "string";
  13334       if (numericRet && numericArgs && !opts) {
  13335         return getCFunc(ident);
  13336       }
  13337       return function() {
  13338         return ccall(ident, returnType, argTypes, arguments);
  13339       };
  13340     }
  13341     var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : void 0;
  13342     function UTF8ArrayToString(heap, idx, maxBytesToRead) {
  13343       var endIdx = idx + maxBytesToRead;
  13344       var endPtr = idx;
  13345       while (heap[endPtr] && !(endPtr >= endIdx))
  13346         ++endPtr;
  13347       if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) {
  13348         return UTF8Decoder.decode(heap.subarray(idx, endPtr));
  13349       } else {
  13350         var str = "";
  13351         while (idx < endPtr) {
  13352           var u0 = heap[idx++];
  13353           if (!(u0 & 128)) {
  13354             str += String.fromCharCode(u0);
  13355             continue;
  13356           }
  13357           var u1 = heap[idx++] & 63;
  13358           if ((u0 & 224) == 192) {
  13359             str += String.fromCharCode((u0 & 31) << 6 | u1);
  13360             continue;
  13361           }
  13362           var u2 = heap[idx++] & 63;
  13363           if ((u0 & 240) == 224) {
  13364             u0 = (u0 & 15) << 12 | u1 << 6 | u2;
  13365           } else {
  13366             u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heap[idx++] & 63;
  13367           }
  13368           if (u0 < 65536) {
  13369             str += String.fromCharCode(u0);
  13370           } else {
  13371             var ch = u0 - 65536;
  13372             str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
  13373           }
  13374         }
  13375       }
  13376       return str;
  13377     }
  13378     function UTF8ToString(ptr, maxBytesToRead) {
  13379       return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
  13380     }
  13381     function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
  13382       if (!(maxBytesToWrite > 0))
  13383         return 0;
  13384       var startIdx = outIdx;
  13385       var endIdx = outIdx + maxBytesToWrite - 1;
  13386       for (var i = 0; i < str.length; ++i) {
  13387         var u = str.charCodeAt(i);
  13388         if (u >= 55296 && u <= 57343) {
  13389           var u1 = str.charCodeAt(++i);
  13390           u = 65536 + ((u & 1023) << 10) | u1 & 1023;
  13391         }
  13392         if (u <= 127) {
  13393           if (outIdx >= endIdx)
  13394             break;
  13395           heap[outIdx++] = u;
  13396         } else if (u <= 2047) {
  13397           if (outIdx + 1 >= endIdx)
  13398             break;
  13399           heap[outIdx++] = 192 | u >> 6;
  13400           heap[outIdx++] = 128 | u & 63;
  13401         } else if (u <= 65535) {
  13402           if (outIdx + 2 >= endIdx)
  13403             break;
  13404           heap[outIdx++] = 224 | u >> 12;
  13405           heap[outIdx++] = 128 | u >> 6 & 63;
  13406           heap[outIdx++] = 128 | u & 63;
  13407         } else {
  13408           if (outIdx + 3 >= endIdx)
  13409             break;
  13410           heap[outIdx++] = 240 | u >> 18;
  13411           heap[outIdx++] = 128 | u >> 12 & 63;
  13412           heap[outIdx++] = 128 | u >> 6 & 63;
  13413           heap[outIdx++] = 128 | u & 63;
  13414         }
  13415       }
  13416       heap[outIdx] = 0;
  13417       return outIdx - startIdx;
  13418     }
  13419     function stringToUTF8(str, outPtr, maxBytesToWrite) {
  13420       return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
  13421     }
  13422     function lengthBytesUTF8(str) {
  13423       var len = 0;
  13424       for (var i = 0; i < str.length; ++i) {
  13425         var u = str.charCodeAt(i);
  13426         if (u >= 55296 && u <= 57343)
  13427           u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;
  13428         if (u <= 127)
  13429           ++len;
  13430         else if (u <= 2047)
  13431           len += 2;
  13432         else if (u <= 65535)
  13433           len += 3;
  13434         else
  13435           len += 4;
  13436       }
  13437       return len;
  13438     }
  13439     function allocateUTF8(str) {
  13440       var size = lengthBytesUTF8(str) + 1;
  13441       var ret = _malloc(size);
  13442       if (ret)
  13443         stringToUTF8Array(str, HEAP8, ret, size);
  13444       return ret;
  13445     }
  13446     function writeArrayToMemory(array, buffer2) {
  13447       HEAP8.set(array, buffer2);
  13448     }
  13449     function alignUp(x, multiple) {
  13450       if (x % multiple > 0) {
  13451         x += multiple - x % multiple;
  13452       }
  13453       return x;
  13454     }
  13455     var buffer, HEAP8, HEAPU8, HEAP16, HEAP32, HEAPF32, HEAPF64;
  13456     function updateGlobalBufferAndViews(buf) {
  13457       buffer = buf;
  13458       Module["HEAP8"] = HEAP8 = new Int8Array(buf);
  13459       Module["HEAP16"] = HEAP16 = new Int16Array(buf);
  13460       Module["HEAP32"] = HEAP32 = new Int32Array(buf);
  13461       Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf);
  13462       Module["HEAPU16"] = new Uint16Array(buf);
  13463       Module["HEAPU32"] = new Uint32Array(buf);
  13464       Module["HEAPF32"] = HEAPF32 = new Float32Array(buf);
  13465       Module["HEAPF64"] = HEAPF64 = new Float64Array(buf);
  13466     }
  13467     Module["INITIAL_MEMORY"] || 16777216;
  13468     var wasmTable;
  13469     var __ATPRERUN__ = [];
  13470     var __ATINIT__ = [];
  13471     var __ATPOSTRUN__ = [];
  13472     function preRun() {
  13473       if (Module["preRun"]) {
  13474         if (typeof Module["preRun"] == "function")
  13475           Module["preRun"] = [Module["preRun"]];
  13476         while (Module["preRun"].length) {
  13477           addOnPreRun(Module["preRun"].shift());
  13478         }
  13479       }
  13480       callRuntimeCallbacks(__ATPRERUN__);
  13481     }
  13482     function initRuntime() {
  13483       if (!Module["noFSInit"] && !FS.init.initialized)
  13484         FS.init();
  13485       callRuntimeCallbacks(__ATINIT__);
  13486     }
  13487     function postRun() {
  13488       if (Module["postRun"]) {
  13489         if (typeof Module["postRun"] == "function")
  13490           Module["postRun"] = [Module["postRun"]];
  13491         while (Module["postRun"].length) {
  13492           addOnPostRun(Module["postRun"].shift());
  13493         }
  13494       }
  13495       callRuntimeCallbacks(__ATPOSTRUN__);
  13496     }
  13497     function addOnPreRun(cb) {
  13498       __ATPRERUN__.unshift(cb);
  13499     }
  13500     function addOnInit(cb) {
  13501       __ATINIT__.unshift(cb);
  13502     }
  13503     function addOnPostRun(cb) {
  13504       __ATPOSTRUN__.unshift(cb);
  13505     }
  13506     var runDependencies = 0;
  13507     var dependenciesFulfilled = null;
  13508     function addRunDependency(id) {
  13509       runDependencies++;
  13510       if (Module["monitorRunDependencies"]) {
  13511         Module["monitorRunDependencies"](runDependencies);
  13512       }
  13513     }
  13514     function removeRunDependency(id) {
  13515       runDependencies--;
  13516       if (Module["monitorRunDependencies"]) {
  13517         Module["monitorRunDependencies"](runDependencies);
  13518       }
  13519       if (runDependencies == 0) {
  13520         if (dependenciesFulfilled) {
  13521           var callback = dependenciesFulfilled;
  13522           dependenciesFulfilled = null;
  13523           callback();
  13524         }
  13525       }
  13526     }
  13527     Module["preloadedImages"] = {};
  13528     Module["preloadedAudios"] = {};
  13529     function abort(what) {
  13530       if (Module["onAbort"]) {
  13531         Module["onAbort"](what);
  13532       }
  13533       what += "";
  13534       err(what);
  13535       ABORT = true;
  13536       what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info.";
  13537       var e = new WebAssembly.RuntimeError(what);
  13538       readyPromiseReject(e);
  13539       throw e;
  13540     }
  13541     var dataURIPrefix = "data:application/octet-stream;base64,";
  13542     function isDataURI(filename) {
  13543       return filename.startsWith(dataURIPrefix);
  13544     }
  13545     var wasmBinaryFile = "data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJI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ECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";
  13546     if (!isDataURI(wasmBinaryFile)) {
  13547       wasmBinaryFile = locateFile(wasmBinaryFile);
  13548     }
  13549     function getBinary(file) {
  13550       try {
  13551         if (file == wasmBinaryFile && wasmBinary) {
  13552           return new Uint8Array(wasmBinary);
  13553         }
  13554         var binary = tryParseAsDataURI(file);
  13555         if (binary) {
  13556           return binary;
  13557         }
  13558         if (readBinary) {
  13559           return readBinary(file);
  13560         } else {
  13561           throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)";
  13562         }
  13563       } catch (err2) {
  13564         abort(err2);
  13565       }
  13566     }
  13567     function instantiateSync(file, info) {
  13568       var instance;
  13569       var module2;
  13570       var binary;
  13571       try {
  13572         binary = getBinary(file);
  13573         module2 = new WebAssembly.Module(binary);
  13574         instance = new WebAssembly.Instance(module2, info);
  13575       } catch (e) {
  13576         var str = e.toString();
  13577         err("failed to compile wasm module: " + str);
  13578         if (str.includes("imported Memory") || str.includes("memory import")) {
  13579           err(
  13580             "Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."
  13581           );
  13582         }
  13583         throw e;
  13584       }
  13585       return [instance, module2];
  13586     }
  13587     function createWasm() {
  13588       var info = { a: asmLibraryArg };
  13589       function receiveInstance(instance, module2) {
  13590         var exports3 = instance.exports;
  13591         Module["asm"] = exports3;
  13592         wasmMemory = Module["asm"]["u"];
  13593         updateGlobalBufferAndViews(wasmMemory.buffer);
  13594         wasmTable = Module["asm"]["pa"];
  13595         addOnInit(Module["asm"]["v"]);
  13596         removeRunDependency();
  13597       }
  13598       addRunDependency();
  13599       if (Module["instantiateWasm"]) {
  13600         try {
  13601           var exports2 = Module["instantiateWasm"](info, receiveInstance);
  13602           return exports2;
  13603         } catch (e) {
  13604           err("Module.instantiateWasm callback failed with error: " + e);
  13605           return false;
  13606         }
  13607       }
  13608       var result = instantiateSync(wasmBinaryFile, info);
  13609       receiveInstance(result[0]);
  13610       return Module["asm"];
  13611     }
  13612     var tempDouble;
  13613     var tempI64;
  13614     function callRuntimeCallbacks(callbacks) {
  13615       while (callbacks.length > 0) {
  13616         var callback = callbacks.shift();
  13617         if (typeof callback == "function") {
  13618           callback(Module);
  13619           continue;
  13620         }
  13621         var func = callback.func;
  13622         if (typeof func === "number") {
  13623           if (callback.arg === void 0) {
  13624             wasmTable.get(func)();
  13625           } else {
  13626             wasmTable.get(func)(callback.arg);
  13627           }
  13628         } else {
  13629           func(callback.arg === void 0 ? null : callback.arg);
  13630         }
  13631       }
  13632     }
  13633     function _gmtime_r(time, tmPtr) {
  13634       var date = new Date(HEAP32[time >> 2] * 1e3);
  13635       HEAP32[tmPtr >> 2] = date.getUTCSeconds();
  13636       HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes();
  13637       HEAP32[tmPtr + 8 >> 2] = date.getUTCHours();
  13638       HEAP32[tmPtr + 12 >> 2] = date.getUTCDate();
  13639       HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth();
  13640       HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900;
  13641       HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();
  13642       HEAP32[tmPtr + 36 >> 2] = 0;
  13643       HEAP32[tmPtr + 32 >> 2] = 0;
  13644       var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
  13645       var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;
  13646       HEAP32[tmPtr + 28 >> 2] = yday;
  13647       if (!_gmtime_r.GMTString)
  13648         _gmtime_r.GMTString = allocateUTF8("GMT");
  13649       HEAP32[tmPtr + 40 >> 2] = _gmtime_r.GMTString;
  13650       return tmPtr;
  13651     }
  13652     function ___gmtime_r(a0, a1) {
  13653       return _gmtime_r(a0, a1);
  13654     }
  13655     var PATH = {
  13656       splitPath: function(filename) {
  13657         var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
  13658         return splitPathRe.exec(filename).slice(1);
  13659       },
  13660       normalizeArray: function(parts, allowAboveRoot) {
  13661         var up = 0;
  13662         for (var i = parts.length - 1; i >= 0; i--) {
  13663           var last = parts[i];
  13664           if (last === ".") {
  13665             parts.splice(i, 1);
  13666           } else if (last === "..") {
  13667             parts.splice(i, 1);
  13668             up++;
  13669           } else if (up) {
  13670             parts.splice(i, 1);
  13671             up--;
  13672           }
  13673         }
  13674         if (allowAboveRoot) {
  13675           for (; up; up--) {
  13676             parts.unshift("..");
  13677           }
  13678         }
  13679         return parts;
  13680       },
  13681       normalize: function(path) {
  13682         var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/";
  13683         path = PATH.normalizeArray(
  13684           path.split("/").filter(function(p) {
  13685             return !!p;
  13686           }),
  13687           !isAbsolute
  13688         ).join("/");
  13689         if (!path && !isAbsolute) {
  13690           path = ".";
  13691         }
  13692         if (path && trailingSlash) {
  13693           path += "/";
  13694         }
  13695         return (isAbsolute ? "/" : "") + path;
  13696       },
  13697       dirname: function(path) {
  13698         var result = PATH.splitPath(path), root = result[0], dir = result[1];
  13699         if (!root && !dir) {
  13700           return ".";
  13701         }
  13702         if (dir) {
  13703           dir = dir.substr(0, dir.length - 1);
  13704         }
  13705         return root + dir;
  13706       },
  13707       basename: function(path) {
  13708         if (path === "/")
  13709           return "/";
  13710         path = PATH.normalize(path);
  13711         path = path.replace(/\/$/, "");
  13712         var lastSlash = path.lastIndexOf("/");
  13713         if (lastSlash === -1)
  13714           return path;
  13715         return path.substr(lastSlash + 1);
  13716       },
  13717       extname: function(path) {
  13718         return PATH.splitPath(path)[3];
  13719       },
  13720       join: function() {
  13721         var paths = Array.prototype.slice.call(arguments, 0);
  13722         return PATH.normalize(paths.join("/"));
  13723       },
  13724       join2: function(l, r) {
  13725         return PATH.normalize(l + "/" + r);
  13726       }
  13727     };
  13728     function getRandomDevice() {
  13729       {
  13730         try {
  13731           var crypto_module = require("crypto");
  13732           return function() {
  13733             return crypto_module["randomBytes"](1)[0];
  13734           };
  13735         } catch (e) {
  13736         }
  13737       }
  13738       return function() {
  13739         abort("randomDevice");
  13740       };
  13741     }
  13742     var PATH_FS = {
  13743       resolve: function() {
  13744         var resolvedPath = "", resolvedAbsolute = false;
  13745         for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
  13746           var path = i >= 0 ? arguments[i] : FS.cwd();
  13747           if (typeof path !== "string") {
  13748             throw new TypeError("Arguments to path.resolve must be strings");
  13749           } else if (!path) {
  13750             return "";
  13751           }
  13752           resolvedPath = path + "/" + resolvedPath;
  13753           resolvedAbsolute = path.charAt(0) === "/";
  13754         }
  13755         resolvedPath = PATH.normalizeArray(
  13756           resolvedPath.split("/").filter(function(p) {
  13757             return !!p;
  13758           }),
  13759           !resolvedAbsolute
  13760         ).join("/");
  13761         return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
  13762       },
  13763       relative: function(from, to) {
  13764         from = PATH_FS.resolve(from).substr(1);
  13765         to = PATH_FS.resolve(to).substr(1);
  13766         function trim(arr) {
  13767           var start = 0;
  13768           for (; start < arr.length; start++) {
  13769             if (arr[start] !== "")
  13770               break;
  13771           }
  13772           var end = arr.length - 1;
  13773           for (; end >= 0; end--) {
  13774             if (arr[end] !== "")
  13775               break;
  13776           }
  13777           if (start > end)
  13778             return [];
  13779           return arr.slice(start, end - start + 1);
  13780         }
  13781         var fromParts = trim(from.split("/"));
  13782         var toParts = trim(to.split("/"));
  13783         var length = Math.min(fromParts.length, toParts.length);
  13784         var samePartsLength = length;
  13785         for (var i = 0; i < length; i++) {
  13786           if (fromParts[i] !== toParts[i]) {
  13787             samePartsLength = i;
  13788             break;
  13789           }
  13790         }
  13791         var outputParts = [];
  13792         for (var i = samePartsLength; i < fromParts.length; i++) {
  13793           outputParts.push("..");
  13794         }
  13795         outputParts = outputParts.concat(toParts.slice(samePartsLength));
  13796         return outputParts.join("/");
  13797       }
  13798     };
  13799     var TTY = {
  13800       ttys: [],
  13801       init: function() {
  13802       },
  13803       shutdown: function() {
  13804       },
  13805       register: function(dev, ops) {
  13806         TTY.ttys[dev] = { input: [], output: [], ops };
  13807         FS.registerDevice(dev, TTY.stream_ops);
  13808       },
  13809       stream_ops: {
  13810         open: function(stream) {
  13811           var tty = TTY.ttys[stream.node.rdev];
  13812           if (!tty) {
  13813             throw new FS.ErrnoError(43);
  13814           }
  13815           stream.tty = tty;
  13816           stream.seekable = false;
  13817         },
  13818         close: function(stream) {
  13819           stream.tty.ops.flush(stream.tty);
  13820         },
  13821         flush: function(stream) {
  13822           stream.tty.ops.flush(stream.tty);
  13823         },
  13824         read: function(stream, buffer2, offset, length, pos) {
  13825           if (!stream.tty || !stream.tty.ops.get_char) {
  13826             throw new FS.ErrnoError(60);
  13827           }
  13828           var bytesRead = 0;
  13829           for (var i = 0; i < length; i++) {
  13830             var result;
  13831             try {
  13832               result = stream.tty.ops.get_char(stream.tty);
  13833             } catch (e) {
  13834               throw new FS.ErrnoError(29);
  13835             }
  13836             if (result === void 0 && bytesRead === 0) {
  13837               throw new FS.ErrnoError(6);
  13838             }
  13839             if (result === null || result === void 0)
  13840               break;
  13841             bytesRead++;
  13842             buffer2[offset + i] = result;
  13843           }
  13844           if (bytesRead) {
  13845             stream.node.timestamp = Date.now();
  13846           }
  13847           return bytesRead;
  13848         },
  13849         write: function(stream, buffer2, offset, length, pos) {
  13850           if (!stream.tty || !stream.tty.ops.put_char) {
  13851             throw new FS.ErrnoError(60);
  13852           }
  13853           try {
  13854             for (var i = 0; i < length; i++) {
  13855               stream.tty.ops.put_char(stream.tty, buffer2[offset + i]);
  13856             }
  13857           } catch (e) {
  13858             throw new FS.ErrnoError(29);
  13859           }
  13860           if (length) {
  13861             stream.node.timestamp = Date.now();
  13862           }
  13863           return i;
  13864         }
  13865       },
  13866       default_tty_ops: {
  13867         get_char: function(tty) {
  13868           if (!tty.input.length) {
  13869             var result = null;
  13870             {
  13871               var BUFSIZE = 256;
  13872               var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE);
  13873               var bytesRead = 0;
  13874               try {
  13875                 bytesRead = nodeFS.readSync(
  13876                   process.stdin.fd,
  13877                   buf,
  13878                   0,
  13879                   BUFSIZE,
  13880                   null
  13881                 );
  13882               } catch (e) {
  13883                 if (e.toString().includes("EOF"))
  13884                   bytesRead = 0;
  13885                 else
  13886                   throw e;
  13887               }
  13888               if (bytesRead > 0) {
  13889                 result = buf.slice(0, bytesRead).toString("utf-8");
  13890               } else {
  13891                 result = null;
  13892               }
  13893             }
  13894             if (!result) {
  13895               return null;
  13896             }
  13897             tty.input = intArrayFromString(result, true);
  13898           }
  13899           return tty.input.shift();
  13900         },
  13901         put_char: function(tty, val) {
  13902           if (val === null || val === 10) {
  13903             out(UTF8ArrayToString(tty.output, 0));
  13904             tty.output = [];
  13905           } else {
  13906             if (val != 0)
  13907               tty.output.push(val);
  13908           }
  13909         },
  13910         flush: function(tty) {
  13911           if (tty.output && tty.output.length > 0) {
  13912             out(UTF8ArrayToString(tty.output, 0));
  13913             tty.output = [];
  13914           }
  13915         }
  13916       },
  13917       default_tty1_ops: {
  13918         put_char: function(tty, val) {
  13919           if (val === null || val === 10) {
  13920             err(UTF8ArrayToString(tty.output, 0));
  13921             tty.output = [];
  13922           } else {
  13923             if (val != 0)
  13924               tty.output.push(val);
  13925           }
  13926         },
  13927         flush: function(tty) {
  13928           if (tty.output && tty.output.length > 0) {
  13929             err(UTF8ArrayToString(tty.output, 0));
  13930             tty.output = [];
  13931           }
  13932         }
  13933       }
  13934     };
  13935     function mmapAlloc(size) {
  13936       var alignedSize = alignMemory(size, 65536);
  13937       var ptr = _malloc(alignedSize);
  13938       while (size < alignedSize)
  13939         HEAP8[ptr + size++] = 0;
  13940       return ptr;
  13941     }
  13942     var MEMFS = {
  13943       ops_table: null,
  13944       mount: function(mount) {
  13945         return MEMFS.createNode(null, "/", 16384 | 511, 0);
  13946       },
  13947       createNode: function(parent, name, mode, dev) {
  13948         if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
  13949           throw new FS.ErrnoError(63);
  13950         }
  13951         if (!MEMFS.ops_table) {
  13952           MEMFS.ops_table = {
  13953             dir: {
  13954               node: {
  13955                 getattr: MEMFS.node_ops.getattr,
  13956                 setattr: MEMFS.node_ops.setattr,
  13957                 lookup: MEMFS.node_ops.lookup,
  13958                 mknod: MEMFS.node_ops.mknod,
  13959                 rename: MEMFS.node_ops.rename,
  13960                 unlink: MEMFS.node_ops.unlink,
  13961                 rmdir: MEMFS.node_ops.rmdir,
  13962                 readdir: MEMFS.node_ops.readdir,
  13963                 symlink: MEMFS.node_ops.symlink
  13964               },
  13965               stream: { llseek: MEMFS.stream_ops.llseek }
  13966             },
  13967             file: {
  13968               node: {
  13969                 getattr: MEMFS.node_ops.getattr,
  13970                 setattr: MEMFS.node_ops.setattr
  13971               },
  13972               stream: {
  13973                 llseek: MEMFS.stream_ops.llseek,
  13974                 read: MEMFS.stream_ops.read,
  13975                 write: MEMFS.stream_ops.write,
  13976                 allocate: MEMFS.stream_ops.allocate,
  13977                 mmap: MEMFS.stream_ops.mmap,
  13978                 msync: MEMFS.stream_ops.msync
  13979               }
  13980             },
  13981             link: {
  13982               node: {
  13983                 getattr: MEMFS.node_ops.getattr,
  13984                 setattr: MEMFS.node_ops.setattr,
  13985                 readlink: MEMFS.node_ops.readlink
  13986               },
  13987               stream: {}
  13988             },
  13989             chrdev: {
  13990               node: {
  13991                 getattr: MEMFS.node_ops.getattr,
  13992                 setattr: MEMFS.node_ops.setattr
  13993               },
  13994               stream: FS.chrdev_stream_ops
  13995             }
  13996           };
  13997         }
  13998         var node = FS.createNode(parent, name, mode, dev);
  13999         if (FS.isDir(node.mode)) {
  14000           node.node_ops = MEMFS.ops_table.dir.node;
  14001           node.stream_ops = MEMFS.ops_table.dir.stream;
  14002           node.contents = {};
  14003         } else if (FS.isFile(node.mode)) {
  14004           node.node_ops = MEMFS.ops_table.file.node;
  14005           node.stream_ops = MEMFS.ops_table.file.stream;
  14006           node.usedBytes = 0;
  14007           node.contents = null;
  14008         } else if (FS.isLink(node.mode)) {
  14009           node.node_ops = MEMFS.ops_table.link.node;
  14010           node.stream_ops = MEMFS.ops_table.link.stream;
  14011         } else if (FS.isChrdev(node.mode)) {
  14012           node.node_ops = MEMFS.ops_table.chrdev.node;
  14013           node.stream_ops = MEMFS.ops_table.chrdev.stream;
  14014         }
  14015         node.timestamp = Date.now();
  14016         if (parent) {
  14017           parent.contents[name] = node;
  14018           parent.timestamp = node.timestamp;
  14019         }
  14020         return node;
  14021       },
  14022       getFileDataAsTypedArray: function(node) {
  14023         if (!node.contents)
  14024           return new Uint8Array(0);
  14025         if (node.contents.subarray)
  14026           return node.contents.subarray(0, node.usedBytes);
  14027         return new Uint8Array(node.contents);
  14028       },
  14029       expandFileStorage: function(node, newCapacity) {
  14030         var prevCapacity = node.contents ? node.contents.length : 0;
  14031         if (prevCapacity >= newCapacity)
  14032           return;
  14033         var CAPACITY_DOUBLING_MAX = 1024 * 1024;
  14034         newCapacity = Math.max(
  14035           newCapacity,
  14036           prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0
  14037         );
  14038         if (prevCapacity != 0)
  14039           newCapacity = Math.max(newCapacity, 256);
  14040         var oldContents = node.contents;
  14041         node.contents = new Uint8Array(newCapacity);
  14042         if (node.usedBytes > 0)
  14043           node.contents.set(oldContents.subarray(0, node.usedBytes), 0);
  14044       },
  14045       resizeFileStorage: function(node, newSize) {
  14046         if (node.usedBytes == newSize)
  14047           return;
  14048         if (newSize == 0) {
  14049           node.contents = null;
  14050           node.usedBytes = 0;
  14051         } else {
  14052           var oldContents = node.contents;
  14053           node.contents = new Uint8Array(newSize);
  14054           if (oldContents) {
  14055             node.contents.set(
  14056               oldContents.subarray(0, Math.min(newSize, node.usedBytes))
  14057             );
  14058           }
  14059           node.usedBytes = newSize;
  14060         }
  14061       },
  14062       node_ops: {
  14063         getattr: function(node) {
  14064           var attr = {};
  14065           attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
  14066           attr.ino = node.id;
  14067           attr.mode = node.mode;
  14068           attr.nlink = 1;
  14069           attr.uid = 0;
  14070           attr.gid = 0;
  14071           attr.rdev = node.rdev;
  14072           if (FS.isDir(node.mode)) {
  14073             attr.size = 4096;
  14074           } else if (FS.isFile(node.mode)) {
  14075             attr.size = node.usedBytes;
  14076           } else if (FS.isLink(node.mode)) {
  14077             attr.size = node.link.length;
  14078           } else {
  14079             attr.size = 0;
  14080           }
  14081           attr.atime = new Date(node.timestamp);
  14082           attr.mtime = new Date(node.timestamp);
  14083           attr.ctime = new Date(node.timestamp);
  14084           attr.blksize = 4096;
  14085           attr.blocks = Math.ceil(attr.size / attr.blksize);
  14086           return attr;
  14087         },
  14088         setattr: function(node, attr) {
  14089           if (attr.mode !== void 0) {
  14090             node.mode = attr.mode;
  14091           }
  14092           if (attr.timestamp !== void 0) {
  14093             node.timestamp = attr.timestamp;
  14094           }
  14095           if (attr.size !== void 0) {
  14096             MEMFS.resizeFileStorage(node, attr.size);
  14097           }
  14098         },
  14099         lookup: function(parent, name) {
  14100           throw FS.genericErrors[44];
  14101         },
  14102         mknod: function(parent, name, mode, dev) {
  14103           return MEMFS.createNode(parent, name, mode, dev);
  14104         },
  14105         rename: function(old_node, new_dir, new_name) {
  14106           if (FS.isDir(old_node.mode)) {
  14107             var new_node;
  14108             try {
  14109               new_node = FS.lookupNode(new_dir, new_name);
  14110             } catch (e) {
  14111             }
  14112             if (new_node) {
  14113               for (var i in new_node.contents) {
  14114                 throw new FS.ErrnoError(55);
  14115               }
  14116             }
  14117           }
  14118           delete old_node.parent.contents[old_node.name];
  14119           old_node.parent.timestamp = Date.now();
  14120           old_node.name = new_name;
  14121           new_dir.contents[new_name] = old_node;
  14122           new_dir.timestamp = old_node.parent.timestamp;
  14123           old_node.parent = new_dir;
  14124         },
  14125         unlink: function(parent, name) {
  14126           delete parent.contents[name];
  14127           parent.timestamp = Date.now();
  14128         },
  14129         rmdir: function(parent, name) {
  14130           var node = FS.lookupNode(parent, name);
  14131           for (var i in node.contents) {
  14132             throw new FS.ErrnoError(55);
  14133           }
  14134           delete parent.contents[name];
  14135           parent.timestamp = Date.now();
  14136         },
  14137         readdir: function(node) {
  14138           var entries = [".", ".."];
  14139           for (var key2 in node.contents) {
  14140             if (!node.contents.hasOwnProperty(key2)) {
  14141               continue;
  14142             }
  14143             entries.push(key2);
  14144           }
  14145           return entries;
  14146         },
  14147         symlink: function(parent, newname, oldpath) {
  14148           var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);
  14149           node.link = oldpath;
  14150           return node;
  14151         },
  14152         readlink: function(node) {
  14153           if (!FS.isLink(node.mode)) {
  14154             throw new FS.ErrnoError(28);
  14155           }
  14156           return node.link;
  14157         }
  14158       },
  14159       stream_ops: {
  14160         read: function(stream, buffer2, offset, length, position) {
  14161           var contents = stream.node.contents;
  14162           if (position >= stream.node.usedBytes)
  14163             return 0;
  14164           var size = Math.min(stream.node.usedBytes - position, length);
  14165           if (size > 8 && contents.subarray) {
  14166             buffer2.set(contents.subarray(position, position + size), offset);
  14167           } else {
  14168             for (var i = 0; i < size; i++)
  14169               buffer2[offset + i] = contents[position + i];
  14170           }
  14171           return size;
  14172         },
  14173         write: function(stream, buffer2, offset, length, position, canOwn) {
  14174           if (buffer2.buffer === HEAP8.buffer) {
  14175             canOwn = false;
  14176           }
  14177           if (!length)
  14178             return 0;
  14179           var node = stream.node;
  14180           node.timestamp = Date.now();
  14181           if (buffer2.subarray && (!node.contents || node.contents.subarray)) {
  14182             if (canOwn) {
  14183               node.contents = buffer2.subarray(offset, offset + length);
  14184               node.usedBytes = length;
  14185               return length;
  14186             } else if (node.usedBytes === 0 && position === 0) {
  14187               node.contents = buffer2.slice(offset, offset + length);
  14188               node.usedBytes = length;
  14189               return length;
  14190             } else if (position + length <= node.usedBytes) {
  14191               node.contents.set(
  14192                 buffer2.subarray(offset, offset + length),
  14193                 position
  14194               );
  14195               return length;
  14196             }
  14197           }
  14198           MEMFS.expandFileStorage(node, position + length);
  14199           if (node.contents.subarray && buffer2.subarray) {
  14200             node.contents.set(
  14201               buffer2.subarray(offset, offset + length),
  14202               position
  14203             );
  14204           } else {
  14205             for (var i = 0; i < length; i++) {
  14206               node.contents[position + i] = buffer2[offset + i];
  14207             }
  14208           }
  14209           node.usedBytes = Math.max(node.usedBytes, position + length);
  14210           return length;
  14211         },
  14212         llseek: function(stream, offset, whence) {
  14213           var position = offset;
  14214           if (whence === 1) {
  14215             position += stream.position;
  14216           } else if (whence === 2) {
  14217             if (FS.isFile(stream.node.mode)) {
  14218               position += stream.node.usedBytes;
  14219             }
  14220           }
  14221           if (position < 0) {
  14222             throw new FS.ErrnoError(28);
  14223           }
  14224           return position;
  14225         },
  14226         allocate: function(stream, offset, length) {
  14227           MEMFS.expandFileStorage(stream.node, offset + length);
  14228           stream.node.usedBytes = Math.max(
  14229             stream.node.usedBytes,
  14230             offset + length
  14231           );
  14232         },
  14233         mmap: function(stream, address, length, position, prot, flags) {
  14234           if (address !== 0) {
  14235             throw new FS.ErrnoError(28);
  14236           }
  14237           if (!FS.isFile(stream.node.mode)) {
  14238             throw new FS.ErrnoError(43);
  14239           }
  14240           var ptr;
  14241           var allocated;
  14242           var contents = stream.node.contents;
  14243           if (!(flags & 2) && contents.buffer === buffer) {
  14244             allocated = false;
  14245             ptr = contents.byteOffset;
  14246           } else {
  14247             if (position > 0 || position + length < contents.length) {
  14248               if (contents.subarray) {
  14249                 contents = contents.subarray(position, position + length);
  14250               } else {
  14251                 contents = Array.prototype.slice.call(
  14252                   contents,
  14253                   position,
  14254                   position + length
  14255                 );
  14256               }
  14257             }
  14258             allocated = true;
  14259             ptr = mmapAlloc(length);
  14260             if (!ptr) {
  14261               throw new FS.ErrnoError(48);
  14262             }
  14263             HEAP8.set(contents, ptr);
  14264           }
  14265           return { ptr, allocated };
  14266         },
  14267         msync: function(stream, buffer2, offset, length, mmapFlags) {
  14268           if (!FS.isFile(stream.node.mode)) {
  14269             throw new FS.ErrnoError(43);
  14270           }
  14271           if (mmapFlags & 2) {
  14272             return 0;
  14273           }
  14274           MEMFS.stream_ops.write(
  14275             stream,
  14276             buffer2,
  14277             0,
  14278             length,
  14279             offset,
  14280             false
  14281           );
  14282           return 0;
  14283         }
  14284       }
  14285     };
  14286     var ERRNO_CODES = {
  14287       EPERM: 63,
  14288       ENOENT: 44,
  14289       ESRCH: 71,
  14290       EINTR: 27,
  14291       EIO: 29,
  14292       ENXIO: 60,
  14293       E2BIG: 1,
  14294       ENOEXEC: 45,
  14295       EBADF: 8,
  14296       ECHILD: 12,
  14297       EAGAIN: 6,
  14298       EWOULDBLOCK: 6,
  14299       ENOMEM: 48,
  14300       EACCES: 2,
  14301       EFAULT: 21,
  14302       ENOTBLK: 105,
  14303       EBUSY: 10,
  14304       EEXIST: 20,
  14305       EXDEV: 75,
  14306       ENODEV: 43,
  14307       ENOTDIR: 54,
  14308       EISDIR: 31,
  14309       EINVAL: 28,
  14310       ENFILE: 41,
  14311       EMFILE: 33,
  14312       ENOTTY: 59,
  14313       ETXTBSY: 74,
  14314       EFBIG: 22,
  14315       ENOSPC: 51,
  14316       ESPIPE: 70,
  14317       EROFS: 69,
  14318       EMLINK: 34,
  14319       EPIPE: 64,
  14320       EDOM: 18,
  14321       ERANGE: 68,
  14322       ENOMSG: 49,
  14323       EIDRM: 24,
  14324       ECHRNG: 106,
  14325       EL2NSYNC: 156,
  14326       EL3HLT: 107,
  14327       EL3RST: 108,
  14328       ELNRNG: 109,
  14329       EUNATCH: 110,
  14330       ENOCSI: 111,
  14331       EL2HLT: 112,
  14332       EDEADLK: 16,
  14333       ENOLCK: 46,
  14334       EBADE: 113,
  14335       EBADR: 114,
  14336       EXFULL: 115,
  14337       ENOANO: 104,
  14338       EBADRQC: 103,
  14339       EBADSLT: 102,
  14340       EDEADLOCK: 16,
  14341       EBFONT: 101,
  14342       ENOSTR: 100,
  14343       ENODATA: 116,
  14344       ETIME: 117,
  14345       ENOSR: 118,
  14346       ENONET: 119,
  14347       ENOPKG: 120,
  14348       EREMOTE: 121,
  14349       ENOLINK: 47,
  14350       EADV: 122,
  14351       ESRMNT: 123,
  14352       ECOMM: 124,
  14353       EPROTO: 65,
  14354       EMULTIHOP: 36,
  14355       EDOTDOT: 125,
  14356       EBADMSG: 9,
  14357       ENOTUNIQ: 126,
  14358       EBADFD: 127,
  14359       EREMCHG: 128,
  14360       ELIBACC: 129,
  14361       ELIBBAD: 130,
  14362       ELIBSCN: 131,
  14363       ELIBMAX: 132,
  14364       ELIBEXEC: 133,
  14365       ENOSYS: 52,
  14366       ENOTEMPTY: 55,
  14367       ENAMETOOLONG: 37,
  14368       ELOOP: 32,
  14369       EOPNOTSUPP: 138,
  14370       EPFNOSUPPORT: 139,
  14371       ECONNRESET: 15,
  14372       ENOBUFS: 42,
  14373       EAFNOSUPPORT: 5,
  14374       EPROTOTYPE: 67,
  14375       ENOTSOCK: 57,
  14376       ENOPROTOOPT: 50,
  14377       ESHUTDOWN: 140,
  14378       ECONNREFUSED: 14,
  14379       EADDRINUSE: 3,
  14380       ECONNABORTED: 13,
  14381       ENETUNREACH: 40,
  14382       ENETDOWN: 38,
  14383       ETIMEDOUT: 73,
  14384       EHOSTDOWN: 142,
  14385       EHOSTUNREACH: 23,
  14386       EINPROGRESS: 26,
  14387       EALREADY: 7,
  14388       EDESTADDRREQ: 17,
  14389       EMSGSIZE: 35,
  14390       EPROTONOSUPPORT: 66,
  14391       ESOCKTNOSUPPORT: 137,
  14392       EADDRNOTAVAIL: 4,
  14393       ENETRESET: 39,
  14394       EISCONN: 30,
  14395       ENOTCONN: 53,
  14396       ETOOMANYREFS: 141,
  14397       EUSERS: 136,
  14398       EDQUOT: 19,
  14399       ESTALE: 72,
  14400       ENOTSUP: 138,
  14401       ENOMEDIUM: 148,
  14402       EILSEQ: 25,
  14403       EOVERFLOW: 61,
  14404       ECANCELED: 11,
  14405       ENOTRECOVERABLE: 56,
  14406       EOWNERDEAD: 62,
  14407       ESTRPIPE: 135
  14408     };
  14409     var NODEFS = {
  14410       isWindows: false,
  14411       staticInit: function() {
  14412         NODEFS.isWindows = !!process.platform.match(/^win/);
  14413         var flags = { fs: fs.constants };
  14414         if (flags["fs"]) {
  14415           flags = flags["fs"];
  14416         }
  14417         NODEFS.flagsForNodeMap = {
  14418           1024: flags["O_APPEND"],
  14419           64: flags["O_CREAT"],
  14420           128: flags["O_EXCL"],
  14421           256: flags["O_NOCTTY"],
  14422           0: flags["O_RDONLY"],
  14423           2: flags["O_RDWR"],
  14424           4096: flags["O_SYNC"],
  14425           512: flags["O_TRUNC"],
  14426           1: flags["O_WRONLY"]
  14427         };
  14428       },
  14429       bufferFrom: function(arrayBuffer) {
  14430         return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer);
  14431       },
  14432       convertNodeCode: function(e) {
  14433         var code = e.code;
  14434         return ERRNO_CODES[code];
  14435       },
  14436       mount: function(mount) {
  14437         return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0);
  14438       },
  14439       createNode: function(parent, name, mode, dev) {
  14440         if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
  14441           throw new FS.ErrnoError(28);
  14442         }
  14443         var node = FS.createNode(parent, name, mode);
  14444         node.node_ops = NODEFS.node_ops;
  14445         node.stream_ops = NODEFS.stream_ops;
  14446         return node;
  14447       },
  14448       getMode: function(path) {
  14449         var stat;
  14450         try {
  14451           stat = fs.lstatSync(path);
  14452           if (NODEFS.isWindows) {
  14453             stat.mode = stat.mode | (stat.mode & 292) >> 2;
  14454           }
  14455         } catch (e) {
  14456           if (!e.code)
  14457             throw e;
  14458           throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
  14459         }
  14460         return stat.mode;
  14461       },
  14462       realPath: function(node) {
  14463         var parts = [];
  14464         while (node.parent !== node) {
  14465           parts.push(node.name);
  14466           node = node.parent;
  14467         }
  14468         parts.push(node.mount.opts.root);
  14469         parts.reverse();
  14470         return PATH.join.apply(null, parts);
  14471       },
  14472       flagsForNode: function(flags) {
  14473         flags &= ~2097152;
  14474         flags &= ~2048;
  14475         flags &= ~32768;
  14476         flags &= ~524288;
  14477         var newFlags = 0;
  14478         for (var k in NODEFS.flagsForNodeMap) {
  14479           if (flags & k) {
  14480             newFlags |= NODEFS.flagsForNodeMap[k];
  14481             flags ^= k;
  14482           }
  14483         }
  14484         if (!flags) {
  14485           return newFlags;
  14486         } else {
  14487           throw new FS.ErrnoError(28);
  14488         }
  14489       },
  14490       node_ops: {
  14491         getattr: function(node) {
  14492           var path = NODEFS.realPath(node);
  14493           var stat;
  14494           try {
  14495             stat = fs.lstatSync(path);
  14496           } catch (e) {
  14497             if (!e.code)
  14498               throw e;
  14499             throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
  14500           }
  14501           if (NODEFS.isWindows && !stat.blksize) {
  14502             stat.blksize = 4096;
  14503           }
  14504           if (NODEFS.isWindows && !stat.blocks) {
  14505             stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0;
  14506           }
  14507           return {
  14508             dev: stat.dev,
  14509             ino: stat.ino,
  14510             mode: stat.mode,
  14511             nlink: stat.nlink,
  14512             uid: stat.uid,
  14513             gid: stat.gid,
  14514             rdev: stat.rdev,
  14515             size: stat.size,
  14516             atime: stat.atime,
  14517             mtime: stat.mtime,
  14518             ctime: stat.ctime,
  14519             blksize: stat.blksize,
  14520             blocks: stat.blocks
  14521           };
  14522         },
  14523         setattr: function(node, attr) {
  14524           var path = NODEFS.realPath(node);
  14525           try {
  14526             if (attr.mode !== void 0) {
  14527               fs.chmodSync(path, attr.mode);
  14528               node.mode = attr.mode;
  14529             }
  14530             if (attr.timestamp !== void 0) {
  14531               var date = new Date(attr.timestamp);
  14532               fs.utimesSync(path, date, date);
  14533             }
  14534             if (attr.size !== void 0) {
  14535               fs.truncateSync(path, attr.size);
  14536             }
  14537           } catch (e) {
  14538             if (!e.code)
  14539               throw e;
  14540             throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
  14541           }
  14542         },
  14543         lookup: function(parent, name) {
  14544           var path = PATH.join2(NODEFS.realPath(parent), name);
  14545           var mode = NODEFS.getMode(path);
  14546           return NODEFS.createNode(parent, name, mode);
  14547         },
  14548         mknod: function(parent, name, mode, dev) {
  14549           var node = NODEFS.createNode(parent, name, mode, dev);
  14550           var path = NODEFS.realPath(node);
  14551           try {
  14552             if (FS.isDir(node.mode)) {
  14553               fs.mkdirSync(path, node.mode);
  14554             } else {
  14555               fs.writeFileSync(path, "", { mode: node.mode });
  14556             }
  14557           } catch (e) {
  14558             if (!e.code)
  14559               throw e;
  14560             throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
  14561           }
  14562           return node;
  14563         },
  14564         rename: function(oldNode, newDir, newName) {
  14565           var oldPath = NODEFS.realPath(oldNode);
  14566           var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
  14567           try {
  14568             fs.renameSync(oldPath, newPath);
  14569           } catch (e) {
  14570             if (!e.code)
  14571               throw e;
  14572             throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
  14573           }
  14574           oldNode.name = newName;
  14575         },
  14576         unlink: function(parent, name) {
  14577           var path = PATH.join2(NODEFS.realPath(parent), name);
  14578           try {
  14579             fs.unlinkSync(path);
  14580           } catch (e) {
  14581             if (!e.code)
  14582               throw e;
  14583             throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
  14584           }
  14585         },
  14586         rmdir: function(parent, name) {
  14587           var path = PATH.join2(NODEFS.realPath(parent), name);
  14588           try {
  14589             fs.rmdirSync(path);
  14590           } catch (e) {
  14591             if (!e.code)
  14592               throw e;
  14593             throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
  14594           }
  14595         },
  14596         readdir: function(node) {
  14597           var path = NODEFS.realPath(node);
  14598           try {
  14599             return fs.readdirSync(path);
  14600           } catch (e) {
  14601             if (!e.code)
  14602               throw e;
  14603             throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
  14604           }
  14605         },
  14606         symlink: function(parent, newName, oldPath) {
  14607           var newPath = PATH.join2(NODEFS.realPath(parent), newName);
  14608           try {
  14609             fs.symlinkSync(oldPath, newPath);
  14610           } catch (e) {
  14611             if (!e.code)
  14612               throw e;
  14613             throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
  14614           }
  14615         },
  14616         readlink: function(node) {
  14617           var path = NODEFS.realPath(node);
  14618           try {
  14619             path = fs.readlinkSync(path);
  14620             path = NODEJS_PATH.relative(
  14621               NODEJS_PATH.resolve(node.mount.opts.root),
  14622               path
  14623             );
  14624             return path;
  14625           } catch (e) {
  14626             if (!e.code)
  14627               throw e;
  14628             throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
  14629           }
  14630         }
  14631       },
  14632       stream_ops: {
  14633         open: function(stream) {
  14634           var path = NODEFS.realPath(stream.node);
  14635           try {
  14636             if (FS.isFile(stream.node.mode)) {
  14637               stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags));
  14638             }
  14639           } catch (e) {
  14640             if (!e.code)
  14641               throw e;
  14642             throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
  14643           }
  14644         },
  14645         close: function(stream) {
  14646           try {
  14647             if (FS.isFile(stream.node.mode) && stream.nfd) {
  14648               fs.closeSync(stream.nfd);
  14649             }
  14650           } catch (e) {
  14651             if (!e.code)
  14652               throw e;
  14653             throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
  14654           }
  14655         },
  14656         read: function(stream, buffer2, offset, length, position) {
  14657           if (length === 0)
  14658             return 0;
  14659           try {
  14660             return fs.readSync(
  14661               stream.nfd,
  14662               NODEFS.bufferFrom(buffer2.buffer),
  14663               offset,
  14664               length,
  14665               position
  14666             );
  14667           } catch (e) {
  14668             throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
  14669           }
  14670         },
  14671         write: function(stream, buffer2, offset, length, position) {
  14672           try {
  14673             return fs.writeSync(
  14674               stream.nfd,
  14675               NODEFS.bufferFrom(buffer2.buffer),
  14676               offset,
  14677               length,
  14678               position
  14679             );
  14680           } catch (e) {
  14681             throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
  14682           }
  14683         },
  14684         llseek: function(stream, offset, whence) {
  14685           var position = offset;
  14686           if (whence === 1) {
  14687             position += stream.position;
  14688           } else if (whence === 2) {
  14689             if (FS.isFile(stream.node.mode)) {
  14690               try {
  14691                 var stat = fs.fstatSync(stream.nfd);
  14692                 position += stat.size;
  14693               } catch (e) {
  14694                 throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
  14695               }
  14696             }
  14697           }
  14698           if (position < 0) {
  14699             throw new FS.ErrnoError(28);
  14700           }
  14701           return position;
  14702         },
  14703         mmap: function(stream, address, length, position, prot, flags) {
  14704           if (address !== 0) {
  14705             throw new FS.ErrnoError(28);
  14706           }
  14707           if (!FS.isFile(stream.node.mode)) {
  14708             throw new FS.ErrnoError(43);
  14709           }
  14710           var ptr = mmapAlloc(length);
  14711           NODEFS.stream_ops.read(stream, HEAP8, ptr, length, position);
  14712           return { ptr, allocated: true };
  14713         },
  14714         msync: function(stream, buffer2, offset, length, mmapFlags) {
  14715           if (!FS.isFile(stream.node.mode)) {
  14716             throw new FS.ErrnoError(43);
  14717           }
  14718           if (mmapFlags & 2) {
  14719             return 0;
  14720           }
  14721           NODEFS.stream_ops.write(
  14722             stream,
  14723             buffer2,
  14724             0,
  14725             length,
  14726             offset,
  14727             false
  14728           );
  14729           return 0;
  14730         }
  14731       }
  14732     };
  14733     var NODERAWFS = {
  14734       lookupPath: function(path) {
  14735         return { path, node: { mode: NODEFS.getMode(path) } };
  14736       },
  14737       createStandardStreams: function() {
  14738         FS.streams[0] = {
  14739           fd: 0,
  14740           nfd: 0,
  14741           position: 0,
  14742           path: "",
  14743           flags: 0,
  14744           tty: true,
  14745           seekable: false
  14746         };
  14747         for (var i = 1; i < 3; i++) {
  14748           FS.streams[i] = {
  14749             fd: i,
  14750             nfd: i,
  14751             position: 0,
  14752             path: "",
  14753             flags: 577,
  14754             tty: true,
  14755             seekable: false
  14756           };
  14757         }
  14758       },
  14759       cwd: function() {
  14760         return process.cwd();
  14761       },
  14762       chdir: function() {
  14763         process.chdir.apply(void 0, arguments);
  14764       },
  14765       mknod: function(path, mode) {
  14766         if (FS.isDir(path)) {
  14767           fs.mkdirSync(path, mode);
  14768         } else {
  14769           fs.writeFileSync(path, "", { mode });
  14770         }
  14771       },
  14772       mkdir: function() {
  14773         fs.mkdirSync.apply(void 0, arguments);
  14774       },
  14775       symlink: function() {
  14776         fs.symlinkSync.apply(void 0, arguments);
  14777       },
  14778       rename: function() {
  14779         fs.renameSync.apply(void 0, arguments);
  14780       },
  14781       rmdir: function() {
  14782         fs.rmdirSync.apply(void 0, arguments);
  14783       },
  14784       readdir: function() {
  14785         fs.readdirSync.apply(void 0, arguments);
  14786       },
  14787       unlink: function() {
  14788         fs.unlinkSync.apply(void 0, arguments);
  14789       },
  14790       readlink: function() {
  14791         return fs.readlinkSync.apply(void 0, arguments);
  14792       },
  14793       stat: function() {
  14794         return fs.statSync.apply(void 0, arguments);
  14795       },
  14796       lstat: function() {
  14797         return fs.lstatSync.apply(void 0, arguments);
  14798       },
  14799       chmod: function() {
  14800         fs.chmodSync.apply(void 0, arguments);
  14801       },
  14802       fchmod: function() {
  14803         fs.fchmodSync.apply(void 0, arguments);
  14804       },
  14805       chown: function() {
  14806         fs.chownSync.apply(void 0, arguments);
  14807       },
  14808       fchown: function() {
  14809         fs.fchownSync.apply(void 0, arguments);
  14810       },
  14811       truncate: function() {
  14812         fs.truncateSync.apply(void 0, arguments);
  14813       },
  14814       ftruncate: function(fd, len) {
  14815         if (len < 0) {
  14816           throw new FS.ErrnoError(28);
  14817         }
  14818         fs.ftruncateSync.apply(void 0, arguments);
  14819       },
  14820       utime: function() {
  14821         fs.utimesSync.apply(void 0, arguments);
  14822       },
  14823       open: function(path, flags, mode, suggestFD) {
  14824         if (typeof flags === "string") {
  14825           flags = VFS.modeStringToFlags(flags);
  14826         }
  14827         var nfd = fs.openSync(path, NODEFS.flagsForNode(flags), mode);
  14828         var fd = suggestFD != null ? suggestFD : FS.nextfd(nfd);
  14829         var stream = {
  14830           fd,
  14831           nfd,
  14832           position: 0,
  14833           path,
  14834           flags,
  14835           seekable: true
  14836         };
  14837         FS.streams[fd] = stream;
  14838         return stream;
  14839       },
  14840       close: function(stream) {
  14841         if (!stream.stream_ops) {
  14842           fs.closeSync(stream.nfd);
  14843         }
  14844         FS.closeStream(stream.fd);
  14845       },
  14846       llseek: function(stream, offset, whence) {
  14847         if (stream.stream_ops) {
  14848           return VFS.llseek(stream, offset, whence);
  14849         }
  14850         var position = offset;
  14851         if (whence === 1) {
  14852           position += stream.position;
  14853         } else if (whence === 2) {
  14854           position += fs.fstatSync(stream.nfd).size;
  14855         } else if (whence !== 0) {
  14856           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  14857         }
  14858         if (position < 0) {
  14859           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
  14860         }
  14861         stream.position = position;
  14862         return position;
  14863       },
  14864       read: function(stream, buffer2, offset, length, position) {
  14865         if (stream.stream_ops) {
  14866           return VFS.read(stream, buffer2, offset, length, position);
  14867         }
  14868         var seeking = typeof position !== "undefined";
  14869         if (!seeking && stream.seekable)
  14870           position = stream.position;
  14871         var bytesRead = fs.readSync(
  14872           stream.nfd,
  14873           NODEFS.bufferFrom(buffer2.buffer),
  14874           offset,
  14875           length,
  14876           position
  14877         );
  14878         if (!seeking)
  14879           stream.position += bytesRead;
  14880         return bytesRead;
  14881       },
  14882       write: function(stream, buffer2, offset, length, position) {
  14883         if (stream.stream_ops) {
  14884           return VFS.write(stream, buffer2, offset, length, position);
  14885         }
  14886         if (stream.flags & +"1024") {
  14887           FS.llseek(stream, 0, +"2");
  14888         }
  14889         var seeking = typeof position !== "undefined";
  14890         if (!seeking && stream.seekable)
  14891           position = stream.position;
  14892         var bytesWritten = fs.writeSync(
  14893           stream.nfd,
  14894           NODEFS.bufferFrom(buffer2.buffer),
  14895           offset,
  14896           length,
  14897           position
  14898         );
  14899         if (!seeking)
  14900           stream.position += bytesWritten;
  14901         return bytesWritten;
  14902       },
  14903       allocate: function() {
  14904         throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
  14905       },
  14906       mmap: function(stream, address, length, position, prot, flags) {
  14907         if (stream.stream_ops) {
  14908           return VFS.mmap(stream, address, length, position, prot, flags);
  14909         }
  14910         if (address !== 0) {
  14911           throw new FS.ErrnoError(28);
  14912         }
  14913         var ptr = mmapAlloc(length);
  14914         FS.read(stream, HEAP8, ptr, length, position);
  14915         return { ptr, allocated: true };
  14916       },
  14917       msync: function(stream, buffer2, offset, length, mmapFlags) {
  14918         if (stream.stream_ops) {
  14919           return VFS.msync(stream, buffer2, offset, length, mmapFlags);
  14920         }
  14921         if (mmapFlags & 2) {
  14922           return 0;
  14923         }
  14924         FS.write(stream, buffer2, 0, length, offset);
  14925         return 0;
  14926       },
  14927       munmap: function() {
  14928         return 0;
  14929       },
  14930       ioctl: function() {
  14931         throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
  14932       }
  14933     };
  14934     var FS = {
  14935       root: null,
  14936       mounts: [],
  14937       devices: {},
  14938       streams: [],
  14939       nextInode: 1,
  14940       nameTable: null,
  14941       currentPath: "/",
  14942       initialized: false,
  14943       ignorePermissions: true,
  14944       trackingDelegate: {},
  14945       tracking: { openFlags: { READ: 1, WRITE: 2 } },
  14946       ErrnoError: null,
  14947       genericErrors: {},
  14948       filesystems: null,
  14949       syncFSRequests: 0,
  14950       lookupPath: function(path, opts) {
  14951         path = PATH_FS.resolve(FS.cwd(), path);
  14952         opts = opts || {};
  14953         if (!path)
  14954           return { path: "", node: null };
  14955         var defaults = { follow_mount: true, recurse_count: 0 };
  14956         for (var key2 in defaults) {
  14957           if (opts[key2] === void 0) {
  14958             opts[key2] = defaults[key2];
  14959           }
  14960         }
  14961         if (opts.recurse_count > 8) {
  14962           throw new FS.ErrnoError(32);
  14963         }
  14964         var parts = PATH.normalizeArray(
  14965           path.split("/").filter(function(p) {
  14966             return !!p;
  14967           }),
  14968           false
  14969         );
  14970         var current = FS.root;
  14971         var current_path = "/";
  14972         for (var i = 0; i < parts.length; i++) {
  14973           var islast = i === parts.length - 1;
  14974           if (islast && opts.parent) {
  14975             break;
  14976           }
  14977           current = FS.lookupNode(current, parts[i]);
  14978           current_path = PATH.join2(current_path, parts[i]);
  14979           if (FS.isMountpoint(current)) {
  14980             if (!islast || islast && opts.follow_mount) {
  14981               current = current.mounted.root;
  14982             }
  14983           }
  14984           if (!islast || opts.follow) {
  14985             var count = 0;
  14986             while (FS.isLink(current.mode)) {
  14987               var link = FS.readlink(current_path);
  14988               current_path = PATH_FS.resolve(PATH.dirname(current_path), link);
  14989               var lookup = FS.lookupPath(current_path, {
  14990                 recurse_count: opts.recurse_count
  14991               });
  14992               current = lookup.node;
  14993               if (count++ > 40) {
  14994                 throw new FS.ErrnoError(32);
  14995               }
  14996             }
  14997           }
  14998         }
  14999         return { path: current_path, node: current };
  15000       },
  15001       getPath: function(node) {
  15002         var path;
  15003         while (true) {
  15004           if (FS.isRoot(node)) {
  15005             var mount = node.mount.mountpoint;
  15006             if (!path)
  15007               return mount;
  15008             return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path;
  15009           }
  15010           path = path ? node.name + "/" + path : node.name;
  15011           node = node.parent;
  15012         }
  15013       },
  15014       hashName: function(parentid, name) {
  15015         var hash = 0;
  15016         for (var i = 0; i < name.length; i++) {
  15017           hash = (hash << 5) - hash + name.charCodeAt(i) | 0;
  15018         }
  15019         return (parentid + hash >>> 0) % FS.nameTable.length;
  15020       },
  15021       hashAddNode: function(node) {
  15022         var hash = FS.hashName(node.parent.id, node.name);
  15023         node.name_next = FS.nameTable[hash];
  15024         FS.nameTable[hash] = node;
  15025       },
  15026       hashRemoveNode: function(node) {
  15027         var hash = FS.hashName(node.parent.id, node.name);
  15028         if (FS.nameTable[hash] === node) {
  15029           FS.nameTable[hash] = node.name_next;
  15030         } else {
  15031           var current = FS.nameTable[hash];
  15032           while (current) {
  15033             if (current.name_next === node) {
  15034               current.name_next = node.name_next;
  15035               break;
  15036             }
  15037             current = current.name_next;
  15038           }
  15039         }
  15040       },
  15041       lookupNode: function(parent, name) {
  15042         var errCode = FS.mayLookup(parent);
  15043         if (errCode) {
  15044           throw new FS.ErrnoError(errCode, parent);
  15045         }
  15046         var hash = FS.hashName(parent.id, name);
  15047         for (var node = FS.nameTable[hash]; node; node = node.name_next) {
  15048           var nodeName = node.name;
  15049           if (node.parent.id === parent.id && nodeName === name) {
  15050             return node;
  15051           }
  15052         }
  15053         return FS.lookup(parent, name);
  15054       },
  15055       createNode: function(parent, name, mode, rdev) {
  15056         var node = new FS.FSNode(parent, name, mode, rdev);
  15057         FS.hashAddNode(node);
  15058         return node;
  15059       },
  15060       destroyNode: function(node) {
  15061         FS.hashRemoveNode(node);
  15062       },
  15063       isRoot: function(node) {
  15064         return node === node.parent;
  15065       },
  15066       isMountpoint: function(node) {
  15067         return !!node.mounted;
  15068       },
  15069       isFile: function(mode) {
  15070         return (mode & 61440) === 32768;
  15071       },
  15072       isDir: function(mode) {
  15073         return (mode & 61440) === 16384;
  15074       },
  15075       isLink: function(mode) {
  15076         return (mode & 61440) === 40960;
  15077       },
  15078       isChrdev: function(mode) {
  15079         return (mode & 61440) === 8192;
  15080       },
  15081       isBlkdev: function(mode) {
  15082         return (mode & 61440) === 24576;
  15083       },
  15084       isFIFO: function(mode) {
  15085         return (mode & 61440) === 4096;
  15086       },
  15087       isSocket: function(mode) {
  15088         return (mode & 49152) === 49152;
  15089       },
  15090       flagModes: { r: 0, "r+": 2, w: 577, "w+": 578, a: 1089, "a+": 1090 },
  15091       modeStringToFlags: function(str) {
  15092         var flags = FS.flagModes[str];
  15093         if (typeof flags === "undefined") {
  15094           throw new Error("Unknown file open mode: " + str);
  15095         }
  15096         return flags;
  15097       },
  15098       flagsToPermissionString: function(flag) {
  15099         var perms = ["r", "w", "rw"][flag & 3];
  15100         if (flag & 512) {
  15101           perms += "w";
  15102         }
  15103         return perms;
  15104       },
  15105       nodePermissions: function(node, perms) {
  15106         if (FS.ignorePermissions) {
  15107           return 0;
  15108         }
  15109         if (perms.includes("r") && !(node.mode & 292)) {
  15110           return 2;
  15111         } else if (perms.includes("w") && !(node.mode & 146)) {
  15112           return 2;
  15113         } else if (perms.includes("x") && !(node.mode & 73)) {
  15114           return 2;
  15115         }
  15116         return 0;
  15117       },
  15118       mayLookup: function(dir) {
  15119         var errCode = FS.nodePermissions(dir, "x");
  15120         if (errCode)
  15121           return errCode;
  15122         if (!dir.node_ops.lookup)
  15123           return 2;
  15124         return 0;
  15125       },
  15126       mayCreate: function(dir, name) {
  15127         try {
  15128           var node = FS.lookupNode(dir, name);
  15129           return 20;
  15130         } catch (e) {
  15131         }
  15132         return FS.nodePermissions(dir, "wx");
  15133       },
  15134       mayDelete: function(dir, name, isdir) {
  15135         var node;
  15136         try {
  15137           node = FS.lookupNode(dir, name);
  15138         } catch (e) {
  15139           return e.errno;
  15140         }
  15141         var errCode = FS.nodePermissions(dir, "wx");
  15142         if (errCode) {
  15143           return errCode;
  15144         }
  15145         if (isdir) {
  15146           if (!FS.isDir(node.mode)) {
  15147             return 54;
  15148           }
  15149           if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
  15150             return 10;
  15151           }
  15152         } else {
  15153           if (FS.isDir(node.mode)) {
  15154             return 31;
  15155           }
  15156         }
  15157         return 0;
  15158       },
  15159       mayOpen: function(node, flags) {
  15160         if (!node) {
  15161           return 44;
  15162         }
  15163         if (FS.isLink(node.mode)) {
  15164           return 32;
  15165         } else if (FS.isDir(node.mode)) {
  15166           if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) {
  15167             return 31;
  15168           }
  15169         }
  15170         return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
  15171       },
  15172       MAX_OPEN_FDS: 4096,
  15173       nextfd: function(fd_start, fd_end) {
  15174         fd_start = fd_start || 0;
  15175         fd_end = fd_end || FS.MAX_OPEN_FDS;
  15176         for (var fd = fd_start; fd <= fd_end; fd++) {
  15177           if (!FS.streams[fd]) {
  15178             return fd;
  15179           }
  15180         }
  15181         throw new FS.ErrnoError(33);
  15182       },
  15183       getStream: function(fd) {
  15184         return FS.streams[fd];
  15185       },
  15186       createStream: function(stream, fd_start, fd_end) {
  15187         if (!FS.FSStream) {
  15188           FS.FSStream = function() {
  15189           };
  15190           FS.FSStream.prototype = {
  15191             object: {
  15192               get: function() {
  15193                 return this.node;
  15194               },
  15195               set: function(val) {
  15196                 this.node = val;
  15197               }
  15198             },
  15199             isRead: {
  15200               get: function() {
  15201                 return (this.flags & 2097155) !== 1;
  15202               }
  15203             },
  15204             isWrite: {
  15205               get: function() {
  15206                 return (this.flags & 2097155) !== 0;
  15207               }
  15208             },
  15209             isAppend: {
  15210               get: function() {
  15211                 return this.flags & 1024;
  15212               }
  15213             }
  15214           };
  15215         }
  15216         var newStream = new FS.FSStream();
  15217         for (var p in stream) {
  15218           newStream[p] = stream[p];
  15219         }
  15220         stream = newStream;
  15221         var fd = FS.nextfd(fd_start, fd_end);
  15222         stream.fd = fd;
  15223         FS.streams[fd] = stream;
  15224         return stream;
  15225       },
  15226       closeStream: function(fd) {
  15227         FS.streams[fd] = null;
  15228       },
  15229       chrdev_stream_ops: {
  15230         open: function(stream) {
  15231           var device = FS.getDevice(stream.node.rdev);
  15232           stream.stream_ops = device.stream_ops;
  15233           if (stream.stream_ops.open) {
  15234             stream.stream_ops.open(stream);
  15235           }
  15236         },
  15237         llseek: function() {
  15238           throw new FS.ErrnoError(70);
  15239         }
  15240       },
  15241       major: function(dev) {
  15242         return dev >> 8;
  15243       },
  15244       minor: function(dev) {
  15245         return dev & 255;
  15246       },
  15247       makedev: function(ma, mi) {
  15248         return ma << 8 | mi;
  15249       },
  15250       registerDevice: function(dev, ops) {
  15251         FS.devices[dev] = { stream_ops: ops };
  15252       },
  15253       getDevice: function(dev) {
  15254         return FS.devices[dev];
  15255       },
  15256       getMounts: function(mount) {
  15257         var mounts = [];
  15258         var check = [mount];
  15259         while (check.length) {
  15260           var m = check.pop();
  15261           mounts.push(m);
  15262           check.push.apply(check, m.mounts);
  15263         }
  15264         return mounts;
  15265       },
  15266       syncfs: function(populate, callback) {
  15267         if (typeof populate === "function") {
  15268           callback = populate;
  15269           populate = false;
  15270         }
  15271         FS.syncFSRequests++;
  15272         if (FS.syncFSRequests > 1) {
  15273           err(
  15274             "warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work"
  15275           );
  15276         }
  15277         var mounts = FS.getMounts(FS.root.mount);
  15278         var completed = 0;
  15279         function doCallback(errCode) {
  15280           FS.syncFSRequests--;
  15281           return callback(errCode);
  15282         }
  15283         function done(errCode) {
  15284           if (errCode) {
  15285             if (!done.errored) {
  15286               done.errored = true;
  15287               return doCallback(errCode);
  15288             }
  15289             return;
  15290           }
  15291           if (++completed >= mounts.length) {
  15292             doCallback(null);
  15293           }
  15294         }
  15295         mounts.forEach(function(mount) {
  15296           if (!mount.type.syncfs) {
  15297             return done(null);
  15298           }
  15299           mount.type.syncfs(mount, populate, done);
  15300         });
  15301       },
  15302       mount: function(type, opts, mountpoint) {
  15303         var root = mountpoint === "/";
  15304         var pseudo = !mountpoint;
  15305         var node;
  15306         if (root && FS.root) {
  15307           throw new FS.ErrnoError(10);
  15308         } else if (!root && !pseudo) {
  15309           var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
  15310           mountpoint = lookup.path;
  15311           node = lookup.node;
  15312           if (FS.isMountpoint(node)) {
  15313             throw new FS.ErrnoError(10);
  15314           }
  15315           if (!FS.isDir(node.mode)) {
  15316             throw new FS.ErrnoError(54);
  15317           }
  15318         }
  15319         var mount = {
  15320           type,
  15321           opts,
  15322           mountpoint,
  15323           mounts: []
  15324         };
  15325         var mountRoot = type.mount(mount);
  15326         mountRoot.mount = mount;
  15327         mount.root = mountRoot;
  15328         if (root) {
  15329           FS.root = mountRoot;
  15330         } else if (node) {
  15331           node.mounted = mount;
  15332           if (node.mount) {
  15333             node.mount.mounts.push(mount);
  15334           }
  15335         }
  15336         return mountRoot;
  15337       },
  15338       unmount: function(mountpoint) {
  15339         var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
  15340         if (!FS.isMountpoint(lookup.node)) {
  15341           throw new FS.ErrnoError(28);
  15342         }
  15343         var node = lookup.node;
  15344         var mount = node.mounted;
  15345         var mounts = FS.getMounts(mount);
  15346         Object.keys(FS.nameTable).forEach(function(hash) {
  15347           var current = FS.nameTable[hash];
  15348           while (current) {
  15349             var next = current.name_next;
  15350             if (mounts.includes(current.mount)) {
  15351               FS.destroyNode(current);
  15352             }
  15353             current = next;
  15354           }
  15355         });
  15356         node.mounted = null;
  15357         var idx = node.mount.mounts.indexOf(mount);
  15358         node.mount.mounts.splice(idx, 1);
  15359       },
  15360       lookup: function(parent, name) {
  15361         return parent.node_ops.lookup(parent, name);
  15362       },
  15363       mknod: function(path, mode, dev) {
  15364         var lookup = FS.lookupPath(path, { parent: true });
  15365         var parent = lookup.node;
  15366         var name = PATH.basename(path);
  15367         if (!name || name === "." || name === "..") {
  15368           throw new FS.ErrnoError(28);
  15369         }
  15370         var errCode = FS.mayCreate(parent, name);
  15371         if (errCode) {
  15372           throw new FS.ErrnoError(errCode);
  15373         }
  15374         if (!parent.node_ops.mknod) {
  15375           throw new FS.ErrnoError(63);
  15376         }
  15377         return parent.node_ops.mknod(parent, name, mode, dev);
  15378       },
  15379       create: function(path, mode) {
  15380         mode = mode !== void 0 ? mode : 438;
  15381         mode &= 4095;
  15382         mode |= 32768;
  15383         return FS.mknod(path, mode, 0);
  15384       },
  15385       mkdir: function(path, mode) {
  15386         mode = mode !== void 0 ? mode : 511;
  15387         mode &= 511 | 512;
  15388         mode |= 16384;
  15389         return FS.mknod(path, mode, 0);
  15390       },
  15391       mkdirTree: function(path, mode) {
  15392         var dirs = path.split("/");
  15393         var d = "";
  15394         for (var i = 0; i < dirs.length; ++i) {
  15395           if (!dirs[i])
  15396             continue;
  15397           d += "/" + dirs[i];
  15398           try {
  15399             FS.mkdir(d, mode);
  15400           } catch (e) {
  15401             if (e.errno != 20)
  15402               throw e;
  15403           }
  15404         }
  15405       },
  15406       mkdev: function(path, mode, dev) {
  15407         if (typeof dev === "undefined") {
  15408           dev = mode;
  15409           mode = 438;
  15410         }
  15411         mode |= 8192;
  15412         return FS.mknod(path, mode, dev);
  15413       },
  15414       symlink: function(oldpath, newpath) {
  15415         if (!PATH_FS.resolve(oldpath)) {
  15416           throw new FS.ErrnoError(44);
  15417         }
  15418         var lookup = FS.lookupPath(newpath, { parent: true });
  15419         var parent = lookup.node;
  15420         if (!parent) {
  15421           throw new FS.ErrnoError(44);
  15422         }
  15423         var newname = PATH.basename(newpath);
  15424         var errCode = FS.mayCreate(parent, newname);
  15425         if (errCode) {
  15426           throw new FS.ErrnoError(errCode);
  15427         }
  15428         if (!parent.node_ops.symlink) {
  15429           throw new FS.ErrnoError(63);
  15430         }
  15431         return parent.node_ops.symlink(parent, newname, oldpath);
  15432       },
  15433       rename: function(old_path, new_path) {
  15434         var old_dirname = PATH.dirname(old_path);
  15435         var new_dirname = PATH.dirname(new_path);
  15436         var old_name = PATH.basename(old_path);
  15437         var new_name = PATH.basename(new_path);
  15438         var lookup, old_dir, new_dir;
  15439         lookup = FS.lookupPath(old_path, { parent: true });
  15440         old_dir = lookup.node;
  15441         lookup = FS.lookupPath(new_path, { parent: true });
  15442         new_dir = lookup.node;
  15443         if (!old_dir || !new_dir)
  15444           throw new FS.ErrnoError(44);
  15445         if (old_dir.mount !== new_dir.mount) {
  15446           throw new FS.ErrnoError(75);
  15447         }
  15448         var old_node = FS.lookupNode(old_dir, old_name);
  15449         var relative = PATH_FS.relative(old_path, new_dirname);
  15450         if (relative.charAt(0) !== ".") {
  15451           throw new FS.ErrnoError(28);
  15452         }
  15453         relative = PATH_FS.relative(new_path, old_dirname);
  15454         if (relative.charAt(0) !== ".") {
  15455           throw new FS.ErrnoError(55);
  15456         }
  15457         var new_node;
  15458         try {
  15459           new_node = FS.lookupNode(new_dir, new_name);
  15460         } catch (e) {
  15461         }
  15462         if (old_node === new_node) {
  15463           return;
  15464         }
  15465         var isdir = FS.isDir(old_node.mode);
  15466         var errCode = FS.mayDelete(old_dir, old_name, isdir);
  15467         if (errCode) {
  15468           throw new FS.ErrnoError(errCode);
  15469         }
  15470         errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);
  15471         if (errCode) {
  15472           throw new FS.ErrnoError(errCode);
  15473         }
  15474         if (!old_dir.node_ops.rename) {
  15475           throw new FS.ErrnoError(63);
  15476         }
  15477         if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {
  15478           throw new FS.ErrnoError(10);
  15479         }
  15480         if (new_dir !== old_dir) {
  15481           errCode = FS.nodePermissions(old_dir, "w");
  15482           if (errCode) {
  15483             throw new FS.ErrnoError(errCode);
  15484           }
  15485         }
  15486         try {
  15487           if (FS.trackingDelegate["willMovePath"]) {
  15488             FS.trackingDelegate["willMovePath"](old_path, new_path);
  15489           }
  15490         } catch (e) {
  15491           err(
  15492             "FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message
  15493           );
  15494         }
  15495         FS.hashRemoveNode(old_node);
  15496         try {
  15497           old_dir.node_ops.rename(old_node, new_dir, new_name);
  15498         } catch (e) {
  15499           throw e;
  15500         } finally {
  15501           FS.hashAddNode(old_node);
  15502         }
  15503         try {
  15504           if (FS.trackingDelegate["onMovePath"])
  15505             FS.trackingDelegate["onMovePath"](old_path, new_path);
  15506         } catch (e) {
  15507           err(
  15508             "FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message
  15509           );
  15510         }
  15511       },
  15512       rmdir: function(path) {
  15513         var lookup = FS.lookupPath(path, { parent: true });
  15514         var parent = lookup.node;
  15515         var name = PATH.basename(path);
  15516         var node = FS.lookupNode(parent, name);
  15517         var errCode = FS.mayDelete(parent, name, true);
  15518         if (errCode) {
  15519           throw new FS.ErrnoError(errCode);
  15520         }
  15521         if (!parent.node_ops.rmdir) {
  15522           throw new FS.ErrnoError(63);
  15523         }
  15524         if (FS.isMountpoint(node)) {
  15525           throw new FS.ErrnoError(10);
  15526         }
  15527         try {
  15528           if (FS.trackingDelegate["willDeletePath"]) {
  15529             FS.trackingDelegate["willDeletePath"](path);
  15530           }
  15531         } catch (e) {
  15532           err(
  15533             "FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message
  15534           );
  15535         }
  15536         parent.node_ops.rmdir(parent, name);
  15537         FS.destroyNode(node);
  15538         try {
  15539           if (FS.trackingDelegate["onDeletePath"])
  15540             FS.trackingDelegate["onDeletePath"](path);
  15541         } catch (e) {
  15542           err(
  15543             "FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message
  15544           );
  15545         }
  15546       },
  15547       readdir: function(path) {
  15548         var lookup = FS.lookupPath(path, { follow: true });
  15549         var node = lookup.node;
  15550         if (!node.node_ops.readdir) {
  15551           throw new FS.ErrnoError(54);
  15552         }
  15553         return node.node_ops.readdir(node);
  15554       },
  15555       unlink: function(path) {
  15556         var lookup = FS.lookupPath(path, { parent: true });
  15557         var parent = lookup.node;
  15558         var name = PATH.basename(path);
  15559         var node = FS.lookupNode(parent, name);
  15560         var errCode = FS.mayDelete(parent, name, false);
  15561         if (errCode) {
  15562           throw new FS.ErrnoError(errCode);
  15563         }
  15564         if (!parent.node_ops.unlink) {
  15565           throw new FS.ErrnoError(63);
  15566         }
  15567         if (FS.isMountpoint(node)) {
  15568           throw new FS.ErrnoError(10);
  15569         }
  15570         try {
  15571           if (FS.trackingDelegate["willDeletePath"]) {
  15572             FS.trackingDelegate["willDeletePath"](path);
  15573           }
  15574         } catch (e) {
  15575           err(
  15576             "FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message
  15577           );
  15578         }
  15579         parent.node_ops.unlink(parent, name);
  15580         FS.destroyNode(node);
  15581         try {
  15582           if (FS.trackingDelegate["onDeletePath"])
  15583             FS.trackingDelegate["onDeletePath"](path);
  15584         } catch (e) {
  15585           err(
  15586             "FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message
  15587           );
  15588         }
  15589       },
  15590       readlink: function(path) {
  15591         var lookup = FS.lookupPath(path);
  15592         var link = lookup.node;
  15593         if (!link) {
  15594           throw new FS.ErrnoError(44);
  15595         }
  15596         if (!link.node_ops.readlink) {
  15597           throw new FS.ErrnoError(28);
  15598         }
  15599         return PATH_FS.resolve(
  15600           FS.getPath(link.parent),
  15601           link.node_ops.readlink(link)
  15602         );
  15603       },
  15604       stat: function(path, dontFollow) {
  15605         var lookup = FS.lookupPath(path, { follow: !dontFollow });
  15606         var node = lookup.node;
  15607         if (!node) {
  15608           throw new FS.ErrnoError(44);
  15609         }
  15610         if (!node.node_ops.getattr) {
  15611           throw new FS.ErrnoError(63);
  15612         }
  15613         return node.node_ops.getattr(node);
  15614       },
  15615       lstat: function(path) {
  15616         return FS.stat(path, true);
  15617       },
  15618       chmod: function(path, mode, dontFollow) {
  15619         var node;
  15620         if (typeof path === "string") {
  15621           var lookup = FS.lookupPath(path, { follow: !dontFollow });
  15622           node = lookup.node;
  15623         } else {
  15624           node = path;
  15625         }
  15626         if (!node.node_ops.setattr) {
  15627           throw new FS.ErrnoError(63);
  15628         }
  15629         node.node_ops.setattr(node, {
  15630           mode: mode & 4095 | node.mode & ~4095,
  15631           timestamp: Date.now()
  15632         });
  15633       },
  15634       lchmod: function(path, mode) {
  15635         FS.chmod(path, mode, true);
  15636       },
  15637       fchmod: function(fd, mode) {
  15638         var stream = FS.getStream(fd);
  15639         if (!stream) {
  15640           throw new FS.ErrnoError(8);
  15641         }
  15642         FS.chmod(stream.node, mode);
  15643       },
  15644       chown: function(path, uid, gid, dontFollow) {
  15645         var node;
  15646         if (typeof path === "string") {
  15647           var lookup = FS.lookupPath(path, { follow: !dontFollow });
  15648           node = lookup.node;
  15649         } else {
  15650           node = path;
  15651         }
  15652         if (!node.node_ops.setattr) {
  15653           throw new FS.ErrnoError(63);
  15654         }
  15655         node.node_ops.setattr(node, { timestamp: Date.now() });
  15656       },
  15657       lchown: function(path, uid, gid) {
  15658         FS.chown(path, uid, gid, true);
  15659       },
  15660       fchown: function(fd, uid, gid) {
  15661         var stream = FS.getStream(fd);
  15662         if (!stream) {
  15663           throw new FS.ErrnoError(8);
  15664         }
  15665         FS.chown(stream.node, uid, gid);
  15666       },
  15667       truncate: function(path, len) {
  15668         if (len < 0) {
  15669           throw new FS.ErrnoError(28);
  15670         }
  15671         var node;
  15672         if (typeof path === "string") {
  15673           var lookup = FS.lookupPath(path, { follow: true });
  15674           node = lookup.node;
  15675         } else {
  15676           node = path;
  15677         }
  15678         if (!node.node_ops.setattr) {
  15679           throw new FS.ErrnoError(63);
  15680         }
  15681         if (FS.isDir(node.mode)) {
  15682           throw new FS.ErrnoError(31);
  15683         }
  15684         if (!FS.isFile(node.mode)) {
  15685           throw new FS.ErrnoError(28);
  15686         }
  15687         var errCode = FS.nodePermissions(node, "w");
  15688         if (errCode) {
  15689           throw new FS.ErrnoError(errCode);
  15690         }
  15691         node.node_ops.setattr(node, { size: len, timestamp: Date.now() });
  15692       },
  15693       ftruncate: function(fd, len) {
  15694         var stream = FS.getStream(fd);
  15695         if (!stream) {
  15696           throw new FS.ErrnoError(8);
  15697         }
  15698         if ((stream.flags & 2097155) === 0) {
  15699           throw new FS.ErrnoError(28);
  15700         }
  15701         FS.truncate(stream.node, len);
  15702       },
  15703       utime: function(path, atime, mtime) {
  15704         var lookup = FS.lookupPath(path, { follow: true });
  15705         var node = lookup.node;
  15706         node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) });
  15707       },
  15708       open: function(path, flags, mode, fd_start, fd_end) {
  15709         if (path === "") {
  15710           throw new FS.ErrnoError(44);
  15711         }
  15712         flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags;
  15713         mode = typeof mode === "undefined" ? 438 : mode;
  15714         if (flags & 64) {
  15715           mode = mode & 4095 | 32768;
  15716         } else {
  15717           mode = 0;
  15718         }
  15719         var node;
  15720         if (typeof path === "object") {
  15721           node = path;
  15722         } else {
  15723           path = PATH.normalize(path);
  15724           try {
  15725             var lookup = FS.lookupPath(path, { follow: !(flags & 131072) });
  15726             node = lookup.node;
  15727           } catch (e) {
  15728           }
  15729         }
  15730         var created = false;
  15731         if (flags & 64) {
  15732           if (node) {
  15733             if (flags & 128) {
  15734               throw new FS.ErrnoError(20);
  15735             }
  15736           } else {
  15737             node = FS.mknod(path, mode, 0);
  15738             created = true;
  15739           }
  15740         }
  15741         if (!node) {
  15742           throw new FS.ErrnoError(44);
  15743         }
  15744         if (FS.isChrdev(node.mode)) {
  15745           flags &= ~512;
  15746         }
  15747         if (flags & 65536 && !FS.isDir(node.mode)) {
  15748           throw new FS.ErrnoError(54);
  15749         }
  15750         if (!created) {
  15751           var errCode = FS.mayOpen(node, flags);
  15752           if (errCode) {
  15753             throw new FS.ErrnoError(errCode);
  15754           }
  15755         }
  15756         if (flags & 512) {
  15757           FS.truncate(node, 0);
  15758         }
  15759         flags &= ~(128 | 512 | 131072);
  15760         var stream = FS.createStream(
  15761           {
  15762             node,
  15763             path: FS.getPath(node),
  15764             flags,
  15765             seekable: true,
  15766             position: 0,
  15767             stream_ops: node.stream_ops,
  15768             ungotten: [],
  15769             error: false
  15770           },
  15771           fd_start,
  15772           fd_end
  15773         );
  15774         if (stream.stream_ops.open) {
  15775           stream.stream_ops.open(stream);
  15776         }
  15777         if (Module["logReadFiles"] && !(flags & 1)) {
  15778           if (!FS.readFiles)
  15779             FS.readFiles = {};
  15780           if (!(path in FS.readFiles)) {
  15781             FS.readFiles[path] = 1;
  15782             err("FS.trackingDelegate error on read file: " + path);
  15783           }
  15784         }
  15785         try {
  15786           if (FS.trackingDelegate["onOpenFile"]) {
  15787             var trackingFlags = 0;
  15788             if ((flags & 2097155) !== 1) {
  15789               trackingFlags |= FS.tracking.openFlags.READ;
  15790             }
  15791             if ((flags & 2097155) !== 0) {
  15792               trackingFlags |= FS.tracking.openFlags.WRITE;
  15793             }
  15794             FS.trackingDelegate["onOpenFile"](path, trackingFlags);
  15795           }
  15796         } catch (e) {
  15797           err(
  15798             "FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message
  15799           );
  15800         }
  15801         return stream;
  15802       },
  15803       close: function(stream) {
  15804         if (FS.isClosed(stream)) {
  15805           throw new FS.ErrnoError(8);
  15806         }
  15807         if (stream.getdents)
  15808           stream.getdents = null;
  15809         try {
  15810           if (stream.stream_ops.close) {
  15811             stream.stream_ops.close(stream);
  15812           }
  15813         } catch (e) {
  15814           throw e;
  15815         } finally {
  15816           FS.closeStream(stream.fd);
  15817         }
  15818         stream.fd = null;
  15819       },
  15820       isClosed: function(stream) {
  15821         return stream.fd === null;
  15822       },
  15823       llseek: function(stream, offset, whence) {
  15824         if (FS.isClosed(stream)) {
  15825           throw new FS.ErrnoError(8);
  15826         }
  15827         if (!stream.seekable || !stream.stream_ops.llseek) {
  15828           throw new FS.ErrnoError(70);
  15829         }
  15830         if (whence != 0 && whence != 1 && whence != 2) {
  15831           throw new FS.ErrnoError(28);
  15832         }
  15833         stream.position = stream.stream_ops.llseek(stream, offset, whence);
  15834         stream.ungotten = [];
  15835         return stream.position;
  15836       },
  15837       read: function(stream, buffer2, offset, length, position) {
  15838         if (length < 0 || position < 0) {
  15839           throw new FS.ErrnoError(28);
  15840         }
  15841         if (FS.isClosed(stream)) {
  15842           throw new FS.ErrnoError(8);
  15843         }
  15844         if ((stream.flags & 2097155) === 1) {
  15845           throw new FS.ErrnoError(8);
  15846         }
  15847         if (FS.isDir(stream.node.mode)) {
  15848           throw new FS.ErrnoError(31);
  15849         }
  15850         if (!stream.stream_ops.read) {
  15851           throw new FS.ErrnoError(28);
  15852         }
  15853         var seeking = typeof position !== "undefined";
  15854         if (!seeking) {
  15855           position = stream.position;
  15856         } else if (!stream.seekable) {
  15857           throw new FS.ErrnoError(70);
  15858         }
  15859         var bytesRead = stream.stream_ops.read(
  15860           stream,
  15861           buffer2,
  15862           offset,
  15863           length,
  15864           position
  15865         );
  15866         if (!seeking)
  15867           stream.position += bytesRead;
  15868         return bytesRead;
  15869       },
  15870       write: function(stream, buffer2, offset, length, position, canOwn) {
  15871         if (length < 0 || position < 0) {
  15872           throw new FS.ErrnoError(28);
  15873         }
  15874         if (FS.isClosed(stream)) {
  15875           throw new FS.ErrnoError(8);
  15876         }
  15877         if ((stream.flags & 2097155) === 0) {
  15878           throw new FS.ErrnoError(8);
  15879         }
  15880         if (FS.isDir(stream.node.mode)) {
  15881           throw new FS.ErrnoError(31);
  15882         }
  15883         if (!stream.stream_ops.write) {
  15884           throw new FS.ErrnoError(28);
  15885         }
  15886         if (stream.seekable && stream.flags & 1024) {
  15887           FS.llseek(stream, 0, 2);
  15888         }
  15889         var seeking = typeof position !== "undefined";
  15890         if (!seeking) {
  15891           position = stream.position;
  15892         } else if (!stream.seekable) {
  15893           throw new FS.ErrnoError(70);
  15894         }
  15895         var bytesWritten = stream.stream_ops.write(
  15896           stream,
  15897           buffer2,
  15898           offset,
  15899           length,
  15900           position,
  15901           canOwn
  15902         );
  15903         if (!seeking)
  15904           stream.position += bytesWritten;
  15905         try {
  15906           if (stream.path && FS.trackingDelegate["onWriteToFile"])
  15907             FS.trackingDelegate["onWriteToFile"](stream.path);
  15908         } catch (e) {
  15909           err(
  15910             "FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message
  15911           );
  15912         }
  15913         return bytesWritten;
  15914       },
  15915       allocate: function(stream, offset, length) {
  15916         if (FS.isClosed(stream)) {
  15917           throw new FS.ErrnoError(8);
  15918         }
  15919         if (offset < 0 || length <= 0) {
  15920           throw new FS.ErrnoError(28);
  15921         }
  15922         if ((stream.flags & 2097155) === 0) {
  15923           throw new FS.ErrnoError(8);
  15924         }
  15925         if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
  15926           throw new FS.ErrnoError(43);
  15927         }
  15928         if (!stream.stream_ops.allocate) {
  15929           throw new FS.ErrnoError(138);
  15930         }
  15931         stream.stream_ops.allocate(stream, offset, length);
  15932       },
  15933       mmap: function(stream, address, length, position, prot, flags) {
  15934         if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {
  15935           throw new FS.ErrnoError(2);
  15936         }
  15937         if ((stream.flags & 2097155) === 1) {
  15938           throw new FS.ErrnoError(2);
  15939         }
  15940         if (!stream.stream_ops.mmap) {
  15941           throw new FS.ErrnoError(43);
  15942         }
  15943         return stream.stream_ops.mmap(
  15944           stream,
  15945           address,
  15946           length,
  15947           position,
  15948           prot,
  15949           flags
  15950         );
  15951       },
  15952       msync: function(stream, buffer2, offset, length, mmapFlags) {
  15953         if (!stream || !stream.stream_ops.msync) {
  15954           return 0;
  15955         }
  15956         return stream.stream_ops.msync(
  15957           stream,
  15958           buffer2,
  15959           offset,
  15960           length,
  15961           mmapFlags
  15962         );
  15963       },
  15964       munmap: function(stream) {
  15965         return 0;
  15966       },
  15967       ioctl: function(stream, cmd, arg) {
  15968         if (!stream.stream_ops.ioctl) {
  15969           throw new FS.ErrnoError(59);
  15970         }
  15971         return stream.stream_ops.ioctl(stream, cmd, arg);
  15972       },
  15973       readFile: function(path, opts) {
  15974         opts = opts || {};
  15975         opts.flags = opts.flags || 0;
  15976         opts.encoding = opts.encoding || "binary";
  15977         if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
  15978           throw new Error('Invalid encoding type "' + opts.encoding + '"');
  15979         }
  15980         var ret;
  15981         var stream = FS.open(path, opts.flags);
  15982         var stat = FS.stat(path);
  15983         var length = stat.size;
  15984         var buf = new Uint8Array(length);
  15985         FS.read(stream, buf, 0, length, 0);
  15986         if (opts.encoding === "utf8") {
  15987           ret = UTF8ArrayToString(buf, 0);
  15988         } else if (opts.encoding === "binary") {
  15989           ret = buf;
  15990         }
  15991         FS.close(stream);
  15992         return ret;
  15993       },
  15994       writeFile: function(path, data, opts) {
  15995         opts = opts || {};
  15996         opts.flags = opts.flags || 577;
  15997         var stream = FS.open(path, opts.flags, opts.mode);
  15998         if (typeof data === "string") {
  15999           var buf = new Uint8Array(lengthBytesUTF8(data) + 1);
  16000           var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
  16001           FS.write(stream, buf, 0, actualNumBytes, void 0, opts.canOwn);
  16002         } else if (ArrayBuffer.isView(data)) {
  16003           FS.write(stream, data, 0, data.byteLength, void 0, opts.canOwn);
  16004         } else {
  16005           throw new Error("Unsupported data type");
  16006         }
  16007         FS.close(stream);
  16008       },
  16009       cwd: function() {
  16010         return FS.currentPath;
  16011       },
  16012       chdir: function(path) {
  16013         var lookup = FS.lookupPath(path, { follow: true });
  16014         if (lookup.node === null) {
  16015           throw new FS.ErrnoError(44);
  16016         }
  16017         if (!FS.isDir(lookup.node.mode)) {
  16018           throw new FS.ErrnoError(54);
  16019         }
  16020         var errCode = FS.nodePermissions(lookup.node, "x");
  16021         if (errCode) {
  16022           throw new FS.ErrnoError(errCode);
  16023         }
  16024         FS.currentPath = lookup.path;
  16025       },
  16026       createDefaultDirectories: function() {
  16027         FS.mkdir("/tmp");
  16028         FS.mkdir("/home");
  16029         FS.mkdir("/home/web_user");
  16030       },
  16031       createDefaultDevices: function() {
  16032         FS.mkdir("/dev");
  16033         FS.registerDevice(FS.makedev(1, 3), {
  16034           read: function() {
  16035             return 0;
  16036           },
  16037           write: function(stream, buffer2, offset, length, pos) {
  16038             return length;
  16039           }
  16040         });
  16041         FS.mkdev("/dev/null", FS.makedev(1, 3));
  16042         TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
  16043         TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
  16044         FS.mkdev("/dev/tty", FS.makedev(5, 0));
  16045         FS.mkdev("/dev/tty1", FS.makedev(6, 0));
  16046         var random_device = getRandomDevice();
  16047         FS.createDevice("/dev", "random", random_device);
  16048         FS.createDevice("/dev", "urandom", random_device);
  16049         FS.mkdir("/dev/shm");
  16050         FS.mkdir("/dev/shm/tmp");
  16051       },
  16052       createSpecialDirectories: function() {
  16053         FS.mkdir("/proc");
  16054         var proc_self = FS.mkdir("/proc/self");
  16055         FS.mkdir("/proc/self/fd");
  16056         FS.mount(
  16057           {
  16058             mount: function() {
  16059               var node = FS.createNode(proc_self, "fd", 16384 | 511, 73);
  16060               node.node_ops = {
  16061                 lookup: function(parent, name) {
  16062                   var fd = +name;
  16063                   var stream = FS.getStream(fd);
  16064                   if (!stream)
  16065                     throw new FS.ErrnoError(8);
  16066                   var ret = {
  16067                     parent: null,
  16068                     mount: { mountpoint: "fake" },
  16069                     node_ops: {
  16070                       readlink: function() {
  16071                         return stream.path;
  16072                       }
  16073                     }
  16074                   };
  16075                   ret.parent = ret;
  16076                   return ret;
  16077                 }
  16078               };
  16079               return node;
  16080             }
  16081           },
  16082           {},
  16083           "/proc/self/fd"
  16084         );
  16085       },
  16086       createStandardStreams: function() {
  16087         if (Module["stdin"]) {
  16088           FS.createDevice("/dev", "stdin", Module["stdin"]);
  16089         } else {
  16090           FS.symlink("/dev/tty", "/dev/stdin");
  16091         }
  16092         if (Module["stdout"]) {
  16093           FS.createDevice("/dev", "stdout", null, Module["stdout"]);
  16094         } else {
  16095           FS.symlink("/dev/tty", "/dev/stdout");
  16096         }
  16097         if (Module["stderr"]) {
  16098           FS.createDevice("/dev", "stderr", null, Module["stderr"]);
  16099         } else {
  16100           FS.symlink("/dev/tty1", "/dev/stderr");
  16101         }
  16102         FS.open("/dev/stdin", 0);
  16103         FS.open("/dev/stdout", 1);
  16104         FS.open("/dev/stderr", 1);
  16105       },
  16106       ensureErrnoError: function() {
  16107         if (FS.ErrnoError)
  16108           return;
  16109         FS.ErrnoError = function ErrnoError(errno, node) {
  16110           this.node = node;
  16111           this.setErrno = function(errno2) {
  16112             this.errno = errno2;
  16113           };
  16114           this.setErrno(errno);
  16115           this.message = "FS error";
  16116         };
  16117         FS.ErrnoError.prototype = new Error();
  16118         FS.ErrnoError.prototype.constructor = FS.ErrnoError;
  16119         [44].forEach(function(code) {
  16120           FS.genericErrors[code] = new FS.ErrnoError(code);
  16121           FS.genericErrors[code].stack = "<generic error, no stack>";
  16122         });
  16123       },
  16124       staticInit: function() {
  16125         FS.ensureErrnoError();
  16126         FS.nameTable = new Array(4096);
  16127         FS.mount(MEMFS, {}, "/");
  16128         FS.createDefaultDirectories();
  16129         FS.createDefaultDevices();
  16130         FS.createSpecialDirectories();
  16131         FS.filesystems = { MEMFS, NODEFS };
  16132       },
  16133       init: function(input, output, error) {
  16134         FS.init.initialized = true;
  16135         FS.ensureErrnoError();
  16136         Module["stdin"] = input || Module["stdin"];
  16137         Module["stdout"] = output || Module["stdout"];
  16138         Module["stderr"] = error || Module["stderr"];
  16139         FS.createStandardStreams();
  16140       },
  16141       quit: function() {
  16142         FS.init.initialized = false;
  16143         var fflush = Module["_fflush"];
  16144         if (fflush)
  16145           fflush(0);
  16146         for (var i = 0; i < FS.streams.length; i++) {
  16147           var stream = FS.streams[i];
  16148           if (!stream) {
  16149             continue;
  16150           }
  16151           FS.close(stream);
  16152         }
  16153       },
  16154       getMode: function(canRead, canWrite) {
  16155         var mode = 0;
  16156         if (canRead)
  16157           mode |= 292 | 73;
  16158         if (canWrite)
  16159           mode |= 146;
  16160         return mode;
  16161       },
  16162       findObject: function(path, dontResolveLastLink) {
  16163         var ret = FS.analyzePath(path, dontResolveLastLink);
  16164         if (ret.exists) {
  16165           return ret.object;
  16166         } else {
  16167           return null;
  16168         }
  16169       },
  16170       analyzePath: function(path, dontResolveLastLink) {
  16171         try {
  16172           var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
  16173           path = lookup.path;
  16174         } catch (e) {
  16175         }
  16176         var ret = {
  16177           isRoot: false,
  16178           exists: false,
  16179           error: 0,
  16180           name: null,
  16181           path: null,
  16182           object: null,
  16183           parentExists: false,
  16184           parentPath: null,
  16185           parentObject: null
  16186         };
  16187         try {
  16188           var lookup = FS.lookupPath(path, { parent: true });
  16189           ret.parentExists = true;
  16190           ret.parentPath = lookup.path;
  16191           ret.parentObject = lookup.node;
  16192           ret.name = PATH.basename(path);
  16193           lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
  16194           ret.exists = true;
  16195           ret.path = lookup.path;
  16196           ret.object = lookup.node;
  16197           ret.name = lookup.node.name;
  16198           ret.isRoot = lookup.path === "/";
  16199         } catch (e) {
  16200           ret.error = e.errno;
  16201         }
  16202         return ret;
  16203       },
  16204       createPath: function(parent, path, canRead, canWrite) {
  16205         parent = typeof parent === "string" ? parent : FS.getPath(parent);
  16206         var parts = path.split("/").reverse();
  16207         while (parts.length) {
  16208           var part = parts.pop();
  16209           if (!part)
  16210             continue;
  16211           var current = PATH.join2(parent, part);
  16212           try {
  16213             FS.mkdir(current);
  16214           } catch (e) {
  16215           }
  16216           parent = current;
  16217         }
  16218         return current;
  16219       },
  16220       createFile: function(parent, name, properties, canRead, canWrite) {
  16221         var path = PATH.join2(
  16222           typeof parent === "string" ? parent : FS.getPath(parent),
  16223           name
  16224         );
  16225         var mode = FS.getMode(canRead, canWrite);
  16226         return FS.create(path, mode);
  16227       },
  16228       createDataFile: function(parent, name, data, canRead, canWrite, canOwn) {
  16229         var path = name ? PATH.join2(
  16230           typeof parent === "string" ? parent : FS.getPath(parent),
  16231           name
  16232         ) : parent;
  16233         var mode = FS.getMode(canRead, canWrite);
  16234         var node = FS.create(path, mode);
  16235         if (data) {
  16236           if (typeof data === "string") {
  16237             var arr = new Array(data.length);
  16238             for (var i = 0, len = data.length; i < len; ++i)
  16239               arr[i] = data.charCodeAt(i);
  16240             data = arr;
  16241           }
  16242           FS.chmod(node, mode | 146);
  16243           var stream = FS.open(node, 577);
  16244           FS.write(stream, data, 0, data.length, 0, canOwn);
  16245           FS.close(stream);
  16246           FS.chmod(node, mode);
  16247         }
  16248         return node;
  16249       },
  16250       createDevice: function(parent, name, input, output) {
  16251         var path = PATH.join2(
  16252           typeof parent === "string" ? parent : FS.getPath(parent),
  16253           name
  16254         );
  16255         var mode = FS.getMode(!!input, !!output);
  16256         if (!FS.createDevice.major)
  16257           FS.createDevice.major = 64;
  16258         var dev = FS.makedev(FS.createDevice.major++, 0);
  16259         FS.registerDevice(dev, {
  16260           open: function(stream) {
  16261             stream.seekable = false;
  16262           },
  16263           close: function(stream) {
  16264             if (output && output.buffer && output.buffer.length) {
  16265               output(10);
  16266             }
  16267           },
  16268           read: function(stream, buffer2, offset, length, pos) {
  16269             var bytesRead = 0;
  16270             for (var i = 0; i < length; i++) {
  16271               var result;
  16272               try {
  16273                 result = input();
  16274               } catch (e) {
  16275                 throw new FS.ErrnoError(29);
  16276               }
  16277               if (result === void 0 && bytesRead === 0) {
  16278                 throw new FS.ErrnoError(6);
  16279               }
  16280               if (result === null || result === void 0)
  16281                 break;
  16282               bytesRead++;
  16283               buffer2[offset + i] = result;
  16284             }
  16285             if (bytesRead) {
  16286               stream.node.timestamp = Date.now();
  16287             }
  16288             return bytesRead;
  16289           },
  16290           write: function(stream, buffer2, offset, length, pos) {
  16291             for (var i = 0; i < length; i++) {
  16292               try {
  16293                 output(buffer2[offset + i]);
  16294               } catch (e) {
  16295                 throw new FS.ErrnoError(29);
  16296               }
  16297             }
  16298             if (length) {
  16299               stream.node.timestamp = Date.now();
  16300             }
  16301             return i;
  16302           }
  16303         });
  16304         return FS.mkdev(path, mode, dev);
  16305       },
  16306       forceLoadFile: function(obj) {
  16307         if (obj.isDevice || obj.isFolder || obj.link || obj.contents)
  16308           return true;
  16309         if (read_) {
  16310           try {
  16311             obj.contents = intArrayFromString(read_(obj.url), true);
  16312             obj.usedBytes = obj.contents.length;
  16313           } catch (e) {
  16314             throw new FS.ErrnoError(29);
  16315           }
  16316         } else {
  16317           throw new Error("Cannot load without read() or XMLHttpRequest.");
  16318         }
  16319       },
  16320       createLazyFile: function(parent, name, url, canRead, canWrite) {
  16321         var properties; {
  16322           var properties = { isDevice: false, url };
  16323         }
  16324         var node = FS.createFile(parent, name, properties, canRead, canWrite);
  16325         if (properties.contents) {
  16326           node.contents = properties.contents;
  16327         } else if (properties.url) {
  16328           node.contents = null;
  16329           node.url = properties.url;
  16330         }
  16331         Object.defineProperties(node, {
  16332           usedBytes: {
  16333             get: function() {
  16334               return this.contents.length;
  16335             }
  16336           }
  16337         });
  16338         var stream_ops = {};
  16339         var keys = Object.keys(node.stream_ops);
  16340         keys.forEach(function(key2) {
  16341           var fn = node.stream_ops[key2];
  16342           stream_ops[key2] = function forceLoadLazyFile() {
  16343             FS.forceLoadFile(node);
  16344             return fn.apply(null, arguments);
  16345           };
  16346         });
  16347         stream_ops.read = function stream_ops_read(stream, buffer2, offset, length, position) {
  16348           FS.forceLoadFile(node);
  16349           var contents = stream.node.contents;
  16350           if (position >= contents.length)
  16351             return 0;
  16352           var size = Math.min(contents.length - position, length);
  16353           if (contents.slice) {
  16354             for (var i = 0; i < size; i++) {
  16355               buffer2[offset + i] = contents[position + i];
  16356             }
  16357           } else {
  16358             for (var i = 0; i < size; i++) {
  16359               buffer2[offset + i] = contents.get(position + i);
  16360             }
  16361           }
  16362           return size;
  16363         };
  16364         node.stream_ops = stream_ops;
  16365         return node;
  16366       },
  16367       createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
  16368         Browser.init();
  16369         var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;
  16370         function processData(byteArray) {
  16371           function finish(byteArray2) {
  16372             if (preFinish)
  16373               preFinish();
  16374             if (!dontCreateFile) {
  16375               FS.createDataFile(
  16376                 parent,
  16377                 name,
  16378                 byteArray2,
  16379                 canRead,
  16380                 canWrite,
  16381                 canOwn
  16382               );
  16383             }
  16384             if (onload)
  16385               onload();
  16386             removeRunDependency();
  16387           }
  16388           var handled = false;
  16389           Module["preloadPlugins"].forEach(function(plugin) {
  16390             if (handled)
  16391               return;
  16392             if (plugin["canHandle"](fullname)) {
  16393               plugin["handle"](byteArray, fullname, finish, function() {
  16394                 if (onerror)
  16395                   onerror();
  16396                 removeRunDependency();
  16397               });
  16398               handled = true;
  16399             }
  16400           });
  16401           if (!handled)
  16402             finish(byteArray);
  16403         }
  16404         addRunDependency();
  16405         if (typeof url == "string") {
  16406           Browser.asyncLoad(
  16407             url,
  16408             function(byteArray) {
  16409               processData(byteArray);
  16410             },
  16411             onerror
  16412           );
  16413         } else {
  16414           processData(url);
  16415         }
  16416       },
  16417       indexedDB: function() {
  16418         return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
  16419       },
  16420       DB_NAME: function() {
  16421         return "EM_FS_" + window.location.pathname;
  16422       },
  16423       DB_VERSION: 20,
  16424       DB_STORE_NAME: "FILE_DATA",
  16425       saveFilesToDB: function(paths, onload, onerror) {
  16426         onload = onload || function() {
  16427         };
  16428         onerror = onerror || function() {
  16429         };
  16430         var indexedDB = FS.indexedDB();
  16431         try {
  16432           var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
  16433         } catch (e) {
  16434           return onerror(e);
  16435         }
  16436         openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
  16437           out("creating db");
  16438           var db = openRequest.result;
  16439           db.createObjectStore(FS.DB_STORE_NAME);
  16440         };
  16441         openRequest.onsuccess = function openRequest_onsuccess() {
  16442           var db = openRequest.result;
  16443           var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite");
  16444           var files = transaction.objectStore(FS.DB_STORE_NAME);
  16445           var ok = 0, fail = 0, total = paths.length;
  16446           function finish() {
  16447             if (fail == 0)
  16448               onload();
  16449             else
  16450               onerror();
  16451           }
  16452           paths.forEach(function(path) {
  16453             var putRequest = files.put(
  16454               FS.analyzePath(path).object.contents,
  16455               path
  16456             );
  16457             putRequest.onsuccess = function putRequest_onsuccess() {
  16458               ok++;
  16459               if (ok + fail == total)
  16460                 finish();
  16461             };
  16462             putRequest.onerror = function putRequest_onerror() {
  16463               fail++;
  16464               if (ok + fail == total)
  16465                 finish();
  16466             };
  16467           });
  16468           transaction.onerror = onerror;
  16469         };
  16470         openRequest.onerror = onerror;
  16471       },
  16472       loadFilesFromDB: function(paths, onload, onerror) {
  16473         onload = onload || function() {
  16474         };
  16475         onerror = onerror || function() {
  16476         };
  16477         var indexedDB = FS.indexedDB();
  16478         try {
  16479           var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
  16480         } catch (e) {
  16481           return onerror(e);
  16482         }
  16483         openRequest.onupgradeneeded = onerror;
  16484         openRequest.onsuccess = function openRequest_onsuccess() {
  16485           var db = openRequest.result;
  16486           try {
  16487             var transaction = db.transaction([FS.DB_STORE_NAME], "readonly");
  16488           } catch (e) {
  16489             onerror(e);
  16490             return;
  16491           }
  16492           var files = transaction.objectStore(FS.DB_STORE_NAME);
  16493           var ok = 0, fail = 0, total = paths.length;
  16494           function finish() {
  16495             if (fail == 0)
  16496               onload();
  16497             else
  16498               onerror();
  16499           }
  16500           paths.forEach(function(path) {
  16501             var getRequest = files.get(path);
  16502             getRequest.onsuccess = function getRequest_onsuccess() {
  16503               if (FS.analyzePath(path).exists) {
  16504                 FS.unlink(path);
  16505               }
  16506               FS.createDataFile(
  16507                 PATH.dirname(path),
  16508                 PATH.basename(path),
  16509                 getRequest.result,
  16510                 true,
  16511                 true,
  16512                 true
  16513               );
  16514               ok++;
  16515               if (ok + fail == total)
  16516                 finish();
  16517             };
  16518             getRequest.onerror = function getRequest_onerror() {
  16519               fail++;
  16520               if (ok + fail == total)
  16521                 finish();
  16522             };
  16523           });
  16524           transaction.onerror = onerror;
  16525         };
  16526         openRequest.onerror = onerror;
  16527       }
  16528     };
  16529     var SYSCALLS = {
  16530       mappings: {},
  16531       DEFAULT_POLLMASK: 5,
  16532       umask: 511,
  16533       calculateAt: function(dirfd, path, allowEmpty) {
  16534         if (path[0] === "/") {
  16535           return path;
  16536         }
  16537         var dir;
  16538         if (dirfd === -100) {
  16539           dir = FS.cwd();
  16540         } else {
  16541           var dirstream = FS.getStream(dirfd);
  16542           if (!dirstream)
  16543             throw new FS.ErrnoError(8);
  16544           dir = dirstream.path;
  16545         }
  16546         if (path.length == 0) {
  16547           if (!allowEmpty) {
  16548             throw new FS.ErrnoError(44);
  16549           }
  16550           return dir;
  16551         }
  16552         return PATH.join2(dir, path);
  16553       },
  16554       doStat: function(func, path, buf) {
  16555         try {
  16556           var stat = func(path);
  16557         } catch (e) {
  16558           if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
  16559             return -54;
  16560           }
  16561           throw e;
  16562         }
  16563         HEAP32[buf >> 2] = stat.dev;
  16564         HEAP32[buf + 4 >> 2] = 0;
  16565         HEAP32[buf + 8 >> 2] = stat.ino;
  16566         HEAP32[buf + 12 >> 2] = stat.mode;
  16567         HEAP32[buf + 16 >> 2] = stat.nlink;
  16568         HEAP32[buf + 20 >> 2] = stat.uid;
  16569         HEAP32[buf + 24 >> 2] = stat.gid;
  16570         HEAP32[buf + 28 >> 2] = stat.rdev;
  16571         HEAP32[buf + 32 >> 2] = 0;
  16572         tempI64 = [
  16573           stat.size >>> 0,
  16574           (tempDouble = stat.size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil(
  16575             (tempDouble - +(~~tempDouble >>> 0)) / 4294967296
  16576           ) >>> 0 : 0)
  16577         ], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];
  16578         HEAP32[buf + 48 >> 2] = 4096;
  16579         HEAP32[buf + 52 >> 2] = stat.blocks;
  16580         HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0;
  16581         HEAP32[buf + 60 >> 2] = 0;
  16582         HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0;
  16583         HEAP32[buf + 68 >> 2] = 0;
  16584         HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0;
  16585         HEAP32[buf + 76 >> 2] = 0;
  16586         tempI64 = [
  16587           stat.ino >>> 0,
  16588           (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil(
  16589             (tempDouble - +(~~tempDouble >>> 0)) / 4294967296
  16590           ) >>> 0 : 0)
  16591         ], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1];
  16592         return 0;
  16593       },
  16594       doMsync: function(addr, stream, len, flags, offset) {
  16595         var buffer2 = HEAPU8.slice(addr, addr + len);
  16596         FS.msync(stream, buffer2, offset, len, flags);
  16597       },
  16598       doMkdir: function(path, mode) {
  16599         path = PATH.normalize(path);
  16600         if (path[path.length - 1] === "/")
  16601           path = path.substr(0, path.length - 1);
  16602         FS.mkdir(path, mode, 0);
  16603         return 0;
  16604       },
  16605       doMknod: function(path, mode, dev) {
  16606         switch (mode & 61440) {
  16607           case 32768:
  16608           case 8192:
  16609           case 24576:
  16610           case 4096:
  16611           case 49152:
  16612             break;
  16613           default:
  16614             return -28;
  16615         }
  16616         FS.mknod(path, mode, dev);
  16617         return 0;
  16618       },
  16619       doReadlink: function(path, buf, bufsize) {
  16620         if (bufsize <= 0)
  16621           return -28;
  16622         var ret = FS.readlink(path);
  16623         var len = Math.min(bufsize, lengthBytesUTF8(ret));
  16624         var endChar = HEAP8[buf + len];
  16625         stringToUTF8(ret, buf, bufsize + 1);
  16626         HEAP8[buf + len] = endChar;
  16627         return len;
  16628       },
  16629       doAccess: function(path, amode) {
  16630         if (amode & ~7) {
  16631           return -28;
  16632         }
  16633         var node;
  16634         var lookup = FS.lookupPath(path, { follow: true });
  16635         node = lookup.node;
  16636         if (!node) {
  16637           return -44;
  16638         }
  16639         var perms = "";
  16640         if (amode & 4)
  16641           perms += "r";
  16642         if (amode & 2)
  16643           perms += "w";
  16644         if (amode & 1)
  16645           perms += "x";
  16646         if (perms && FS.nodePermissions(node, perms)) {
  16647           return -2;
  16648         }
  16649         return 0;
  16650       },
  16651       doDup: function(path, flags, suggestFD) {
  16652         var suggest = FS.getStream(suggestFD);
  16653         if (suggest)
  16654           FS.close(suggest);
  16655         return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
  16656       },
  16657       doReadv: function(stream, iov, iovcnt, offset) {
  16658         var ret = 0;
  16659         for (var i = 0; i < iovcnt; i++) {
  16660           var ptr = HEAP32[iov + i * 8 >> 2];
  16661           var len = HEAP32[iov + (i * 8 + 4) >> 2];
  16662           var curr = FS.read(stream, HEAP8, ptr, len, offset);
  16663           if (curr < 0)
  16664             return -1;
  16665           ret += curr;
  16666           if (curr < len)
  16667             break;
  16668         }
  16669         return ret;
  16670       },
  16671       doWritev: function(stream, iov, iovcnt, offset) {
  16672         var ret = 0;
  16673         for (var i = 0; i < iovcnt; i++) {
  16674           var ptr = HEAP32[iov + i * 8 >> 2];
  16675           var len = HEAP32[iov + (i * 8 + 4) >> 2];
  16676           var curr = FS.write(stream, HEAP8, ptr, len, offset);
  16677           if (curr < 0)
  16678             return -1;
  16679           ret += curr;
  16680         }
  16681         return ret;
  16682       },
  16683       varargs: void 0,
  16684       get: function() {
  16685         SYSCALLS.varargs += 4;
  16686         var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];
  16687         return ret;
  16688       },
  16689       getStr: function(ptr) {
  16690         var ret = UTF8ToString(ptr);
  16691         return ret;
  16692       },
  16693       getStreamFromFD: function(fd) {
  16694         var stream = FS.getStream(fd);
  16695         if (!stream)
  16696           throw new FS.ErrnoError(8);
  16697         return stream;
  16698       },
  16699       get64: function(low, high) {
  16700         return low;
  16701       }
  16702     };
  16703     function ___sys_chmod(path, mode) {
  16704       try {
  16705         path = SYSCALLS.getStr(path);
  16706         FS.chmod(path, mode);
  16707         return 0;
  16708       } catch (e) {
  16709         if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  16710           abort(e);
  16711         return -e.errno;
  16712       }
  16713     }
  16714     function setErrNo(value) {
  16715       HEAP32[___errno_location() >> 2] = value;
  16716       return value;
  16717     }
  16718     function ___sys_fcntl64(fd, cmd, varargs) {
  16719       SYSCALLS.varargs = varargs;
  16720       try {
  16721         var stream = SYSCALLS.getStreamFromFD(fd);
  16722         switch (cmd) {
  16723           case 0: {
  16724             var arg = SYSCALLS.get();
  16725             if (arg < 0) {
  16726               return -28;
  16727             }
  16728             var newStream;
  16729             newStream = FS.open(stream.path, stream.flags, 0, arg);
  16730             return newStream.fd;
  16731           }
  16732           case 1:
  16733           case 2:
  16734             return 0;
  16735           case 3:
  16736             return stream.flags;
  16737           case 4: {
  16738             var arg = SYSCALLS.get();
  16739             stream.flags |= arg;
  16740             return 0;
  16741           }
  16742           case 12: {
  16743             var arg = SYSCALLS.get();
  16744             var offset = 0;
  16745             HEAP16[arg + offset >> 1] = 2;
  16746             return 0;
  16747           }
  16748           case 13:
  16749           case 14:
  16750             return 0;
  16751           case 16:
  16752           case 8:
  16753             return -28;
  16754           case 9:
  16755             setErrNo(28);
  16756             return -1;
  16757           default: {
  16758             return -28;
  16759           }
  16760         }
  16761       } catch (e) {
  16762         if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  16763           abort(e);
  16764         return -e.errno;
  16765       }
  16766     }
  16767     function ___sys_fstat64(fd, buf) {
  16768       try {
  16769         var stream = SYSCALLS.getStreamFromFD(fd);
  16770         return SYSCALLS.doStat(FS.stat, stream.path, buf);
  16771       } catch (e) {
  16772         if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  16773           abort(e);
  16774         return -e.errno;
  16775       }
  16776     }
  16777     function ___sys_ioctl(fd, op, varargs) {
  16778       SYSCALLS.varargs = varargs;
  16779       try {
  16780         var stream = SYSCALLS.getStreamFromFD(fd);
  16781         switch (op) {
  16782           case 21509:
  16783           case 21505: {
  16784             if (!stream.tty)
  16785               return -59;
  16786             return 0;
  16787           }
  16788           case 21510:
  16789           case 21511:
  16790           case 21512:
  16791           case 21506:
  16792           case 21507:
  16793           case 21508: {
  16794             if (!stream.tty)
  16795               return -59;
  16796             return 0;
  16797           }
  16798           case 21519: {
  16799             if (!stream.tty)
  16800               return -59;
  16801             var argp = SYSCALLS.get();
  16802             HEAP32[argp >> 2] = 0;
  16803             return 0;
  16804           }
  16805           case 21520: {
  16806             if (!stream.tty)
  16807               return -59;
  16808             return -28;
  16809           }
  16810           case 21531: {
  16811             var argp = SYSCALLS.get();
  16812             return FS.ioctl(stream, op, argp);
  16813           }
  16814           case 21523: {
  16815             if (!stream.tty)
  16816               return -59;
  16817             return 0;
  16818           }
  16819           case 21524: {
  16820             if (!stream.tty)
  16821               return -59;
  16822             return 0;
  16823           }
  16824           default:
  16825             abort("bad ioctl syscall " + op);
  16826         }
  16827       } catch (e) {
  16828         if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  16829           abort(e);
  16830         return -e.errno;
  16831       }
  16832     }
  16833     function ___sys_open(path, flags, varargs) {
  16834       SYSCALLS.varargs = varargs;
  16835       try {
  16836         var pathname = SYSCALLS.getStr(path);
  16837         var mode = varargs ? SYSCALLS.get() : 0;
  16838         var stream = FS.open(pathname, flags, mode);
  16839         return stream.fd;
  16840       } catch (e) {
  16841         if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  16842           abort(e);
  16843         return -e.errno;
  16844       }
  16845     }
  16846     function ___sys_rename(old_path, new_path) {
  16847       try {
  16848         old_path = SYSCALLS.getStr(old_path);
  16849         new_path = SYSCALLS.getStr(new_path);
  16850         FS.rename(old_path, new_path);
  16851         return 0;
  16852       } catch (e) {
  16853         if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  16854           abort(e);
  16855         return -e.errno;
  16856       }
  16857     }
  16858     function ___sys_rmdir(path) {
  16859       try {
  16860         path = SYSCALLS.getStr(path);
  16861         FS.rmdir(path);
  16862         return 0;
  16863       } catch (e) {
  16864         if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  16865           abort(e);
  16866         return -e.errno;
  16867       }
  16868     }
  16869     function ___sys_stat64(path, buf) {
  16870       try {
  16871         path = SYSCALLS.getStr(path);
  16872         return SYSCALLS.doStat(FS.stat, path, buf);
  16873       } catch (e) {
  16874         if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  16875           abort(e);
  16876         return -e.errno;
  16877       }
  16878     }
  16879     function ___sys_unlink(path) {
  16880       try {
  16881         path = SYSCALLS.getStr(path);
  16882         FS.unlink(path);
  16883         return 0;
  16884       } catch (e) {
  16885         if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  16886           abort(e);
  16887         return -e.errno;
  16888       }
  16889     }
  16890     function _emscripten_memcpy_big(dest, src, num) {
  16891       HEAPU8.copyWithin(dest, src, src + num);
  16892     }
  16893     function emscripten_realloc_buffer(size) {
  16894       try {
  16895         wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);
  16896         updateGlobalBufferAndViews(wasmMemory.buffer);
  16897         return 1;
  16898       } catch (e) {
  16899       }
  16900     }
  16901     function _emscripten_resize_heap(requestedSize) {
  16902       var oldSize = HEAPU8.length;
  16903       requestedSize = requestedSize >>> 0;
  16904       var maxHeapSize = 2147483648;
  16905       if (requestedSize > maxHeapSize) {
  16906         return false;
  16907       }
  16908       for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
  16909         var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);
  16910         overGrownHeapSize = Math.min(
  16911           overGrownHeapSize,
  16912           requestedSize + 100663296
  16913         );
  16914         var newSize = Math.min(
  16915           maxHeapSize,
  16916           alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)
  16917         );
  16918         var replacement = emscripten_realloc_buffer(newSize);
  16919         if (replacement) {
  16920           return true;
  16921         }
  16922       }
  16923       return false;
  16924     }
  16925     function _fd_close(fd) {
  16926       try {
  16927         var stream = SYSCALLS.getStreamFromFD(fd);
  16928         FS.close(stream);
  16929         return 0;
  16930       } catch (e) {
  16931         if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  16932           abort(e);
  16933         return e.errno;
  16934       }
  16935     }
  16936     function _fd_fdstat_get(fd, pbuf) {
  16937       try {
  16938         var stream = SYSCALLS.getStreamFromFD(fd);
  16939         var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4;
  16940         HEAP8[pbuf >> 0] = type;
  16941         return 0;
  16942       } catch (e) {
  16943         if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  16944           abort(e);
  16945         return e.errno;
  16946       }
  16947     }
  16948     function _fd_read(fd, iov, iovcnt, pnum) {
  16949       try {
  16950         var stream = SYSCALLS.getStreamFromFD(fd);
  16951         var num = SYSCALLS.doReadv(stream, iov, iovcnt);
  16952         HEAP32[pnum >> 2] = num;
  16953         return 0;
  16954       } catch (e) {
  16955         if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  16956           abort(e);
  16957         return e.errno;
  16958       }
  16959     }
  16960     function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {
  16961       try {
  16962         var stream = SYSCALLS.getStreamFromFD(fd);
  16963         var HIGH_OFFSET = 4294967296;
  16964         var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0);
  16965         var DOUBLE_LIMIT = 9007199254740992;
  16966         if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) {
  16967           return -61;
  16968         }
  16969         FS.llseek(stream, offset, whence);
  16970         tempI64 = [
  16971           stream.position >>> 0,
  16972           (tempDouble = stream.position, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil(
  16973             (tempDouble - +(~~tempDouble >>> 0)) / 4294967296
  16974           ) >>> 0 : 0)
  16975         ], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];
  16976         if (stream.getdents && offset === 0 && whence === 0)
  16977           stream.getdents = null;
  16978         return 0;
  16979       } catch (e) {
  16980         if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  16981           abort(e);
  16982         return e.errno;
  16983       }
  16984     }
  16985     function _fd_write(fd, iov, iovcnt, pnum) {
  16986       try {
  16987         var stream = SYSCALLS.getStreamFromFD(fd);
  16988         var num = SYSCALLS.doWritev(stream, iov, iovcnt);
  16989         HEAP32[pnum >> 2] = num;
  16990         return 0;
  16991       } catch (e) {
  16992         if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))
  16993           abort(e);
  16994         return e.errno;
  16995       }
  16996     }
  16997     function _setTempRet0(val) {
  16998     }
  16999     function _time(ptr) {
  17000       var ret = Date.now() / 1e3 | 0;
  17001       if (ptr) {
  17002         HEAP32[ptr >> 2] = ret;
  17003       }
  17004       return ret;
  17005     }
  17006     function _tzset() {
  17007       if (_tzset.called)
  17008         return;
  17009       _tzset.called = true;
  17010       var currentYear = new Date().getFullYear();
  17011       var winter = new Date(currentYear, 0, 1);
  17012       var summer = new Date(currentYear, 6, 1);
  17013       var winterOffset = winter.getTimezoneOffset();
  17014       var summerOffset = summer.getTimezoneOffset();
  17015       var stdTimezoneOffset = Math.max(winterOffset, summerOffset);
  17016       HEAP32[__get_timezone() >> 2] = stdTimezoneOffset * 60;
  17017       HEAP32[__get_daylight() >> 2] = Number(winterOffset != summerOffset);
  17018       function extractZone(date) {
  17019         var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/);
  17020         return match ? match[1] : "GMT";
  17021       }
  17022       var winterName = extractZone(winter);
  17023       var summerName = extractZone(summer);
  17024       var winterNamePtr = allocateUTF8(winterName);
  17025       var summerNamePtr = allocateUTF8(summerName);
  17026       if (summerOffset < winterOffset) {
  17027         HEAP32[__get_tzname() >> 2] = winterNamePtr;
  17028         HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr;
  17029       } else {
  17030         HEAP32[__get_tzname() >> 2] = summerNamePtr;
  17031         HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr;
  17032       }
  17033     }
  17034     function _timegm(tmPtr) {
  17035       _tzset();
  17036       var time = Date.UTC(
  17037         HEAP32[tmPtr + 20 >> 2] + 1900,
  17038         HEAP32[tmPtr + 16 >> 2],
  17039         HEAP32[tmPtr + 12 >> 2],
  17040         HEAP32[tmPtr + 8 >> 2],
  17041         HEAP32[tmPtr + 4 >> 2],
  17042         HEAP32[tmPtr >> 2],
  17043         0
  17044       );
  17045       var date = new Date(time);
  17046       HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();
  17047       var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
  17048       var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;
  17049       HEAP32[tmPtr + 28 >> 2] = yday;
  17050       return date.getTime() / 1e3 | 0;
  17051     }
  17052     var FSNode = function(parent, name, mode, rdev) {
  17053       if (!parent) {
  17054         parent = this;
  17055       }
  17056       this.parent = parent;
  17057       this.mount = parent.mount;
  17058       this.mounted = null;
  17059       this.id = FS.nextInode++;
  17060       this.name = name;
  17061       this.mode = mode;
  17062       this.node_ops = {};
  17063       this.stream_ops = {};
  17064       this.rdev = rdev;
  17065     };
  17066     var readMode = 292 | 73;
  17067     var writeMode = 146;
  17068     Object.defineProperties(FSNode.prototype, {
  17069       read: {
  17070         get: function() {
  17071           return (this.mode & readMode) === readMode;
  17072         },
  17073         set: function(val) {
  17074           val ? this.mode |= readMode : this.mode &= ~readMode;
  17075         }
  17076       },
  17077       write: {
  17078         get: function() {
  17079           return (this.mode & writeMode) === writeMode;
  17080         },
  17081         set: function(val) {
  17082           val ? this.mode |= writeMode : this.mode &= ~writeMode;
  17083         }
  17084       },
  17085       isFolder: {
  17086         get: function() {
  17087           return FS.isDir(this.mode);
  17088         }
  17089       },
  17090       isDevice: {
  17091         get: function() {
  17092           return FS.isChrdev(this.mode);
  17093         }
  17094       }
  17095     });
  17096     FS.FSNode = FSNode;
  17097     FS.staticInit();
  17098     {
  17099       var fs = frozenFs;
  17100       var NODEJS_PATH = path__default.default;
  17101       NODEFS.staticInit();
  17102     }
  17103     {
  17104       var _wrapNodeError = function(func) {
  17105         return function() {
  17106           try {
  17107             return func.apply(this, arguments);
  17108           } catch (e) {
  17109             if (!e.code)
  17110               throw e;
  17111             throw new FS.ErrnoError(ERRNO_CODES[e.code]);
  17112           }
  17113         };
  17114       };
  17115       var VFS = Object.assign({}, FS);
  17116       for (var _key in NODERAWFS)
  17117         FS[_key] = _wrapNodeError(NODERAWFS[_key]);
  17118     }
  17119     function intArrayFromString(stringy, dontAddNull, length) {
  17120       var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
  17121       var u8array = new Array(len);
  17122       var numBytesWritten = stringToUTF8Array(
  17123         stringy,
  17124         u8array,
  17125         0,
  17126         u8array.length
  17127       );
  17128       if (dontAddNull)
  17129         u8array.length = numBytesWritten;
  17130       return u8array;
  17131     }
  17132     function intArrayFromBase64(s) {
  17133       {
  17134         var buf;
  17135         try {
  17136           buf = Buffer.from(s, "base64");
  17137         } catch (_) {
  17138           buf = new Buffer(s, "base64");
  17139         }
  17140         return new Uint8Array(
  17141           buf["buffer"],
  17142           buf["byteOffset"],
  17143           buf["byteLength"]
  17144         );
  17145       }
  17146     }
  17147     function tryParseAsDataURI(filename) {
  17148       if (!isDataURI(filename)) {
  17149         return;
  17150       }
  17151       return intArrayFromBase64(filename.slice(dataURIPrefix.length));
  17152     }
  17153     var asmLibraryArg = {
  17154       s: ___gmtime_r,
  17155       p: ___sys_chmod,
  17156       e: ___sys_fcntl64,
  17157       k: ___sys_fstat64,
  17158       o: ___sys_ioctl,
  17159       q: ___sys_open,
  17160       i: ___sys_rename,
  17161       r: ___sys_rmdir,
  17162       c: ___sys_stat64,
  17163       h: ___sys_unlink,
  17164       l: _emscripten_memcpy_big,
  17165       m: _emscripten_resize_heap,
  17166       f: _fd_close,
  17167       j: _fd_fdstat_get,
  17168       g: _fd_read,
  17169       n: _fd_seek,
  17170       d: _fd_write,
  17171       a: _setTempRet0,
  17172       b: _time,
  17173       t: _timegm
  17174     };
  17175     var asm = createWasm();
  17176     Module["___wasm_call_ctors"] = asm["v"];
  17177     Module["_zip_ext_count_symlinks"] = asm["w"];
  17178     Module["_zip_file_get_external_attributes"] = asm["x"];
  17179     Module["_zipstruct_stat"] = asm["y"];
  17180     Module["_zipstruct_statS"] = asm["z"];
  17181     Module["_zipstruct_stat_name"] = asm["A"];
  17182     Module["_zipstruct_stat_index"] = asm["B"];
  17183     Module["_zipstruct_stat_size"] = asm["C"];
  17184     Module["_zipstruct_stat_mtime"] = asm["D"];
  17185     Module["_zipstruct_stat_crc"] = asm["E"];
  17186     Module["_zipstruct_error"] = asm["F"];
  17187     Module["_zipstruct_errorS"] = asm["G"];
  17188     Module["_zipstruct_error_code_zip"] = asm["H"];
  17189     Module["_zipstruct_stat_comp_size"] = asm["I"];
  17190     Module["_zipstruct_stat_comp_method"] = asm["J"];
  17191     Module["_zip_close"] = asm["K"];
  17192     Module["_zip_delete"] = asm["L"];
  17193     Module["_zip_dir_add"] = asm["M"];
  17194     Module["_zip_discard"] = asm["N"];
  17195     Module["_zip_error_init_with_code"] = asm["O"];
  17196     Module["_zip_get_error"] = asm["P"];
  17197     Module["_zip_file_get_error"] = asm["Q"];
  17198     Module["_zip_error_strerror"] = asm["R"];
  17199     Module["_zip_fclose"] = asm["S"];
  17200     Module["_zip_file_add"] = asm["T"];
  17201     Module["_free"] = asm["U"];
  17202     var _malloc = Module["_malloc"] = asm["V"];
  17203     var ___errno_location = Module["___errno_location"] = asm["W"];
  17204     Module["_zip_source_error"] = asm["X"];
  17205     Module["_zip_source_seek"] = asm["Y"];
  17206     Module["_zip_file_set_external_attributes"] = asm["Z"];
  17207     Module["_zip_file_set_mtime"] = asm["_"];
  17208     Module["_zip_fopen"] = asm["$"];
  17209     Module["_zip_fopen_index"] = asm["aa"];
  17210     Module["_zip_fread"] = asm["ba"];
  17211     Module["_zip_get_name"] = asm["ca"];
  17212     Module["_zip_get_num_entries"] = asm["da"];
  17213     Module["_zip_source_read"] = asm["ea"];
  17214     Module["_zip_name_locate"] = asm["fa"];
  17215     Module["_zip_open"] = asm["ga"];
  17216     Module["_zip_open_from_source"] = asm["ha"];
  17217     Module["_zip_set_file_compression"] = asm["ia"];
  17218     Module["_zip_source_buffer"] = asm["ja"];
  17219     Module["_zip_source_buffer_create"] = asm["ka"];
  17220     Module["_zip_source_close"] = asm["la"];
  17221     Module["_zip_source_free"] = asm["ma"];
  17222     Module["_zip_source_keep"] = asm["na"];
  17223     Module["_zip_source_open"] = asm["oa"];
  17224     Module["_zip_source_set_mtime"] = asm["qa"];
  17225     Module["_zip_source_tell"] = asm["ra"];
  17226     Module["_zip_stat"] = asm["sa"];
  17227     Module["_zip_stat_index"] = asm["ta"];
  17228     var __get_tzname = Module["__get_tzname"] = asm["ua"];
  17229     var __get_daylight = Module["__get_daylight"] = asm["va"];
  17230     var __get_timezone = Module["__get_timezone"] = asm["wa"];
  17231     var stackSave = Module["stackSave"] = asm["xa"];
  17232     var stackRestore = Module["stackRestore"] = asm["ya"];
  17233     var stackAlloc = Module["stackAlloc"] = asm["za"];
  17234     Module["cwrap"] = cwrap;
  17235     Module["getValue"] = getValue;
  17236     var calledRun;
  17237     dependenciesFulfilled = function runCaller() {
  17238       if (!calledRun)
  17239         run();
  17240       if (!calledRun)
  17241         dependenciesFulfilled = runCaller;
  17242     };
  17243     function run(args) {
  17244       if (runDependencies > 0) {
  17245         return;
  17246       }
  17247       preRun();
  17248       if (runDependencies > 0) {
  17249         return;
  17250       }
  17251       function doRun() {
  17252         if (calledRun)
  17253           return;
  17254         calledRun = true;
  17255         Module["calledRun"] = true;
  17256         if (ABORT)
  17257           return;
  17258         initRuntime();
  17259         readyPromiseResolve(Module);
  17260         if (Module["onRuntimeInitialized"])
  17261           Module["onRuntimeInitialized"]();
  17262         postRun();
  17263       }
  17264       if (Module["setStatus"]) {
  17265         Module["setStatus"]("Running...");
  17266         setTimeout(function() {
  17267           setTimeout(function() {
  17268             Module["setStatus"]("");
  17269           }, 1);
  17270           doRun();
  17271         }, 1);
  17272       } else {
  17273         doRun();
  17274       }
  17275     }
  17276     Module["run"] = run;
  17277     if (Module["preInit"]) {
  17278       if (typeof Module["preInit"] == "function")
  17279         Module["preInit"] = [Module["preInit"]];
  17280       while (Module["preInit"].length > 0) {
  17281         Module["preInit"].pop()();
  17282       }
  17283     }
  17284     run();
  17285     return createModule2;
  17286   };
  17287 }();
  17288 module.exports = createModule;
  17289 }(libzipSync));
  17290 
  17291 const createModule = libzipSync.exports;
  17292 
  17293 const number64 = [
  17294   `number`,
  17295   `number`
  17296 ];
  17297 var Errors = /* @__PURE__ */ ((Errors2) => {
  17298   Errors2[Errors2["ZIP_ER_OK"] = 0] = "ZIP_ER_OK";
  17299   Errors2[Errors2["ZIP_ER_MULTIDISK"] = 1] = "ZIP_ER_MULTIDISK";
  17300   Errors2[Errors2["ZIP_ER_RENAME"] = 2] = "ZIP_ER_RENAME";
  17301   Errors2[Errors2["ZIP_ER_CLOSE"] = 3] = "ZIP_ER_CLOSE";
  17302   Errors2[Errors2["ZIP_ER_SEEK"] = 4] = "ZIP_ER_SEEK";
  17303   Errors2[Errors2["ZIP_ER_READ"] = 5] = "ZIP_ER_READ";
  17304   Errors2[Errors2["ZIP_ER_WRITE"] = 6] = "ZIP_ER_WRITE";
  17305   Errors2[Errors2["ZIP_ER_CRC"] = 7] = "ZIP_ER_CRC";
  17306   Errors2[Errors2["ZIP_ER_ZIPCLOSED"] = 8] = "ZIP_ER_ZIPCLOSED";
  17307   Errors2[Errors2["ZIP_ER_NOENT"] = 9] = "ZIP_ER_NOENT";
  17308   Errors2[Errors2["ZIP_ER_EXISTS"] = 10] = "ZIP_ER_EXISTS";
  17309   Errors2[Errors2["ZIP_ER_OPEN"] = 11] = "ZIP_ER_OPEN";
  17310   Errors2[Errors2["ZIP_ER_TMPOPEN"] = 12] = "ZIP_ER_TMPOPEN";
  17311   Errors2[Errors2["ZIP_ER_ZLIB"] = 13] = "ZIP_ER_ZLIB";
  17312   Errors2[Errors2["ZIP_ER_MEMORY"] = 14] = "ZIP_ER_MEMORY";
  17313   Errors2[Errors2["ZIP_ER_CHANGED"] = 15] = "ZIP_ER_CHANGED";
  17314   Errors2[Errors2["ZIP_ER_COMPNOTSUPP"] = 16] = "ZIP_ER_COMPNOTSUPP";
  17315   Errors2[Errors2["ZIP_ER_EOF"] = 17] = "ZIP_ER_EOF";
  17316   Errors2[Errors2["ZIP_ER_INVAL"] = 18] = "ZIP_ER_INVAL";
  17317   Errors2[Errors2["ZIP_ER_NOZIP"] = 19] = "ZIP_ER_NOZIP";
  17318   Errors2[Errors2["ZIP_ER_INTERNAL"] = 20] = "ZIP_ER_INTERNAL";
  17319   Errors2[Errors2["ZIP_ER_INCONS"] = 21] = "ZIP_ER_INCONS";
  17320   Errors2[Errors2["ZIP_ER_REMOVE"] = 22] = "ZIP_ER_REMOVE";
  17321   Errors2[Errors2["ZIP_ER_DELETED"] = 23] = "ZIP_ER_DELETED";
  17322   Errors2[Errors2["ZIP_ER_ENCRNOTSUPP"] = 24] = "ZIP_ER_ENCRNOTSUPP";
  17323   Errors2[Errors2["ZIP_ER_RDONLY"] = 25] = "ZIP_ER_RDONLY";
  17324   Errors2[Errors2["ZIP_ER_NOPASSWD"] = 26] = "ZIP_ER_NOPASSWD";
  17325   Errors2[Errors2["ZIP_ER_WRONGPASSWD"] = 27] = "ZIP_ER_WRONGPASSWD";
  17326   Errors2[Errors2["ZIP_ER_OPNOTSUPP"] = 28] = "ZIP_ER_OPNOTSUPP";
  17327   Errors2[Errors2["ZIP_ER_INUSE"] = 29] = "ZIP_ER_INUSE";
  17328   Errors2[Errors2["ZIP_ER_TELL"] = 30] = "ZIP_ER_TELL";
  17329   Errors2[Errors2["ZIP_ER_COMPRESSED_DATA"] = 31] = "ZIP_ER_COMPRESSED_DATA";
  17330   return Errors2;
  17331 })(Errors || {});
  17332 const makeInterface = (libzip) => ({
  17333   get HEAP8() {
  17334     return libzip.HEAP8;
  17335   },
  17336   get HEAPU8() {
  17337     return libzip.HEAPU8;
  17338   },
  17339   errors: Errors,
  17340   SEEK_SET: 0,
  17341   SEEK_CUR: 1,
  17342   SEEK_END: 2,
  17343   ZIP_CHECKCONS: 4,
  17344   ZIP_CREATE: 1,
  17345   ZIP_EXCL: 2,
  17346   ZIP_TRUNCATE: 8,
  17347   ZIP_RDONLY: 16,
  17348   ZIP_FL_OVERWRITE: 8192,
  17349   ZIP_FL_COMPRESSED: 4,
  17350   ZIP_OPSYS_DOS: 0,
  17351   ZIP_OPSYS_AMIGA: 1,
  17352   ZIP_OPSYS_OPENVMS: 2,
  17353   ZIP_OPSYS_UNIX: 3,
  17354   ZIP_OPSYS_VM_CMS: 4,
  17355   ZIP_OPSYS_ATARI_ST: 5,
  17356   ZIP_OPSYS_OS_2: 6,
  17357   ZIP_OPSYS_MACINTOSH: 7,
  17358   ZIP_OPSYS_Z_SYSTEM: 8,
  17359   ZIP_OPSYS_CPM: 9,
  17360   ZIP_OPSYS_WINDOWS_NTFS: 10,
  17361   ZIP_OPSYS_MVS: 11,
  17362   ZIP_OPSYS_VSE: 12,
  17363   ZIP_OPSYS_ACORN_RISC: 13,
  17364   ZIP_OPSYS_VFAT: 14,
  17365   ZIP_OPSYS_ALTERNATE_MVS: 15,
  17366   ZIP_OPSYS_BEOS: 16,
  17367   ZIP_OPSYS_TANDEM: 17,
  17368   ZIP_OPSYS_OS_400: 18,
  17369   ZIP_OPSYS_OS_X: 19,
  17370   ZIP_CM_DEFAULT: -1,
  17371   ZIP_CM_STORE: 0,
  17372   ZIP_CM_DEFLATE: 8,
  17373   uint08S: libzip._malloc(1),
  17374   uint16S: libzip._malloc(2),
  17375   uint32S: libzip._malloc(4),
  17376   uint64S: libzip._malloc(8),
  17377   malloc: libzip._malloc,
  17378   free: libzip._free,
  17379   getValue: libzip.getValue,
  17380   open: libzip.cwrap(`zip_open`, `number`, [`string`, `number`, `number`]),
  17381   openFromSource: libzip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]),
  17382   close: libzip.cwrap(`zip_close`, `number`, [`number`]),
  17383   discard: libzip.cwrap(`zip_discard`, null, [`number`]),
  17384   getError: libzip.cwrap(`zip_get_error`, `number`, [`number`]),
  17385   getName: libzip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]),
  17386   getNumEntries: libzip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]),
  17387   delete: libzip.cwrap(`zip_delete`, `number`, [`number`, `number`]),
  17388   stat: libzip.cwrap(`zip_stat`, `number`, [`number`, `string`, `number`, `number`]),
  17389   statIndex: libzip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]),
  17390   fopen: libzip.cwrap(`zip_fopen`, `number`, [`number`, `string`, `number`]),
  17391   fopenIndex: libzip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]),
  17392   fread: libzip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]),
  17393   fclose: libzip.cwrap(`zip_fclose`, `number`, [`number`]),
  17394   dir: {
  17395     add: libzip.cwrap(`zip_dir_add`, `number`, [`number`, `string`])
  17396   },
  17397   file: {
  17398     add: libzip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]),
  17399     getError: libzip.cwrap(`zip_file_get_error`, `number`, [`number`]),
  17400     getExternalAttributes: libzip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]),
  17401     setExternalAttributes: libzip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]),
  17402     setMtime: libzip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]),
  17403     setCompression: libzip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`])
  17404   },
  17405   ext: {
  17406     countSymlinks: libzip.cwrap(`zip_ext_count_symlinks`, `number`, [`number`])
  17407   },
  17408   error: {
  17409     initWithCode: libzip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]),
  17410     strerror: libzip.cwrap(`zip_error_strerror`, `string`, [`number`])
  17411   },
  17412   name: {
  17413     locate: libzip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`])
  17414   },
  17415   source: {
  17416     fromUnattachedBuffer: libzip.cwrap(`zip_source_buffer_create`, `number`, [`number`, `number`, `number`, `number`]),
  17417     fromBuffer: libzip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]),
  17418     free: libzip.cwrap(`zip_source_free`, null, [`number`]),
  17419     keep: libzip.cwrap(`zip_source_keep`, null, [`number`]),
  17420     open: libzip.cwrap(`zip_source_open`, `number`, [`number`]),
  17421     close: libzip.cwrap(`zip_source_close`, `number`, [`number`]),
  17422     seek: libzip.cwrap(`zip_source_seek`, `number`, [`number`, ...number64, `number`]),
  17423     tell: libzip.cwrap(`zip_source_tell`, `number`, [`number`]),
  17424     read: libzip.cwrap(`zip_source_read`, `number`, [`number`, `number`, `number`]),
  17425     error: libzip.cwrap(`zip_source_error`, `number`, [`number`]),
  17426     setMtime: libzip.cwrap(`zip_source_set_mtime`, `number`, [`number`, `number`])
  17427   },
  17428   struct: {
  17429     stat: libzip.cwrap(`zipstruct_stat`, `number`, []),
  17430     statS: libzip.cwrap(`zipstruct_statS`, `number`, []),
  17431     statName: libzip.cwrap(`zipstruct_stat_name`, `string`, [`number`]),
  17432     statIndex: libzip.cwrap(`zipstruct_stat_index`, `number`, [`number`]),
  17433     statSize: libzip.cwrap(`zipstruct_stat_size`, `number`, [`number`]),
  17434     statCompSize: libzip.cwrap(`zipstruct_stat_comp_size`, `number`, [`number`]),
  17435     statCompMethod: libzip.cwrap(`zipstruct_stat_comp_method`, `number`, [`number`]),
  17436     statMtime: libzip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]),
  17437     statCrc: libzip.cwrap(`zipstruct_stat_crc`, `number`, [`number`]),
  17438     error: libzip.cwrap(`zipstruct_error`, `number`, []),
  17439     errorS: libzip.cwrap(`zipstruct_errorS`, `number`, []),
  17440     errorCodeZip: libzip.cwrap(`zipstruct_error_code_zip`, `number`, [`number`])
  17441   }
  17442 });
  17443 
  17444 let mod = null;
  17445 function getLibzipSync() {
  17446   if (mod === null)
  17447     mod = makeInterface(createModule());
  17448   return mod;
  17449 }
  17450 
  17451 var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => {
  17452   ErrorCode2["API_ERROR"] = `API_ERROR`;
  17453   ErrorCode2["BUILTIN_NODE_RESOLUTION_FAILED"] = `BUILTIN_NODE_RESOLUTION_FAILED`;
  17454   ErrorCode2["EXPORTS_RESOLUTION_FAILED"] = `EXPORTS_RESOLUTION_FAILED`;
  17455   ErrorCode2["MISSING_DEPENDENCY"] = `MISSING_DEPENDENCY`;
  17456   ErrorCode2["MISSING_PEER_DEPENDENCY"] = `MISSING_PEER_DEPENDENCY`;
  17457   ErrorCode2["QUALIFIED_PATH_RESOLUTION_FAILED"] = `QUALIFIED_PATH_RESOLUTION_FAILED`;
  17458   ErrorCode2["INTERNAL"] = `INTERNAL`;
  17459   ErrorCode2["UNDECLARED_DEPENDENCY"] = `UNDECLARED_DEPENDENCY`;
  17460   ErrorCode2["UNSUPPORTED"] = `UNSUPPORTED`;
  17461   return ErrorCode2;
  17462 })(ErrorCode || {});
  17463 const MODULE_NOT_FOUND_ERRORS = /* @__PURE__ */ new Set([
  17464   "BUILTIN_NODE_RESOLUTION_FAILED" /* BUILTIN_NODE_RESOLUTION_FAILED */,
  17465   "MISSING_DEPENDENCY" /* MISSING_DEPENDENCY */,
  17466   "MISSING_PEER_DEPENDENCY" /* MISSING_PEER_DEPENDENCY */,
  17467   "QUALIFIED_PATH_RESOLUTION_FAILED" /* QUALIFIED_PATH_RESOLUTION_FAILED */,
  17468   "UNDECLARED_DEPENDENCY" /* UNDECLARED_DEPENDENCY */
  17469 ]);
  17470 function makeError(pnpCode, message, data = {}, code) {
  17471   code != null ? code : code = MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode;
  17472   const propertySpec = {
  17473     configurable: true,
  17474     writable: true,
  17475     enumerable: false
  17476   };
  17477   return Object.defineProperties(new Error(message), {
  17478     code: {
  17479       ...propertySpec,
  17480       value: code
  17481     },
  17482     pnpCode: {
  17483       ...propertySpec,
  17484       value: pnpCode
  17485     },
  17486     data: {
  17487       ...propertySpec,
  17488       value: data
  17489     }
  17490   });
  17491 }
  17492 function getIssuerModule(parent) {
  17493   let issuer = parent;
  17494   while (issuer && (issuer.id === `[eval]` || issuer.id === `<repl>` || !issuer.filename))
  17495     issuer = issuer.parent;
  17496   return issuer || null;
  17497 }
  17498 function getPathForDisplay(p) {
  17499   return npath.normalize(npath.fromPortablePath(p));
  17500 }
  17501 
  17502 const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10));
  17503 const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2;
  17504 
  17505 const builtinModules = new Set(require$$0.Module.builtinModules || Object.keys(process.binding(`natives`)));
  17506 const isBuiltinModule = (request) => request.startsWith(`node:`) || builtinModules.has(request);
  17507 function readPackageScope(checkPath) {
  17508   const rootSeparatorIndex = checkPath.indexOf(npath.sep);
  17509   let separatorIndex;
  17510   do {
  17511     separatorIndex = checkPath.lastIndexOf(npath.sep);
  17512     checkPath = checkPath.slice(0, separatorIndex);
  17513     if (checkPath.endsWith(`${npath.sep}node_modules`))
  17514       return false;
  17515     const pjson = readPackage(checkPath + npath.sep);
  17516     if (pjson) {
  17517       return {
  17518         data: pjson,
  17519         path: checkPath
  17520       };
  17521     }
  17522   } while (separatorIndex > rootSeparatorIndex);
  17523   return false;
  17524 }
  17525 function readPackage(requestPath) {
  17526   const jsonPath = npath.resolve(requestPath, `package.json`);
  17527   if (!fs__default.default.existsSync(jsonPath))
  17528     return null;
  17529   return JSON.parse(fs__default.default.readFileSync(jsonPath, `utf8`));
  17530 }
  17531 function ERR_REQUIRE_ESM(filename, parentPath = null) {
  17532   const basename = parentPath && path__default.default.basename(filename) === path__default.default.basename(parentPath) ? filename : path__default.default.basename(filename);
  17533   const msg = `require() of ES Module ${filename}${parentPath ? ` from ${parentPath}` : ``} not supported.
  17534 Instead change the require of ${basename} in ${parentPath} to a dynamic import() which is available in all CommonJS modules.`;
  17535   const err = new Error(msg);
  17536   err.code = `ERR_REQUIRE_ESM`;
  17537   return err;
  17538 }
  17539 function reportRequiredFilesToWatchMode(files) {
  17540   if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) {
  17541     files = files.map((filename) => npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename))));
  17542     if (WATCH_MODE_MESSAGE_USES_ARRAYS) {
  17543       process.send({ "watch:require": files });
  17544     } else {
  17545       for (const filename of files) {
  17546         process.send({ "watch:require": filename });
  17547       }
  17548     }
  17549   }
  17550 }
  17551 
  17552 function applyPatch(pnpapi, opts) {
  17553   const defaultCache = {};
  17554   let enableNativeHooks = true;
  17555   process.versions.pnp = String(pnpapi.VERSIONS.std);
  17556   const moduleExports = require$$0__default.default;
  17557   moduleExports.findPnpApi = (lookupSource) => {
  17558     const lookupPath = lookupSource instanceof url.URL ? url.fileURLToPath(lookupSource) : lookupSource;
  17559     const apiPath = opts.manager.findApiPathFor(lookupPath);
  17560     if (apiPath === null)
  17561       return null;
  17562     const apiEntry = opts.manager.getApiEntry(apiPath, true);
  17563     return apiEntry.instance.findPackageLocator(lookupPath) ? apiEntry.instance : null;
  17564   };
  17565   function getRequireStack(parent) {
  17566     const requireStack = [];
  17567     for (let cursor = parent; cursor; cursor = cursor.parent)
  17568       requireStack.push(cursor.filename || cursor.id);
  17569     return requireStack;
  17570   }
  17571   const originalModuleLoad = require$$0.Module._load;
  17572   require$$0.Module._load = function(request, parent, isMain) {
  17573     if (!enableNativeHooks)
  17574       return originalModuleLoad.call(require$$0.Module, request, parent, isMain);
  17575     if (isBuiltinModule(request)) {
  17576       try {
  17577         enableNativeHooks = false;
  17578         return originalModuleLoad.call(require$$0.Module, request, parent, isMain);
  17579       } finally {
  17580         enableNativeHooks = true;
  17581       }
  17582     }
  17583     const parentApiPath = opts.manager.getApiPathFromParent(parent);
  17584     const parentApi = parentApiPath !== null ? opts.manager.getApiEntry(parentApiPath, true).instance : null;
  17585     if (parentApi === null)
  17586       return originalModuleLoad(request, parent, isMain);
  17587     if (request === `pnpapi`)
  17588       return parentApi;
  17589     const modulePath = require$$0.Module._resolveFilename(request, parent, isMain);
  17590     const isOwnedByRuntime = parentApi !== null ? parentApi.findPackageLocator(modulePath) !== null : false;
  17591     const moduleApiPath = isOwnedByRuntime ? parentApiPath : opts.manager.findApiPathFor(npath.dirname(modulePath));
  17592     const entry = moduleApiPath !== null ? opts.manager.getApiEntry(moduleApiPath) : { instance: null, cache: defaultCache };
  17593     const cacheEntry = entry.cache[modulePath];
  17594     if (cacheEntry) {
  17595       if (cacheEntry.loaded === false && cacheEntry.isLoading !== true) {
  17596         try {
  17597           cacheEntry.isLoading = true;
  17598           if (isMain) {
  17599             process.mainModule = cacheEntry;
  17600             cacheEntry.id = `.`;
  17601           }
  17602           cacheEntry.load(modulePath);
  17603         } finally {
  17604           cacheEntry.isLoading = false;
  17605         }
  17606       }
  17607       return cacheEntry.exports;
  17608     }
  17609     const module = new require$$0.Module(modulePath, parent != null ? parent : void 0);
  17610     module.pnpApiPath = moduleApiPath;
  17611     reportRequiredFilesToWatchMode([modulePath]);
  17612     entry.cache[modulePath] = module;
  17613     if (isMain) {
  17614       process.mainModule = module;
  17615       module.id = `.`;
  17616     }
  17617     let hasThrown = true;
  17618     try {
  17619       module.isLoading = true;
  17620       module.load(modulePath);
  17621       hasThrown = false;
  17622     } finally {
  17623       module.isLoading = false;
  17624       if (hasThrown) {
  17625         delete require$$0.Module._cache[modulePath];
  17626       }
  17627     }
  17628     return module.exports;
  17629   };
  17630   function getIssuerSpecsFromPaths(paths) {
  17631     return paths.map((path) => ({
  17632       apiPath: opts.manager.findApiPathFor(path),
  17633       path,
  17634       module: null
  17635     }));
  17636   }
  17637   function getIssuerSpecsFromModule(module) {
  17638     var _a;
  17639     if (module && module.id !== `<repl>` && module.id !== `internal/preload` && !module.parent && !module.filename && module.paths.length > 0) {
  17640       return [{
  17641         apiPath: opts.manager.findApiPathFor(module.paths[0]),
  17642         path: module.paths[0],
  17643         module
  17644       }];
  17645     }
  17646     const issuer = getIssuerModule(module);
  17647     if (issuer !== null) {
  17648       const path = npath.dirname(issuer.filename);
  17649       const apiPath = opts.manager.getApiPathFromParent(issuer);
  17650       return [{ apiPath, path, module }];
  17651     } else {
  17652       const path = process.cwd();
  17653       const apiPath = (_a = opts.manager.findApiPathFor(npath.join(path, `[file]`))) != null ? _a : opts.manager.getApiPathFromParent(null);
  17654       return [{ apiPath, path, module }];
  17655     }
  17656   }
  17657   function makeFakeParent(path) {
  17658     const fakeParent = new require$$0.Module(``);
  17659     const fakeFilePath = npath.join(path, `[file]`);
  17660     fakeParent.paths = require$$0.Module._nodeModulePaths(fakeFilePath);
  17661     return fakeParent;
  17662   }
  17663   const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/;
  17664   const originalModuleResolveFilename = require$$0.Module._resolveFilename;
  17665   require$$0.Module._resolveFilename = function(request, parent, isMain, options) {
  17666     if (isBuiltinModule(request))
  17667       return request;
  17668     if (!enableNativeHooks)
  17669       return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, options);
  17670     if (options && options.plugnplay === false) {
  17671       const { plugnplay, ...rest } = options;
  17672       const forwardedOptions = Object.keys(rest).length > 0 ? rest : void 0;
  17673       try {
  17674         enableNativeHooks = false;
  17675         return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, forwardedOptions);
  17676       } finally {
  17677         enableNativeHooks = true;
  17678       }
  17679     }
  17680     if (options) {
  17681       const optionNames = new Set(Object.keys(options));
  17682       optionNames.delete(`paths`);
  17683       optionNames.delete(`plugnplay`);
  17684       if (optionNames.size > 0) {
  17685         throw makeError(
  17686           ErrorCode.UNSUPPORTED,
  17687           `Some options passed to require() aren't supported by PnP yet (${Array.from(optionNames).join(`, `)})`
  17688         );
  17689       }
  17690     }
  17691     const issuerSpecs = options && options.paths ? getIssuerSpecsFromPaths(options.paths) : getIssuerSpecsFromModule(parent);
  17692     if (request.match(pathRegExp) === null) {
  17693       const parentDirectory = (parent == null ? void 0 : parent.filename) != null ? npath.dirname(parent.filename) : null;
  17694       const absoluteRequest = npath.isAbsolute(request) ? request : parentDirectory !== null ? npath.resolve(parentDirectory, request) : null;
  17695       if (absoluteRequest !== null) {
  17696         const apiPath = parentDirectory === npath.dirname(absoluteRequest) && (parent == null ? void 0 : parent.pnpApiPath) ? parent.pnpApiPath : opts.manager.findApiPathFor(absoluteRequest);
  17697         if (apiPath !== null) {
  17698           issuerSpecs.unshift({
  17699             apiPath,
  17700             path: parentDirectory,
  17701             module: null
  17702           });
  17703         }
  17704       }
  17705     }
  17706     let firstError;
  17707     for (const { apiPath, path, module } of issuerSpecs) {
  17708       let resolution;
  17709       const issuerApi = apiPath !== null ? opts.manager.getApiEntry(apiPath, true).instance : null;
  17710       try {
  17711         if (issuerApi !== null) {
  17712           resolution = issuerApi.resolveRequest(request, path !== null ? `${path}/` : null);
  17713         } else {
  17714           if (path === null)
  17715             throw new Error(`Assertion failed: Expected the path to be set`);
  17716           resolution = originalModuleResolveFilename.call(require$$0.Module, request, module || makeFakeParent(path), isMain);
  17717         }
  17718       } catch (error) {
  17719         firstError = firstError || error;
  17720         continue;
  17721       }
  17722       if (resolution !== null) {
  17723         return resolution;
  17724       }
  17725     }
  17726     const requireStack = getRequireStack(parent);
  17727     Object.defineProperty(firstError, `requireStack`, {
  17728       configurable: true,
  17729       writable: true,
  17730       enumerable: false,
  17731       value: requireStack
  17732     });
  17733     if (requireStack.length > 0)
  17734       firstError.message += `
  17735 Require stack:
  17736 - ${requireStack.join(`
  17737 - `)}`;
  17738     if (typeof firstError.pnpCode === `string`)
  17739       Error.captureStackTrace(firstError);
  17740     throw firstError;
  17741   };
  17742   const originalFindPath = require$$0.Module._findPath;
  17743   require$$0.Module._findPath = function(request, paths, isMain) {
  17744     if (request === `pnpapi`)
  17745       return false;
  17746     if (!enableNativeHooks)
  17747       return originalFindPath.call(require$$0.Module, request, paths, isMain);
  17748     const isAbsolute = npath.isAbsolute(request);
  17749     if (isAbsolute)
  17750       paths = [``];
  17751     else if (!paths || paths.length === 0)
  17752       return false;
  17753     for (const path of paths) {
  17754       let resolution;
  17755       try {
  17756         const pnpApiPath = opts.manager.findApiPathFor(isAbsolute ? request : path);
  17757         if (pnpApiPath !== null) {
  17758           const api = opts.manager.getApiEntry(pnpApiPath, true).instance;
  17759           resolution = api.resolveRequest(request, path) || false;
  17760         } else {
  17761           resolution = originalFindPath.call(require$$0.Module, request, [path], isMain);
  17762         }
  17763       } catch (error) {
  17764         continue;
  17765       }
  17766       if (resolution) {
  17767         return resolution;
  17768       }
  17769     }
  17770     return false;
  17771   };
  17772   const originalExtensionJSFunction = require$$0.Module._extensions[`.js`];
  17773   require$$0.Module._extensions[`.js`] = function(module, filename) {
  17774     var _a, _b;
  17775     if (filename.endsWith(`.js`)) {
  17776       const pkg = readPackageScope(filename);
  17777       if (pkg && ((_a = pkg.data) == null ? void 0 : _a.type) === `module`) {
  17778         const err = ERR_REQUIRE_ESM(filename, (_b = module.parent) == null ? void 0 : _b.filename);
  17779         Error.captureStackTrace(err);
  17780         throw err;
  17781       }
  17782     }
  17783     originalExtensionJSFunction.call(this, module, filename);
  17784   };
  17785   const originalDlopen = process.dlopen;
  17786   process.dlopen = function(...args) {
  17787     const [module, filename, ...rest] = args;
  17788     return originalDlopen.call(
  17789       this,
  17790       module,
  17791       npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename))),
  17792       ...rest
  17793     );
  17794   };
  17795   const originalEmit = process.emit;
  17796   process.emit = function(name, data, ...args) {
  17797     if (name === `warning` && typeof data === `object` && data.name === `ExperimentalWarning` && (data.message.includes(`--experimental-loader`) || data.message.includes(`Custom ESM Loaders is an experimental feature`)))
  17798       return false;
  17799     return originalEmit.apply(process, arguments);
  17800   };
  17801   patchFs(fs__default.default, new PosixFS(opts.fakeFs));
  17802 }
  17803 
  17804 function hydrateRuntimeState(data, { basePath }) {
  17805   const portablePath = npath.toPortablePath(basePath);
  17806   const absolutePortablePath = ppath.resolve(portablePath);
  17807   const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null;
  17808   const packageLocatorsByLocations = /* @__PURE__ */ new Map();
  17809   const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => {
  17810     return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => {
  17811       var _a;
  17812       if (packageName === null !== (packageReference === null))
  17813         throw new Error(`Assertion failed: The name and reference should be null, or neither should`);
  17814       const discardFromLookup = (_a = packageInformationData.discardFromLookup) != null ? _a : false;
  17815       const packageLocator = { name: packageName, reference: packageReference };
  17816       const entry = packageLocatorsByLocations.get(packageInformationData.packageLocation);
  17817       if (!entry) {
  17818         packageLocatorsByLocations.set(packageInformationData.packageLocation, { locator: packageLocator, discardFromLookup });
  17819       } else {
  17820         entry.discardFromLookup = entry.discardFromLookup && discardFromLookup;
  17821         if (!discardFromLookup) {
  17822           entry.locator = packageLocator;
  17823         }
  17824       }
  17825       let resolvedPackageLocation = null;
  17826       return [packageReference, {
  17827         packageDependencies: new Map(packageInformationData.packageDependencies),
  17828         packagePeers: new Set(packageInformationData.packagePeers),
  17829         linkType: packageInformationData.linkType,
  17830         discardFromLookup,
  17831         get packageLocation() {
  17832           return resolvedPackageLocation || (resolvedPackageLocation = ppath.join(absolutePortablePath, packageInformationData.packageLocation));
  17833         }
  17834       }];
  17835     }))];
  17836   }));
  17837   const fallbackExclusionList = new Map(data.fallbackExclusionList.map(([packageName, packageReferences]) => {
  17838     return [packageName, new Set(packageReferences)];
  17839   }));
  17840   const fallbackPool = new Map(data.fallbackPool);
  17841   const dependencyTreeRoots = data.dependencyTreeRoots;
  17842   const enableTopLevelFallback = data.enableTopLevelFallback;
  17843   return {
  17844     basePath: portablePath,
  17845     dependencyTreeRoots,
  17846     enableTopLevelFallback,
  17847     fallbackExclusionList,
  17848     fallbackPool,
  17849     ignorePattern,
  17850     packageLocatorsByLocations,
  17851     packageRegistry
  17852   };
  17853 }
  17854 
  17855 /**
  17856  * @param {object} exports
  17857  * @param {Set<string>} keys
  17858  */
  17859 function loop(exports, keys) {
  17860 	if (typeof exports === 'string') {
  17861 		return exports;
  17862 	}
  17863 
  17864 	if (exports) {
  17865 		let idx, tmp;
  17866 		if (Array.isArray(exports)) {
  17867 			for (idx=0; idx < exports.length; idx++) {
  17868 				if (tmp = loop(exports[idx], keys)) return tmp;
  17869 			}
  17870 		} else {
  17871 			for (idx in exports) {
  17872 				if (keys.has(idx)) {
  17873 					return loop(exports[idx], keys);
  17874 				}
  17875 			}
  17876 		}
  17877 	}
  17878 }
  17879 
  17880 /**
  17881  * @param {string} name The package name
  17882  * @param {string} entry The target entry, eg "."
  17883  * @param {number} [condition] Unmatched condition?
  17884  */
  17885 function bail(name, entry, condition) {
  17886 	throw new Error(
  17887 		condition
  17888 		? `No known conditions for "${entry}" entry in "${name}" package`
  17889 		: `Missing "${entry}" export in "${name}" package`
  17890 	);
  17891 }
  17892 
  17893 /**
  17894  * @param {string} name the package name
  17895  * @param {string} entry the target path/import
  17896  */
  17897 function toName(name, entry) {
  17898 	return entry === name ? '.'
  17899 		: entry[0] === '.' ? entry
  17900 		: entry.replace(new RegExp('^' + name + '\/'), './');
  17901 }
  17902 
  17903 /**
  17904  * @param {object} pkg package.json contents
  17905  * @param {string} [entry] entry name or import path
  17906  * @param {object} [options]
  17907  * @param {boolean} [options.browser]
  17908  * @param {boolean} [options.require]
  17909  * @param {string[]} [options.conditions]
  17910  * @param {boolean} [options.unsafe]
  17911  */
  17912 function resolve(pkg, entry='.', options={}) {
  17913 	let { name, exports } = pkg;
  17914 
  17915 	if (exports) {
  17916 		let { browser, require, unsafe, conditions=[] } = options;
  17917 
  17918 		let target = toName(name, entry);
  17919 		if (target[0] !== '.') target = './' + target;
  17920 
  17921 		if (typeof exports === 'string') {
  17922 			return target === '.' ? exports : bail(name, target);
  17923 		}
  17924 
  17925 		let allows = new Set(['default', ...conditions]);
  17926 		unsafe || allows.add(require ? 'require' : 'import');
  17927 		unsafe || allows.add(browser ? 'browser' : 'node');
  17928 
  17929 		let key, tmp, isSingle=false;
  17930 
  17931 		for (key in exports) {
  17932 			isSingle = key[0] !== '.';
  17933 			break;
  17934 		}
  17935 
  17936 		if (isSingle) {
  17937 			return target === '.'
  17938 				? loop(exports, allows) || bail(name, target, 1)
  17939 				: bail(name, target);
  17940 		}
  17941 
  17942 		if (tmp = exports[target]) {
  17943 			return loop(tmp, allows) || bail(name, target, 1);
  17944 		}
  17945 
  17946 		for (key in exports) {
  17947 			tmp = key[key.length - 1];
  17948 			if (tmp === '/' && target.startsWith(key)) {
  17949 				return (tmp = loop(exports[key], allows))
  17950 					? (tmp + target.substring(key.length))
  17951 					: bail(name, target, 1);
  17952 			}
  17953 			if (tmp === '*' && target.startsWith(key.slice(0, -1))) {
  17954 				// do not trigger if no *content* to inject
  17955 				if (target.substring(key.length - 1).length > 0) {
  17956 					return (tmp = loop(exports[key], allows))
  17957 						? tmp.replace('*', target.substring(key.length - 1))
  17958 						: bail(name, target, 1);
  17959 				}
  17960 			}
  17961 		}
  17962 
  17963 		return bail(name, target);
  17964 	}
  17965 }
  17966 
  17967 const ArrayIsArray = Array.isArray;
  17968 const JSONStringify = JSON.stringify;
  17969 const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames;
  17970 const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
  17971 const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string);
  17972 const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest);
  17973 const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest);
  17974 const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest);
  17975 const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest);
  17976 const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest);
  17977 const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest);
  17978 const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest);
  17979 const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest);
  17980 const SafeMap = Map;
  17981 const JSONParse = JSON.parse;
  17982 
  17983 function createErrorType(code, messageCreator, errorType) {
  17984   return class extends errorType {
  17985     constructor(...args) {
  17986       super(messageCreator(...args));
  17987       this.code = code;
  17988       this.name = `${errorType.name} [${code}]`;
  17989     }
  17990   };
  17991 }
  17992 const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType(
  17993   `ERR_PACKAGE_IMPORT_NOT_DEFINED`,
  17994   (specifier, packagePath, base) => {
  17995     return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`;
  17996   },
  17997   TypeError
  17998 );
  17999 const ERR_INVALID_MODULE_SPECIFIER = createErrorType(
  18000   `ERR_INVALID_MODULE_SPECIFIER`,
  18001   (request, reason, base = void 0) => {
  18002     return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`;
  18003   },
  18004   TypeError
  18005 );
  18006 const ERR_INVALID_PACKAGE_TARGET = createErrorType(
  18007   `ERR_INVALID_PACKAGE_TARGET`,
  18008   (pkgPath, key, target, isImport = false, base = void 0) => {
  18009     const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`);
  18010     if (key === `.`) {
  18011       assert__default.default(isImport === false);
  18012       return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`;
  18013     }
  18014     return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify(
  18015       target
  18016     )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`;
  18017   },
  18018   Error
  18019 );
  18020 const ERR_INVALID_PACKAGE_CONFIG = createErrorType(
  18021   `ERR_INVALID_PACKAGE_CONFIG`,
  18022   (path, base, message) => {
  18023     return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`;
  18024   },
  18025   Error
  18026 );
  18027 
  18028 function filterOwnProperties(source, keys) {
  18029   const filtered = /* @__PURE__ */ Object.create(null);
  18030   for (let i = 0; i < keys.length; i++) {
  18031     const key = keys[i];
  18032     if (ObjectPrototypeHasOwnProperty(source, key)) {
  18033       filtered[key] = source[key];
  18034     }
  18035   }
  18036   return filtered;
  18037 }
  18038 
  18039 const packageJSONCache = new SafeMap();
  18040 function getPackageConfig(path, specifier, base, readFileSyncFn) {
  18041   const existing = packageJSONCache.get(path);
  18042   if (existing !== void 0) {
  18043     return existing;
  18044   }
  18045   const source = readFileSyncFn(path);
  18046   if (source === void 0) {
  18047     const packageConfig2 = {
  18048       pjsonPath: path,
  18049       exists: false,
  18050       main: void 0,
  18051       name: void 0,
  18052       type: "none",
  18053       exports: void 0,
  18054       imports: void 0
  18055     };
  18056     packageJSONCache.set(path, packageConfig2);
  18057     return packageConfig2;
  18058   }
  18059   let packageJSON;
  18060   try {
  18061     packageJSON = JSONParse(source);
  18062   } catch (error) {
  18063     throw new ERR_INVALID_PACKAGE_CONFIG(
  18064       path,
  18065       (base ? `"${specifier}" from ` : "") + url.fileURLToPath(base || specifier),
  18066       error.message
  18067     );
  18068   }
  18069   let { imports, main, name, type } = filterOwnProperties(packageJSON, [
  18070     "imports",
  18071     "main",
  18072     "name",
  18073     "type"
  18074   ]);
  18075   const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0;
  18076   if (typeof imports !== "object" || imports === null) {
  18077     imports = void 0;
  18078   }
  18079   if (typeof main !== "string") {
  18080     main = void 0;
  18081   }
  18082   if (typeof name !== "string") {
  18083     name = void 0;
  18084   }
  18085   if (type !== "module" && type !== "commonjs") {
  18086     type = "none";
  18087   }
  18088   const packageConfig = {
  18089     pjsonPath: path,
  18090     exists: true,
  18091     main,
  18092     name,
  18093     type,
  18094     exports,
  18095     imports
  18096   };
  18097   packageJSONCache.set(path, packageConfig);
  18098   return packageConfig;
  18099 }
  18100 function getPackageScopeConfig(resolved, readFileSyncFn) {
  18101   let packageJSONUrl = new URL("./package.json", resolved);
  18102   while (true) {
  18103     const packageJSONPath2 = packageJSONUrl.pathname;
  18104     if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) {
  18105       break;
  18106     }
  18107     const packageConfig2 = getPackageConfig(
  18108       url.fileURLToPath(packageJSONUrl),
  18109       resolved,
  18110       void 0,
  18111       readFileSyncFn
  18112     );
  18113     if (packageConfig2.exists) {
  18114       return packageConfig2;
  18115     }
  18116     const lastPackageJSONUrl = packageJSONUrl;
  18117     packageJSONUrl = new URL("../package.json", packageJSONUrl);
  18118     if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) {
  18119       break;
  18120     }
  18121   }
  18122   const packageJSONPath = url.fileURLToPath(packageJSONUrl);
  18123   const packageConfig = {
  18124     pjsonPath: packageJSONPath,
  18125     exists: false,
  18126     main: void 0,
  18127     name: void 0,
  18128     type: "none",
  18129     exports: void 0,
  18130     imports: void 0
  18131   };
  18132   packageJSONCache.set(packageJSONPath, packageConfig);
  18133   return packageConfig;
  18134 }
  18135 
  18136 /**
  18137   @license
  18138   Copyright Node.js contributors. All rights reserved.
  18139 
  18140   Permission is hereby granted, free of charge, to any person obtaining a copy
  18141   of this software and associated documentation files (the "Software"), to
  18142   deal in the Software without restriction, including without limitation the
  18143   rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
  18144   sell copies of the Software, and to permit persons to whom the Software is
  18145   furnished to do so, subject to the following conditions:
  18146 
  18147   The above copyright notice and this permission notice shall be included in
  18148   all copies or substantial portions of the Software.
  18149 
  18150   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  18151   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18152   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  18153   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18154   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  18155   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  18156   IN THE SOFTWARE.
  18157 */
  18158 function throwImportNotDefined(specifier, packageJSONUrl, base) {
  18159   throw new ERR_PACKAGE_IMPORT_NOT_DEFINED(
  18160     specifier,
  18161     packageJSONUrl && url.fileURLToPath(new URL(".", packageJSONUrl)),
  18162     url.fileURLToPath(base)
  18163   );
  18164 }
  18165 function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) {
  18166   const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${url.fileURLToPath(packageJSONUrl)}`;
  18167   throw new ERR_INVALID_MODULE_SPECIFIER(
  18168     subpath,
  18169     reason,
  18170     base && url.fileURLToPath(base)
  18171   );
  18172 }
  18173 function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) {
  18174   if (typeof target === "object" && target !== null) {
  18175     target = JSONStringify(target, null, "");
  18176   } else {
  18177     target = `${target}`;
  18178   }
  18179   throw new ERR_INVALID_PACKAGE_TARGET(
  18180     url.fileURLToPath(new URL(".", packageJSONUrl)),
  18181     subpath,
  18182     target,
  18183     internal,
  18184     base && url.fileURLToPath(base)
  18185   );
  18186 }
  18187 const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i;
  18188 const patternRegEx = /\*/g;
  18189 function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) {
  18190   if (subpath !== "" && !pattern && target[target.length - 1] !== "/")
  18191     throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);
  18192   if (!StringPrototypeStartsWith(target, "./")) {
  18193     if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) {
  18194       let isURL = false;
  18195       try {
  18196         new URL(target);
  18197         isURL = true;
  18198       } catch {
  18199       }
  18200       if (!isURL) {
  18201         const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath;
  18202         return exportTarget;
  18203       }
  18204     }
  18205     throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);
  18206   }
  18207   if (RegExpPrototypeExec(
  18208     invalidSegmentRegEx,
  18209     StringPrototypeSlice(target, 2)
  18210   ) !== null)
  18211     throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);
  18212   const resolved = new URL(target, packageJSONUrl);
  18213   const resolvedPath = resolved.pathname;
  18214   const packagePath = new URL(".", packageJSONUrl).pathname;
  18215   if (!StringPrototypeStartsWith(resolvedPath, packagePath))
  18216     throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);
  18217   if (subpath === "")
  18218     return resolved;
  18219   if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) {
  18220     const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath;
  18221     throwInvalidSubpath(request, packageJSONUrl, internal, base);
  18222   }
  18223   if (pattern) {
  18224     return new URL(
  18225       RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath)
  18226     );
  18227   }
  18228   return new URL(subpath, resolved);
  18229 }
  18230 function isArrayIndex(key) {
  18231   const keyNum = +key;
  18232   if (`${keyNum}` !== key)
  18233     return false;
  18234   return keyNum >= 0 && keyNum < 4294967295;
  18235 }
  18236 function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) {
  18237   if (typeof target === "string") {
  18238     return resolvePackageTargetString(
  18239       target,
  18240       subpath,
  18241       packageSubpath,
  18242       packageJSONUrl,
  18243       base,
  18244       pattern,
  18245       internal);
  18246   } else if (ArrayIsArray(target)) {
  18247     if (target.length === 0) {
  18248       return null;
  18249     }
  18250     let lastException;
  18251     for (let i = 0; i < target.length; i++) {
  18252       const targetItem = target[i];
  18253       let resolveResult;
  18254       try {
  18255         resolveResult = resolvePackageTarget(
  18256           packageJSONUrl,
  18257           targetItem,
  18258           subpath,
  18259           packageSubpath,
  18260           base,
  18261           pattern,
  18262           internal,
  18263           conditions
  18264         );
  18265       } catch (e) {
  18266         lastException = e;
  18267         if (e.code === "ERR_INVALID_PACKAGE_TARGET") {
  18268           continue;
  18269         }
  18270         throw e;
  18271       }
  18272       if (resolveResult === void 0) {
  18273         continue;
  18274       }
  18275       if (resolveResult === null) {
  18276         lastException = null;
  18277         continue;
  18278       }
  18279       return resolveResult;
  18280     }
  18281     if (lastException === void 0 || lastException === null)
  18282       return lastException;
  18283     throw lastException;
  18284   } else if (typeof target === "object" && target !== null) {
  18285     const keys = ObjectGetOwnPropertyNames(target);
  18286     for (let i = 0; i < keys.length; i++) {
  18287       const key = keys[i];
  18288       if (isArrayIndex(key)) {
  18289         throw new ERR_INVALID_PACKAGE_CONFIG(
  18290           url.fileURLToPath(packageJSONUrl),
  18291           base,
  18292           '"exports" cannot contain numeric property keys.'
  18293         );
  18294       }
  18295     }
  18296     for (let i = 0; i < keys.length; i++) {
  18297       const key = keys[i];
  18298       if (key === "default" || conditions.has(key)) {
  18299         const conditionalTarget = target[key];
  18300         const resolveResult = resolvePackageTarget(
  18301           packageJSONUrl,
  18302           conditionalTarget,
  18303           subpath,
  18304           packageSubpath,
  18305           base,
  18306           pattern,
  18307           internal,
  18308           conditions
  18309         );
  18310         if (resolveResult === void 0)
  18311           continue;
  18312         return resolveResult;
  18313       }
  18314     }
  18315     return void 0;
  18316   } else if (target === null) {
  18317     return null;
  18318   }
  18319   throwInvalidPackageTarget(
  18320     packageSubpath,
  18321     target,
  18322     packageJSONUrl,
  18323     internal,
  18324     base
  18325   );
  18326 }
  18327 function patternKeyCompare(a, b) {
  18328   const aPatternIndex = StringPrototypeIndexOf(a, "*");
  18329   const bPatternIndex = StringPrototypeIndexOf(b, "*");
  18330   const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1;
  18331   const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1;
  18332   if (baseLenA > baseLenB)
  18333     return -1;
  18334   if (baseLenB > baseLenA)
  18335     return 1;
  18336   if (aPatternIndex === -1)
  18337     return 1;
  18338   if (bPatternIndex === -1)
  18339     return -1;
  18340   if (a.length > b.length)
  18341     return -1;
  18342   if (b.length > a.length)
  18343     return 1;
  18344   return 0;
  18345 }
  18346 function packageImportsResolve({
  18347   name,
  18348   base,
  18349   conditions,
  18350   readFileSyncFn
  18351 }) {
  18352   if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) {
  18353     const reason = "is not a valid internal imports specifier name";
  18354     throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, url.fileURLToPath(base));
  18355   }
  18356   let packageJSONUrl;
  18357   const packageConfig = getPackageScopeConfig(base, readFileSyncFn);
  18358   if (packageConfig.exists) {
  18359     packageJSONUrl = url.pathToFileURL(packageConfig.pjsonPath);
  18360     const imports = packageConfig.imports;
  18361     if (imports) {
  18362       if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) {
  18363         const resolveResult = resolvePackageTarget(
  18364           packageJSONUrl,
  18365           imports[name],
  18366           "",
  18367           name,
  18368           base,
  18369           false,
  18370           true,
  18371           conditions
  18372         );
  18373         if (resolveResult != null) {
  18374           return resolveResult;
  18375         }
  18376       } else {
  18377         let bestMatch = "";
  18378         let bestMatchSubpath;
  18379         const keys = ObjectGetOwnPropertyNames(imports);
  18380         for (let i = 0; i < keys.length; i++) {
  18381           const key = keys[i];
  18382           const patternIndex = StringPrototypeIndexOf(key, "*");
  18383           if (patternIndex !== -1 && StringPrototypeStartsWith(
  18384             name,
  18385             StringPrototypeSlice(key, 0, patternIndex)
  18386           )) {
  18387             const patternTrailer = StringPrototypeSlice(key, patternIndex + 1);
  18388             if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) {
  18389               bestMatch = key;
  18390               bestMatchSubpath = StringPrototypeSlice(
  18391                 name,
  18392                 patternIndex,
  18393                 name.length - patternTrailer.length
  18394               );
  18395             }
  18396           }
  18397         }
  18398         if (bestMatch) {
  18399           const target = imports[bestMatch];
  18400           const resolveResult = resolvePackageTarget(
  18401             packageJSONUrl,
  18402             target,
  18403             bestMatchSubpath,
  18404             bestMatch,
  18405             base,
  18406             true,
  18407             true,
  18408             conditions
  18409           );
  18410           if (resolveResult != null) {
  18411             return resolveResult;
  18412           }
  18413         }
  18414       }
  18415     }
  18416   }
  18417   throwImportNotDefined(name, packageJSONUrl, base);
  18418 }
  18419 
  18420 function makeApi(runtimeState, opts) {
  18421   const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0;
  18422   const debugLevel = Number(process.env.PNP_DEBUG_LEVEL);
  18423   const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/;
  18424   const isStrictRegExp = /^(\/|\.{1,2}(\/|$))/;
  18425   const isDirRegExp = /\/$/;
  18426   const isRelativeRegexp = /^\.{0,2}\//;
  18427   const topLevelLocator = { name: null, reference: null };
  18428   const fallbackLocators = [];
  18429   const emittedWarnings = /* @__PURE__ */ new Set();
  18430   if (runtimeState.enableTopLevelFallback === true)
  18431     fallbackLocators.push(topLevelLocator);
  18432   if (opts.compatibilityMode !== false) {
  18433     for (const name of [`react-scripts`, `gatsby`]) {
  18434       const packageStore = runtimeState.packageRegistry.get(name);
  18435       if (packageStore) {
  18436         for (const reference of packageStore.keys()) {
  18437           if (reference === null) {
  18438             throw new Error(`Assertion failed: This reference shouldn't be null`);
  18439           } else {
  18440             fallbackLocators.push({ name, reference });
  18441           }
  18442         }
  18443       }
  18444     }
  18445   }
  18446   const {
  18447     ignorePattern,
  18448     packageRegistry,
  18449     packageLocatorsByLocations
  18450   } = runtimeState;
  18451   function makeLogEntry(name, args) {
  18452     return {
  18453       fn: name,
  18454       args,
  18455       error: null,
  18456       result: null
  18457     };
  18458   }
  18459   function trace(entry) {
  18460     var _a, _b, _c, _d, _e, _f;
  18461     const colors = (_c = (_b = (_a = process.stderr) == null ? void 0 : _a.hasColors) == null ? void 0 : _b.call(_a)) != null ? _c : process.stdout.isTTY;
  18462     const c = (n, str) => `\x1B[${n}m${str}\x1B[0m`;
  18463     const error = entry.error;
  18464     if (error)
  18465       console.error(c(`31;1`, `\u2716 ${(_d = entry.error) == null ? void 0 : _d.message.replace(/\n.*/s, ``)}`));
  18466     else
  18467       console.error(c(`33;1`, `\u203C Resolution`));
  18468     if (entry.args.length > 0)
  18469       console.error();
  18470     for (const arg of entry.args)
  18471       console.error(`  ${c(`37;1`, `In \u2190`)} ${nodeUtils.inspect(arg, { colors, compact: true })}`);
  18472     if (entry.result) {
  18473       console.error();
  18474       console.error(`  ${c(`37;1`, `Out \u2192`)} ${nodeUtils.inspect(entry.result, { colors, compact: true })}`);
  18475     }
  18476     const stack = (_f = (_e = new Error().stack.match(/(?<=^ +)at.*/gm)) == null ? void 0 : _e.slice(2)) != null ? _f : [];
  18477     if (stack.length > 0) {
  18478       console.error();
  18479       for (const line of stack) {
  18480         console.error(`  ${c(`38;5;244`, line)}`);
  18481       }
  18482     }
  18483     console.error();
  18484   }
  18485   function maybeLog(name, fn) {
  18486     if (opts.allowDebug === false)
  18487       return fn;
  18488     if (Number.isFinite(debugLevel)) {
  18489       if (debugLevel >= 2) {
  18490         return (...args) => {
  18491           const logEntry = makeLogEntry(name, args);
  18492           try {
  18493             return logEntry.result = fn(...args);
  18494           } catch (error) {
  18495             throw logEntry.error = error;
  18496           } finally {
  18497             trace(logEntry);
  18498           }
  18499         };
  18500       } else if (debugLevel >= 1) {
  18501         return (...args) => {
  18502           try {
  18503             return fn(...args);
  18504           } catch (error) {
  18505             const logEntry = makeLogEntry(name, args);
  18506             logEntry.error = error;
  18507             trace(logEntry);
  18508             throw error;
  18509           }
  18510         };
  18511       }
  18512     }
  18513     return fn;
  18514   }
  18515   function getPackageInformationSafe(packageLocator) {
  18516     const packageInformation = getPackageInformation(packageLocator);
  18517     if (!packageInformation) {
  18518       throw makeError(
  18519         ErrorCode.INTERNAL,
  18520         `Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)`
  18521       );
  18522     }
  18523     return packageInformation;
  18524   }
  18525   function isDependencyTreeRoot(packageLocator) {
  18526     if (packageLocator.name === null)
  18527       return true;
  18528     for (const dependencyTreeRoot of runtimeState.dependencyTreeRoots)
  18529       if (dependencyTreeRoot.name === packageLocator.name && dependencyTreeRoot.reference === packageLocator.reference)
  18530         return true;
  18531     return false;
  18532   }
  18533   const defaultExportsConditions = /* @__PURE__ */ new Set([`default`, `node`, `require`]);
  18534   function applyNodeExportsResolution(unqualifiedPath, conditions = defaultExportsConditions) {
  18535     const locator = findPackageLocator(ppath.join(unqualifiedPath, `internal.js`), {
  18536       resolveIgnored: true,
  18537       includeDiscardFromLookup: true
  18538     });
  18539     if (locator === null) {
  18540       throw makeError(
  18541         ErrorCode.INTERNAL,
  18542         `The locator that owns the "${unqualifiedPath}" path can't be found inside the dependency tree (this is probably an internal error)`
  18543       );
  18544     }
  18545     const { packageLocation } = getPackageInformationSafe(locator);
  18546     const manifestPath = ppath.join(packageLocation, Filename.manifest);
  18547     if (!opts.fakeFs.existsSync(manifestPath))
  18548       return null;
  18549     const pkgJson = JSON.parse(opts.fakeFs.readFileSync(manifestPath, `utf8`));
  18550     let subpath = ppath.contains(packageLocation, unqualifiedPath);
  18551     if (subpath === null) {
  18552       throw makeError(
  18553         ErrorCode.INTERNAL,
  18554         `unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)`
  18555       );
  18556     }
  18557     if (!isRelativeRegexp.test(subpath))
  18558       subpath = `./${subpath}`;
  18559     let resolvedExport;
  18560     try {
  18561       resolvedExport = resolve(pkgJson, ppath.normalize(subpath), {
  18562         conditions,
  18563         unsafe: true
  18564       });
  18565     } catch (error) {
  18566       throw makeError(
  18567         ErrorCode.EXPORTS_RESOLUTION_FAILED,
  18568         error.message,
  18569         { unqualifiedPath: getPathForDisplay(unqualifiedPath), locator, pkgJson, subpath: getPathForDisplay(subpath), conditions },
  18570         `ERR_PACKAGE_PATH_NOT_EXPORTED`
  18571       );
  18572     }
  18573     if (typeof resolvedExport === `string`)
  18574       return ppath.join(packageLocation, resolvedExport);
  18575     return null;
  18576   }
  18577   function applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }) {
  18578     let stat;
  18579     try {
  18580       candidates.push(unqualifiedPath);
  18581       stat = opts.fakeFs.statSync(unqualifiedPath);
  18582     } catch (error) {
  18583     }
  18584     if (stat && !stat.isDirectory())
  18585       return opts.fakeFs.realpathSync(unqualifiedPath);
  18586     if (stat && stat.isDirectory()) {
  18587       let pkgJson;
  18588       try {
  18589         pkgJson = JSON.parse(opts.fakeFs.readFileSync(ppath.join(unqualifiedPath, Filename.manifest), `utf8`));
  18590       } catch (error) {
  18591       }
  18592       let nextUnqualifiedPath;
  18593       if (pkgJson && pkgJson.main)
  18594         nextUnqualifiedPath = ppath.resolve(unqualifiedPath, pkgJson.main);
  18595       if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) {
  18596         const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { extensions });
  18597         if (resolution !== null) {
  18598           return resolution;
  18599         }
  18600       }
  18601     }
  18602     for (let i = 0, length = extensions.length; i < length; i++) {
  18603       const candidateFile = `${unqualifiedPath}${extensions[i]}`;
  18604       candidates.push(candidateFile);
  18605       if (opts.fakeFs.existsSync(candidateFile)) {
  18606         return candidateFile;
  18607       }
  18608     }
  18609     if (stat && stat.isDirectory()) {
  18610       for (let i = 0, length = extensions.length; i < length; i++) {
  18611         const candidateFile = ppath.format({ dir: unqualifiedPath, name: `index`, ext: extensions[i] });
  18612         candidates.push(candidateFile);
  18613         if (opts.fakeFs.existsSync(candidateFile)) {
  18614           return candidateFile;
  18615         }
  18616       }
  18617     }
  18618     return null;
  18619   }
  18620   function makeFakeModule(path) {
  18621     const fakeModule = new require$$0.Module(path, null);
  18622     fakeModule.filename = path;
  18623     fakeModule.paths = require$$0.Module._nodeModulePaths(path);
  18624     return fakeModule;
  18625   }
  18626   function callNativeResolution(request, issuer) {
  18627     if (issuer.endsWith(`/`))
  18628       issuer = ppath.join(issuer, `internal.js`);
  18629     return require$$0.Module._resolveFilename(npath.fromPortablePath(request), makeFakeModule(npath.fromPortablePath(issuer)), false, { plugnplay: false });
  18630   }
  18631   function isPathIgnored(path) {
  18632     if (ignorePattern === null)
  18633       return false;
  18634     const subPath = ppath.contains(runtimeState.basePath, path);
  18635     if (subPath === null)
  18636       return false;
  18637     if (ignorePattern.test(subPath.replace(/\/$/, ``))) {
  18638       return true;
  18639     } else {
  18640       return false;
  18641     }
  18642   }
  18643   const VERSIONS = { std: 3, resolveVirtual: 1, getAllLocators: 1 };
  18644   const topLevel = topLevelLocator;
  18645   function getPackageInformation({ name, reference }) {
  18646     const packageInformationStore = packageRegistry.get(name);
  18647     if (!packageInformationStore)
  18648       return null;
  18649     const packageInformation = packageInformationStore.get(reference);
  18650     if (!packageInformation)
  18651       return null;
  18652     return packageInformation;
  18653   }
  18654   function findPackageDependents({ name, reference }) {
  18655     const dependents = [];
  18656     for (const [dependentName, packageInformationStore] of packageRegistry) {
  18657       if (dependentName === null)
  18658         continue;
  18659       for (const [dependentReference, packageInformation] of packageInformationStore) {
  18660         if (dependentReference === null)
  18661           continue;
  18662         const dependencyReference = packageInformation.packageDependencies.get(name);
  18663         if (dependencyReference !== reference)
  18664           continue;
  18665         if (dependentName === name && dependentReference === reference)
  18666           continue;
  18667         dependents.push({
  18668           name: dependentName,
  18669           reference: dependentReference
  18670         });
  18671       }
  18672     }
  18673     return dependents;
  18674   }
  18675   function findBrokenPeerDependencies(dependency, initialPackage) {
  18676     const brokenPackages = /* @__PURE__ */ new Map();
  18677     const alreadyVisited = /* @__PURE__ */ new Set();
  18678     const traversal = (currentPackage) => {
  18679       const identifier = JSON.stringify(currentPackage.name);
  18680       if (alreadyVisited.has(identifier))
  18681         return;
  18682       alreadyVisited.add(identifier);
  18683       const dependents = findPackageDependents(currentPackage);
  18684       for (const dependent of dependents) {
  18685         const dependentInformation = getPackageInformationSafe(dependent);
  18686         if (dependentInformation.packagePeers.has(dependency)) {
  18687           traversal(dependent);
  18688         } else {
  18689           let brokenSet = brokenPackages.get(dependent.name);
  18690           if (typeof brokenSet === `undefined`)
  18691             brokenPackages.set(dependent.name, brokenSet = /* @__PURE__ */ new Set());
  18692           brokenSet.add(dependent.reference);
  18693         }
  18694       }
  18695     };
  18696     traversal(initialPackage);
  18697     const brokenList = [];
  18698     for (const name of [...brokenPackages.keys()].sort())
  18699       for (const reference of [...brokenPackages.get(name)].sort())
  18700         brokenList.push({ name, reference });
  18701     return brokenList;
  18702   }
  18703   function findPackageLocator(location, { resolveIgnored = false, includeDiscardFromLookup = false } = {}) {
  18704     if (isPathIgnored(location) && !resolveIgnored)
  18705       return null;
  18706     let relativeLocation = ppath.relative(runtimeState.basePath, location);
  18707     if (!relativeLocation.match(isStrictRegExp))
  18708       relativeLocation = `./${relativeLocation}`;
  18709     if (!relativeLocation.endsWith(`/`))
  18710       relativeLocation = `${relativeLocation}/`;
  18711     do {
  18712       const entry = packageLocatorsByLocations.get(relativeLocation);
  18713       if (typeof entry === `undefined` || entry.discardFromLookup && !includeDiscardFromLookup) {
  18714         relativeLocation = relativeLocation.substring(0, relativeLocation.lastIndexOf(`/`, relativeLocation.length - 2) + 1);
  18715         continue;
  18716       }
  18717       return entry.locator;
  18718     } while (relativeLocation !== ``);
  18719     return null;
  18720   }
  18721   function tryReadFile(filePath) {
  18722     try {
  18723       return opts.fakeFs.readFileSync(npath.toPortablePath(filePath), `utf8`);
  18724     } catch (err) {
  18725       if (err.code === `ENOENT`)
  18726         return void 0;
  18727       throw err;
  18728     }
  18729   }
  18730   function resolveToUnqualified(request, issuer, { considerBuiltins = true } = {}) {
  18731     if (request.startsWith(`#`))
  18732       throw new Error(`resolveToUnqualified can not handle private import mappings`);
  18733     if (request === `pnpapi`)
  18734       return npath.toPortablePath(opts.pnpapiResolution);
  18735     if (considerBuiltins && isBuiltinModule(request))
  18736       return null;
  18737     const requestForDisplay = getPathForDisplay(request);
  18738     const issuerForDisplay = issuer && getPathForDisplay(issuer);
  18739     if (issuer && isPathIgnored(issuer)) {
  18740       if (!ppath.isAbsolute(request) || findPackageLocator(request) === null) {
  18741         const result = callNativeResolution(request, issuer);
  18742         if (result === false) {
  18743           throw makeError(
  18744             ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED,
  18745             `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp)
  18746 
  18747 Require request: "${requestForDisplay}"
  18748 Required by: ${issuerForDisplay}
  18749 `,
  18750             { request: requestForDisplay, issuer: issuerForDisplay }
  18751           );
  18752         }
  18753         return npath.toPortablePath(result);
  18754       }
  18755     }
  18756     let unqualifiedPath;
  18757     const dependencyNameMatch = request.match(pathRegExp);
  18758     if (!dependencyNameMatch) {
  18759       if (ppath.isAbsolute(request)) {
  18760         unqualifiedPath = ppath.normalize(request);
  18761       } else {
  18762         if (!issuer) {
  18763           throw makeError(
  18764             ErrorCode.API_ERROR,
  18765             `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`,
  18766             { request: requestForDisplay, issuer: issuerForDisplay }
  18767           );
  18768         }
  18769         const absoluteIssuer = ppath.resolve(issuer);
  18770         if (issuer.match(isDirRegExp)) {
  18771           unqualifiedPath = ppath.normalize(ppath.join(absoluteIssuer, request));
  18772         } else {
  18773           unqualifiedPath = ppath.normalize(ppath.join(ppath.dirname(absoluteIssuer), request));
  18774         }
  18775       }
  18776     } else {
  18777       if (!issuer) {
  18778         throw makeError(
  18779           ErrorCode.API_ERROR,
  18780           `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`,
  18781           { request: requestForDisplay, issuer: issuerForDisplay }
  18782         );
  18783       }
  18784       const [, dependencyName, subPath] = dependencyNameMatch;
  18785       const issuerLocator = findPackageLocator(issuer);
  18786       if (!issuerLocator) {
  18787         const result = callNativeResolution(request, issuer);
  18788         if (result === false) {
  18789           throw makeError(
  18790             ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED,
  18791             `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree).
  18792 
  18793 Require path: "${requestForDisplay}"
  18794 Required by: ${issuerForDisplay}
  18795 `,
  18796             { request: requestForDisplay, issuer: issuerForDisplay }
  18797           );
  18798         }
  18799         return npath.toPortablePath(result);
  18800       }
  18801       const issuerInformation = getPackageInformationSafe(issuerLocator);
  18802       let dependencyReference = issuerInformation.packageDependencies.get(dependencyName);
  18803       let fallbackReference = null;
  18804       if (dependencyReference == null) {
  18805         if (issuerLocator.name !== null) {
  18806           const exclusionEntry = runtimeState.fallbackExclusionList.get(issuerLocator.name);
  18807           const canUseFallbacks = !exclusionEntry || !exclusionEntry.has(issuerLocator.reference);
  18808           if (canUseFallbacks) {
  18809             for (let t = 0, T = fallbackLocators.length; t < T; ++t) {
  18810               const fallbackInformation = getPackageInformationSafe(fallbackLocators[t]);
  18811               const reference = fallbackInformation.packageDependencies.get(dependencyName);
  18812               if (reference == null)
  18813                 continue;
  18814               if (alwaysWarnOnFallback)
  18815                 fallbackReference = reference;
  18816               else
  18817                 dependencyReference = reference;
  18818               break;
  18819             }
  18820             if (runtimeState.enableTopLevelFallback) {
  18821               if (dependencyReference == null && fallbackReference === null) {
  18822                 const reference = runtimeState.fallbackPool.get(dependencyName);
  18823                 if (reference != null) {
  18824                   fallbackReference = reference;
  18825                 }
  18826               }
  18827             }
  18828           }
  18829         }
  18830       }
  18831       let error = null;
  18832       if (dependencyReference === null) {
  18833         if (isDependencyTreeRoot(issuerLocator)) {
  18834           error = makeError(
  18835             ErrorCode.MISSING_PEER_DEPENDENCY,
  18836             `Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.
  18837 
  18838 Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
  18839 Required by: ${issuerForDisplay}
  18840 `,
  18841             { request: requestForDisplay, issuer: issuerForDisplay, dependencyName }
  18842           );
  18843         } else {
  18844           const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator);
  18845           if (brokenAncestors.every((ancestor) => isDependencyTreeRoot(ancestor))) {
  18846             error = makeError(
  18847               ErrorCode.MISSING_PEER_DEPENDENCY,
  18848               `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.
  18849 
  18850 Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
  18851 Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})
  18852 ${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}
  18853 `).join(``)}
  18854 `,
  18855               { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors }
  18856             );
  18857           } else {
  18858             error = makeError(
  18859               ErrorCode.MISSING_PEER_DEPENDENCY,
  18860               `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.
  18861 
  18862 Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
  18863 Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})
  18864 
  18865 ${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}
  18866 `).join(``)}
  18867 `,
  18868               { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors }
  18869             );
  18870           }
  18871         }
  18872       } else if (dependencyReference === void 0) {
  18873         if (!considerBuiltins && isBuiltinModule(request)) {
  18874           if (isDependencyTreeRoot(issuerLocator)) {
  18875             error = makeError(
  18876               ErrorCode.UNDECLARED_DEPENDENCY,
  18877               `Your application tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound.
  18878 
  18879 Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
  18880 Required by: ${issuerForDisplay}
  18881 `,
  18882               { request: requestForDisplay, issuer: issuerForDisplay, dependencyName }
  18883             );
  18884           } else {
  18885             error = makeError(
  18886               ErrorCode.UNDECLARED_DEPENDENCY,
  18887               `${issuerLocator.name} tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in ${issuerLocator.name}'s dependencies, this makes the require call ambiguous and unsound.
  18888 
  18889 Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
  18890 Required by: ${issuerForDisplay}
  18891 `,
  18892               { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName }
  18893             );
  18894           }
  18895         } else {
  18896           if (isDependencyTreeRoot(issuerLocator)) {
  18897             error = makeError(
  18898               ErrorCode.UNDECLARED_DEPENDENCY,
  18899               `Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.
  18900 
  18901 Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
  18902 Required by: ${issuerForDisplay}
  18903 `,
  18904               { request: requestForDisplay, issuer: issuerForDisplay, dependencyName }
  18905             );
  18906           } else {
  18907             error = makeError(
  18908               ErrorCode.UNDECLARED_DEPENDENCY,
  18909               `${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.
  18910 
  18911 Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
  18912 Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})
  18913 `,
  18914               { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName }
  18915             );
  18916           }
  18917         }
  18918       }
  18919       if (dependencyReference == null) {
  18920         if (fallbackReference === null || error === null)
  18921           throw error || new Error(`Assertion failed: Expected an error to have been set`);
  18922         dependencyReference = fallbackReference;
  18923         const message = error.message.replace(/\n.*/g, ``);
  18924         error.message = message;
  18925         if (!emittedWarnings.has(message) && debugLevel !== 0) {
  18926           emittedWarnings.add(message);
  18927           process.emitWarning(error);
  18928         }
  18929       }
  18930       const dependencyLocator = Array.isArray(dependencyReference) ? { name: dependencyReference[0], reference: dependencyReference[1] } : { name: dependencyName, reference: dependencyReference };
  18931       const dependencyInformation = getPackageInformationSafe(dependencyLocator);
  18932       if (!dependencyInformation.packageLocation) {
  18933         throw makeError(
  18934           ErrorCode.MISSING_DEPENDENCY,
  18935           `A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.
  18936 
  18937 Required package: ${dependencyLocator.name}@${dependencyLocator.reference}${dependencyLocator.name !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
  18938 Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})
  18939 `,
  18940           { request: requestForDisplay, issuer: issuerForDisplay, dependencyLocator: Object.assign({}, dependencyLocator) }
  18941         );
  18942       }
  18943       const dependencyLocation = dependencyInformation.packageLocation;
  18944       if (subPath) {
  18945         unqualifiedPath = ppath.join(dependencyLocation, subPath);
  18946       } else {
  18947         unqualifiedPath = dependencyLocation;
  18948       }
  18949     }
  18950     return ppath.normalize(unqualifiedPath);
  18951   }
  18952   function resolveUnqualifiedExport(request, unqualifiedPath, conditions = defaultExportsConditions) {
  18953     if (isStrictRegExp.test(request))
  18954       return unqualifiedPath;
  18955     const unqualifiedExportPath = applyNodeExportsResolution(unqualifiedPath, conditions);
  18956     if (unqualifiedExportPath) {
  18957       return ppath.normalize(unqualifiedExportPath);
  18958     } else {
  18959       return unqualifiedPath;
  18960     }
  18961   }
  18962   function resolveUnqualified(unqualifiedPath, { extensions = Object.keys(require$$0.Module._extensions) } = {}) {
  18963     var _a, _b;
  18964     const candidates = [];
  18965     const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions });
  18966     if (qualifiedPath) {
  18967       return ppath.normalize(qualifiedPath);
  18968     } else {
  18969       reportRequiredFilesToWatchMode(candidates.map((candidate) => npath.fromPortablePath(candidate)));
  18970       const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath);
  18971       const containingPackage = findPackageLocator(unqualifiedPath);
  18972       if (containingPackage) {
  18973         const { packageLocation } = getPackageInformationSafe(containingPackage);
  18974         let exists = true;
  18975         try {
  18976           opts.fakeFs.accessSync(packageLocation);
  18977         } catch (err) {
  18978           if ((err == null ? void 0 : err.code) === `ENOENT`) {
  18979             exists = false;
  18980           } else {
  18981             const readableError = ((_b = (_a = err == null ? void 0 : err.message) != null ? _a : err) != null ? _b : `empty exception thrown`).replace(/^[A-Z]/, ($0) => $0.toLowerCase());
  18982             throw makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Required package exists but could not be accessed (${readableError}).
  18983 
  18984 Missing package: ${containingPackage.name}@${containingPackage.reference}
  18985 Expected package location: ${getPathForDisplay(packageLocation)}
  18986 `, { unqualifiedPath: unqualifiedPathForDisplay, extensions });
  18987           }
  18988         }
  18989         if (!exists) {
  18990           const errorMessage = packageLocation.includes(`/unplugged/`) ? `Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).` : `Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.`;
  18991           throw makeError(
  18992             ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED,
  18993             `${errorMessage}
  18994 
  18995 Missing package: ${containingPackage.name}@${containingPackage.reference}
  18996 Expected package location: ${getPathForDisplay(packageLocation)}
  18997 `,
  18998             { unqualifiedPath: unqualifiedPathForDisplay, extensions }
  18999           );
  19000         }
  19001       }
  19002       throw makeError(
  19003         ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED,
  19004         `Qualified path resolution failed: we looked for the following paths, but none could be accessed.
  19005 
  19006 Source path: ${unqualifiedPathForDisplay}
  19007 ${candidates.map((candidate) => `Not found: ${getPathForDisplay(candidate)}
  19008 `).join(``)}`,
  19009         { unqualifiedPath: unqualifiedPathForDisplay, extensions }
  19010       );
  19011     }
  19012   }
  19013   function resolvePrivateRequest(request, issuer, opts2) {
  19014     var _a;
  19015     if (!issuer)
  19016       throw new Error(`Assertion failed: An issuer is required to resolve private import mappings`);
  19017     const resolved = packageImportsResolve({
  19018       name: request,
  19019       base: url.pathToFileURL(npath.fromPortablePath(issuer)),
  19020       conditions: (_a = opts2.conditions) != null ? _a : defaultExportsConditions,
  19021       readFileSyncFn: tryReadFile
  19022     });
  19023     if (resolved instanceof URL) {
  19024       return resolveUnqualified(npath.toPortablePath(url.fileURLToPath(resolved)), { extensions: opts2.extensions });
  19025     } else {
  19026       if (resolved.startsWith(`#`))
  19027         throw new Error(`Mapping from one private import to another isn't allowed`);
  19028       return resolveRequest(resolved, issuer, opts2);
  19029     }
  19030   }
  19031   function resolveRequest(request, issuer, opts2 = {}) {
  19032     try {
  19033       if (request.startsWith(`#`))
  19034         return resolvePrivateRequest(request, issuer, opts2);
  19035       const { considerBuiltins, extensions, conditions } = opts2;
  19036       const unqualifiedPath = resolveToUnqualified(request, issuer, { considerBuiltins });
  19037       if (request === `pnpapi`)
  19038         return unqualifiedPath;
  19039       if (unqualifiedPath === null)
  19040         return null;
  19041       const isIssuerIgnored = () => issuer !== null ? isPathIgnored(issuer) : false;
  19042       const remappedPath = (!considerBuiltins || !isBuiltinModule(request)) && !isIssuerIgnored() ? resolveUnqualifiedExport(request, unqualifiedPath, conditions) : unqualifiedPath;
  19043       return resolveUnqualified(remappedPath, { extensions });
  19044     } catch (error) {
  19045       if (Object.prototype.hasOwnProperty.call(error, `pnpCode`))
  19046         Object.assign(error.data, { request: getPathForDisplay(request), issuer: issuer && getPathForDisplay(issuer) });
  19047       throw error;
  19048     }
  19049   }
  19050   function resolveVirtual(request) {
  19051     const normalized = ppath.normalize(request);
  19052     const resolved = VirtualFS.resolveVirtual(normalized);
  19053     return resolved !== normalized ? resolved : null;
  19054   }
  19055   return {
  19056     VERSIONS,
  19057     topLevel,
  19058     getLocator: (name, referencish) => {
  19059       if (Array.isArray(referencish)) {
  19060         return { name: referencish[0], reference: referencish[1] };
  19061       } else {
  19062         return { name, reference: referencish };
  19063       }
  19064     },
  19065     getDependencyTreeRoots: () => {
  19066       return [...runtimeState.dependencyTreeRoots];
  19067     },
  19068     getAllLocators() {
  19069       const locators = [];
  19070       for (const [name, entry] of packageRegistry)
  19071         for (const reference of entry.keys())
  19072           if (name !== null && reference !== null)
  19073             locators.push({ name, reference });
  19074       return locators;
  19075     },
  19076     getPackageInformation: (locator) => {
  19077       const info = getPackageInformation(locator);
  19078       if (info === null)
  19079         return null;
  19080       const packageLocation = npath.fromPortablePath(info.packageLocation);
  19081       const nativeInfo = { ...info, packageLocation };
  19082       return nativeInfo;
  19083     },
  19084     findPackageLocator: (path) => {
  19085       return findPackageLocator(npath.toPortablePath(path));
  19086     },
  19087     resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts2) => {
  19088       const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null;
  19089       const resolution = resolveToUnqualified(npath.toPortablePath(request), portableIssuer, opts2);
  19090       if (resolution === null)
  19091         return null;
  19092       return npath.fromPortablePath(resolution);
  19093     }),
  19094     resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts2) => {
  19095       return npath.fromPortablePath(resolveUnqualified(npath.toPortablePath(unqualifiedPath), opts2));
  19096     }),
  19097     resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts2) => {
  19098       const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null;
  19099       const resolution = resolveRequest(npath.toPortablePath(request), portableIssuer, opts2);
  19100       if (resolution === null)
  19101         return null;
  19102       return npath.fromPortablePath(resolution);
  19103     }),
  19104     resolveVirtual: maybeLog(`resolveVirtual`, (path) => {
  19105       const result = resolveVirtual(npath.toPortablePath(path));
  19106       if (result !== null) {
  19107         return npath.fromPortablePath(result);
  19108       } else {
  19109         return null;
  19110       }
  19111     })
  19112   };
  19113 }
  19114 
  19115 function makeManager(pnpapi, opts) {
  19116   const initialApiPath = npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null));
  19117   const initialApiStats = opts.fakeFs.statSync(npath.toPortablePath(initialApiPath));
  19118   const apiMetadata = /* @__PURE__ */ new Map([
  19119     [initialApiPath, {
  19120       cache: require$$0.Module._cache,
  19121       instance: pnpapi,
  19122       stats: initialApiStats,
  19123       lastRefreshCheck: Date.now()
  19124     }]
  19125   ]);
  19126   function loadApiInstance(pnpApiPath) {
  19127     const nativePath = npath.fromPortablePath(pnpApiPath);
  19128     const module = new require$$0.Module(nativePath, null);
  19129     module.load(nativePath);
  19130     return module.exports;
  19131   }
  19132   function refreshApiEntry(pnpApiPath, apiEntry) {
  19133     const timeNow = Date.now();
  19134     if (timeNow - apiEntry.lastRefreshCheck < 500)
  19135       return;
  19136     apiEntry.lastRefreshCheck = timeNow;
  19137     const stats = opts.fakeFs.statSync(pnpApiPath);
  19138     if (stats.mtime > apiEntry.stats.mtime) {
  19139       process.emitWarning(`[Warning] The runtime detected new informations in a PnP file; reloading the API instance (${npath.fromPortablePath(pnpApiPath)})`);
  19140       apiEntry.stats = stats;
  19141       apiEntry.instance = loadApiInstance(pnpApiPath);
  19142     }
  19143   }
  19144   function getApiEntry(pnpApiPath, refresh = false) {
  19145     let apiEntry = apiMetadata.get(pnpApiPath);
  19146     if (typeof apiEntry !== `undefined`) {
  19147       if (refresh) {
  19148         refreshApiEntry(pnpApiPath, apiEntry);
  19149       }
  19150     } else {
  19151       apiMetadata.set(pnpApiPath, apiEntry = {
  19152         cache: {},
  19153         instance: loadApiInstance(pnpApiPath),
  19154         stats: opts.fakeFs.statSync(pnpApiPath),
  19155         lastRefreshCheck: Date.now()
  19156       });
  19157     }
  19158     return apiEntry;
  19159   }
  19160   const findApiPathCache = /* @__PURE__ */ new Map();
  19161   function addToCacheAndReturn(start, end, target) {
  19162     if (target !== null)
  19163       target = VirtualFS.resolveVirtual(target);
  19164     let curr;
  19165     let next = start;
  19166     do {
  19167       curr = next;
  19168       findApiPathCache.set(curr, target);
  19169       next = ppath.dirname(curr);
  19170     } while (curr !== end);
  19171     return target;
  19172   }
  19173   function findApiPathFor(modulePath) {
  19174     let bestCandidate = null;
  19175     for (const [apiPath, apiEntry] of apiMetadata) {
  19176       const locator = apiEntry.instance.findPackageLocator(modulePath);
  19177       if (!locator)
  19178         continue;
  19179       if (apiMetadata.size === 1)
  19180         return apiPath;
  19181       const packageInformation = apiEntry.instance.getPackageInformation(locator);
  19182       if (!packageInformation)
  19183         throw new Error(`Assertion failed: Couldn't get package information for '${modulePath}'`);
  19184       if (!bestCandidate)
  19185         bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [] };
  19186       if (packageInformation.packageLocation === bestCandidate.packageLocation) {
  19187         bestCandidate.apiPaths.push(apiPath);
  19188       } else if (packageInformation.packageLocation.length > bestCandidate.packageLocation.length) {
  19189         bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [apiPath] };
  19190       }
  19191     }
  19192     if (bestCandidate) {
  19193       if (bestCandidate.apiPaths.length === 1)
  19194         return bestCandidate.apiPaths[0];
  19195       const controlSegment = bestCandidate.apiPaths.map((apiPath) => `  ${npath.fromPortablePath(apiPath)}`).join(`
  19196 `);
  19197       throw new Error(`Unable to locate pnpapi, the module '${modulePath}' is controlled by multiple pnpapi instances.
  19198 This is usually caused by using the global cache (enableGlobalCache: true)
  19199 
  19200 Controlled by:
  19201 ${controlSegment}
  19202 `);
  19203     }
  19204     const start = ppath.resolve(npath.toPortablePath(modulePath));
  19205     let curr;
  19206     let next = start;
  19207     do {
  19208       curr = next;
  19209       const cached = findApiPathCache.get(curr);
  19210       if (cached !== void 0)
  19211         return addToCacheAndReturn(start, curr, cached);
  19212       const cjsCandidate = ppath.join(curr, Filename.pnpCjs);
  19213       if (opts.fakeFs.existsSync(cjsCandidate) && opts.fakeFs.statSync(cjsCandidate).isFile())
  19214         return addToCacheAndReturn(start, curr, cjsCandidate);
  19215       const legacyCjsCandidate = ppath.join(curr, Filename.pnpJs);
  19216       if (opts.fakeFs.existsSync(legacyCjsCandidate) && opts.fakeFs.statSync(legacyCjsCandidate).isFile())
  19217         return addToCacheAndReturn(start, curr, legacyCjsCandidate);
  19218       next = ppath.dirname(curr);
  19219     } while (curr !== PortablePath.root);
  19220     return addToCacheAndReturn(start, curr, null);
  19221   }
  19222   function getApiPathFromParent(parent) {
  19223     if (parent == null)
  19224       return initialApiPath;
  19225     if (typeof parent.pnpApiPath === `undefined`) {
  19226       if (parent.filename !== null) {
  19227         return parent.pnpApiPath = findApiPathFor(parent.filename);
  19228       } else {
  19229         return initialApiPath;
  19230       }
  19231     }
  19232     if (parent.pnpApiPath !== null)
  19233       return parent.pnpApiPath;
  19234     return null;
  19235   }
  19236   return {
  19237     getApiPathFromParent,
  19238     findApiPathFor,
  19239     getApiEntry
  19240   };
  19241 }
  19242 
  19243 const localFs = { ...fs__default.default };
  19244 const nodeFs = new NodeFS(localFs);
  19245 const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState);
  19246 const defaultPnpapiResolution = __filename;
  19247 const defaultFsLayer = new VirtualFS({
  19248   baseFs: new ZipOpenFS({
  19249     baseFs: nodeFs,
  19250     libzip: () => getLibzipSync(),
  19251     maxOpenFiles: 80,
  19252     readOnlyArchives: true
  19253   })
  19254 });
  19255 class DynamicFS extends ProxiedFS {
  19256   constructor() {
  19257     super(ppath);
  19258     this.baseFs = defaultFsLayer;
  19259   }
  19260   mapToBase(p) {
  19261     return p;
  19262   }
  19263   mapFromBase(p) {
  19264     return p;
  19265   }
  19266 }
  19267 const dynamicFsLayer = new DynamicFS();
  19268 let manager;
  19269 const defaultApi = Object.assign(makeApi(defaultRuntimeState, {
  19270   fakeFs: dynamicFsLayer,
  19271   pnpapiResolution: defaultPnpapiResolution
  19272 }), {
  19273   makeApi: ({
  19274     basePath = void 0,
  19275     fakeFs = dynamicFsLayer,
  19276     pnpapiResolution = defaultPnpapiResolution,
  19277     ...rest
  19278   }) => {
  19279     const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState, basePath) : defaultRuntimeState;
  19280     return makeApi(apiRuntimeState, {
  19281       fakeFs,
  19282       pnpapiResolution,
  19283       ...rest
  19284     });
  19285   },
  19286   setup: (api) => {
  19287     applyPatch(api || defaultApi, {
  19288       fakeFs: defaultFsLayer,
  19289       manager
  19290     });
  19291     dynamicFsLayer.baseFs = new NodeFS(fs__default.default);
  19292   }
  19293 });
  19294 manager = makeManager(defaultApi, {
  19295   fakeFs: dynamicFsLayer
  19296 });
  19297 if (module.parent && module.parent.id === `internal/preload`) {
  19298   defaultApi.setup();
  19299   if (module.filename) {
  19300     delete require$$0__default.default._cache[module.filename];
  19301   }
  19302 }
  19303 if (process.mainModule === module) {
  19304   const reportError = (code, message, data) => {
  19305     process.stdout.write(`${JSON.stringify([{ code, message, data }, null])}
  19306 `);
  19307   };
  19308   const reportSuccess = (resolution) => {
  19309     process.stdout.write(`${JSON.stringify([null, resolution])}
  19310 `);
  19311   };
  19312   const processResolution = (request, issuer) => {
  19313     try {
  19314       reportSuccess(defaultApi.resolveRequest(request, issuer));
  19315     } catch (error) {
  19316       reportError(error.code, error.message, error.data);
  19317     }
  19318   };
  19319   const processRequest = (data) => {
  19320     try {
  19321       const [request, issuer] = JSON.parse(data);
  19322       processResolution(request, issuer);
  19323     } catch (error) {
  19324       reportError(`INVALID_JSON`, error.message, error.data);
  19325     }
  19326   };
  19327   if (process.argv.length > 2) {
  19328     if (process.argv.length !== 4) {
  19329       process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} <request> <issuer>
  19330 `);
  19331       process.exitCode = 64;
  19332     } else {
  19333       processResolution(process.argv[2], process.argv[3]);
  19334     }
  19335   } else {
  19336     let buffer = ``;
  19337     const decoder = new StringDecoder__default.default.StringDecoder();
  19338     process.stdin.on(`data`, (chunk) => {
  19339       buffer += decoder.write(chunk);
  19340       do {
  19341         const index = buffer.indexOf(`
  19342 `);
  19343         if (index === -1)
  19344           break;
  19345         const line = buffer.slice(0, index);
  19346         buffer = buffer.slice(index + 1);
  19347         processRequest(line);
  19348       } while (true);
  19349     });
  19350   }
  19351 }
  19352 
  19353 module.exports = defaultApi;