├── .eslintrc.json ├── .gitignore ├── .vscode ├── extensions.json └── launch.json ├── .vscodeignore ├── .yarnrc ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── build.zx.mjs ├── cmd ├── hub │ ├── fl │ │ └── fl.go │ ├── host.go │ └── hub.go └── root.go ├── extension.js ├── go.mod ├── go.sum ├── icon.png ├── jsconfig.json ├── lcode-uri.js ├── main.go ├── package.json ├── test ├── runTest.js └── suite │ ├── extension.test.js │ └── index.js └── yarn.lock /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": false, 4 | "commonjs": true, 5 | "es6": true, 6 | "node": true, 7 | "mocha": true 8 | }, 9 | "parserOptions": { 10 | "ecmaVersion": 2018, 11 | "ecmaFeatures": { 12 | "jsx": true 13 | }, 14 | "sourceType": "module" 15 | }, 16 | "rules": { 17 | "no-const-assign": "warn", 18 | "no-this-before-super": "warn", 19 | "no-undef": "warn", 20 | "no-unreachable": "warn", 21 | "no-unused-vars": "warn", 22 | "constructor-super": "warn", 23 | "valid-typeof": "warn" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | __debug_bin* 2 | node_modules 3 | .vscode-test/ 4 | *.vsix 5 | /bin/ -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "dbaeumer.vscode-eslint" 6 | ] 7 | } -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that launches the extension inside a new window 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | { 6 | "version": "0.2.0", 7 | "configurations": [ 8 | { 9 | "name": "Run Extension", 10 | "type": "extensionHost", 11 | "request": "launch", 12 | "args": [ 13 | "--extensionDevelopmentPath=${workspaceFolder}" 14 | ] 15 | }, 16 | { 17 | "name": "Extension Tests", 18 | "type": "extensionHost", 19 | "request": "launch", 20 | "args": [ 21 | "--extensionDevelopmentPath=${workspaceFolder}", 22 | "--extensionTestsPath=${workspaceFolder}/test/suite/index" 23 | ] 24 | }, 25 | { 26 | "name": "Launch Package", 27 | "type": "go", 28 | "request": "launch", 29 | "mode": "auto", 30 | "program": "${workspaceFolder}" 31 | } 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | .vscode/** 2 | .vscode-test/** 3 | test/** 4 | .gitignore 5 | .yarnrc 6 | vsc-extension-quickstart.md 7 | **/jsconfig.json 8 | **/*.map 9 | **/.eslintrc.json 10 | /hub/ 11 | /lcode/ -------------------------------------------------------------------------------- /.yarnrc: -------------------------------------------------------------------------------- 1 | --ignore-engines true -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to the "hub" extension will be documented in this file. 4 | 5 | Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. 6 | 7 | ## [Release] 8 | 9 | ### 2.0.9 - 2023-07-24 10 | 11 | - 更新插件文档 12 | 13 | ### 2.0.8 14 | 15 | - 修复: hostname 始终使用小写格式, 与 http 访问链接时域名自动转小写保持一致 16 | 17 | ### 2.0.7 18 | 19 | - 优化: yamux 错误日志输出由 stderr 更改为 stdout 20 | 21 | ### 2.0.6 22 | 23 | - fix: 跟随 go mod 版本变化 24 | 25 | ### 2.0.5 26 | 27 | - 同步 go mod 版本分支 28 | 29 | ### 2.0.4 30 | 31 | - 修复错误发布的问题 32 | 33 | ### 2.0.1 34 | 35 | - 修复服务二次启动导致的输出霸屏 36 | 37 | ### 2.0.0 38 | 39 | 替换掉 [lcode-hub](https://github.com/vscode-lcode/lcode-hub), 基于 `bash` 的 `webdav` 终究是不够可靠, 还是使用反向代理的模式稳定 40 | 41 | ### 1.0.6 42 | 43 | - 更新到 lcode-hub@v2.1.8. 修复编辑目标是文件夹是以/结尾时无法通过路径结尾不带/的路径访问 (因为 vscode 第一次访问是路径末尾不带/访问) 44 | 45 | ### 1.0.5 46 | 47 | - 更新到 lcode-hub@v2.1.7. 修复: namespace 含大写字母时无法访问的问题 48 | 49 | ### 1.0.4 50 | 51 | - 修复 Readme `ssh config` 错误配置说明 52 | 53 | ### 1.0.3 54 | 55 | - 更新到 lcode-hub@v2.1.6, 避免服务器上的恶意程序通过网络权限探测&获取权限外的文件 56 | 57 | ### 1.0.0 58 | 59 | ### 0.3.0 60 | 61 | - 新增: 支持浏览器打开 62 | - 63 | 64 | ### 0.2.0 65 | 66 | - change: now opened lcode dir is not appear in recent entry, beacuse we can not open it after the remote host exit lcode 67 | - add: support open file 68 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## 技术设计 2 | 3 | 想法: 通过 webdav 编辑远程主机上的文件 4 | 5 | 1. 远程主机 Agent 启动 webdav 服务. [`lcode`](https://github.com/vscode-lcode/lcode) 6 | 2. 本地主机使用 vscode 编辑 webdav. [`webdav`](https://github.com/vscode-lcode/webdav) 7 | 3. 本地主机通过 hub 连接 vscode 和 webdav 服务. [Hub](https://github.com/vscode-lcode/hub) 8 | 9 | ## 技术实现 10 | 11 | ### 连接 vscode 和 webdav 服务. Hub 12 | 13 | hub 仓库: 14 | 15 | - 启动 [`lcode-hub`](https://github.com/vscode-lcode/hub), 等待反弹 shell 的接入 16 | 17 | ### 启动 webdav 服务的反弹 shell 18 | 19 | - 通过`ssh -R 4349:127.0.0.1:4349`将本地主机的 Hub 服务端口 `4349` 转发到远程主机 `127.0.0.1:4349`, 20 | 这样就能建立起与 Hub 服务的连接 21 | - 通过 `lcode -c 127.0.0.1/4349` 连接本地主机的 [`lcode-hub`](https://github.com/vscode-lcode/hub), 提供 webdav 服务便于编辑文件 22 | 23 | ### 使用 vscode 编辑 webdav. 24 | 25 | webdav editor 仓库: 26 | 27 | 这一块其实可以使用现成插件[Remote Workspace](https://marketplace.visualstudio.com/items?itemName=Liveecommerce.vscode-remote-workspace)来完成, 但是该插件默认设置不支持中文出现乱码, 28 | 并且因为支持的协议太多所以不支持浏览器, 所以我新创建了一个插件满足项目所需 29 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | 635 | Copyright (C) 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | Copyright (C) 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . 675 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 简介 2 | 3 | 通过 webdav 协议使用本地 vscode 编辑服务器文件, 低内存占用 4 | 5 | # 如何使用 6 | 7 | ```sh 8 | ssh openwrt 9 | lcode 10 | # click the above link will open vscode to edit folder 11 | vscode://lcode.hub/openwrt.lo.shynome.com:4349/root 12 | ``` 13 | 14 | ## 视频演示 15 | 16 | 17 | 18 | # 配置 19 | 20 | ## VSCode 安装插件 21 | 22 | 插件地址: [lcode.hub](https://marketplace.visualstudio.com/items?itemName=lcode.hub) 23 | 24 | vscode 安装命令: 25 | 26 | ```sh 27 | ext install lcode.hub 28 | ``` 29 | 30 | ## 配置 ssh config 31 | 32 | 设置本地主机的 `~/.ssh/config` 文件, 为其添加以下内容 33 | 34 | ```conf 35 | # ~/.ssh/config 36 | # config for lcode 37 | Host * 38 | # 转发 hub 端口 39 | RemoteForward 127.0.0.1:4349 127.0.0.1:4349 40 | # 复用链接避免多次端口转发 41 | # 如果要修改连接配置的话, 使用-M选项创建新的连接不复用已有的主连接, 示例: ssh -MC user@host.com 42 | # 复用链接会影响文件传输, 因为流量限制是对每一条tcp连接限制的, 所以传输文件时使用-M新开一个链接就好 43 | ControlMaster auto 44 | ControlPath /tmp/ssh_control_socket_%h_%p_%r 45 | # 启动 lcode-hub. (注: 你也可以在其他地方启动 lcode-hub) 46 | LocalCommand $(ls -t ~/.vscode/extensions/lcode.hub-2.*/bin/lcode-hub | head -n 1) >/dev/null & 47 | PermitLocalCommand yes 48 | ``` 49 | 50 | ## 服务器端安装 lcode 51 | 52 | ```sh 53 | wget -O /usr/local/bin/lcode https://github.com/vscode-lcode/lcode/releases/latest/download/lcode-linux-amd64 54 | chmod +x /usr/local/bin/lcode 55 | # 此时应该配置完成了 56 | lcode 57 | ``` 58 | 59 | # Todo 60 | 61 | - [x] 添加 ICON 62 | - [ ] 支持 [`vscode.dev`](https://vscode.dev) 编辑. 只要本地主机运行 [`lcode-hub`](https://github.com/vscode-lcode/lcode) 服务就行 63 | - [ ] 修改[维基百科常用端口页面](https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers)表明 `4349` 端口已被 `vscode-lcode` 使用. (需要帮助, vps 主机 ip 不可编辑维基百科) 64 | 65 | ## 如何帮助这个项目 66 | 67 | - 提出问题 [Create Issue](https://github.com/vscode-lcode/hub/issues), 让此项目更加完善 68 | - 点击查看 [CONTRIBUTING.md](./CONTRIBUTING.md) 查看技术设计以便对此项目进行改进 69 | -------------------------------------------------------------------------------- /build.zx.mjs: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zx 2 | 3 | /**@typedef {import("zx/globals")} */ 4 | 5 | let targets = [ 6 | ["windows", "amd64", "win32-x64"], 7 | // ["windows", "386", "win32-ia32"], 8 | ["windows", "arm64", "win32-arm64"], 9 | ["linux", "amd64", "linux-x64"], 10 | ["linux", "arm64", "linux-arm64"], 11 | // ["linux", "armhf", "linux-armhf"], 12 | ["linux", "amd64", "alpine-x64"], 13 | ["linux", "arm64", "alpine-arm64"], 14 | ["darwin", "amd64", "darwin-x64"], 15 | ["darwin", "arm64", "darwin-arm64"], 16 | ]; 17 | 18 | await $`rm -rf *.vsix`; 19 | 20 | for (let index = 0; index < targets.length; index++) { 21 | let t = targets[index]; 22 | console.log(`[${index + 1}/${targets.length}] progress`); 23 | await $`GOOS=${t[0]} GOARCH=${t[1]} go build -ldflags="-X 'main.Version=$(git describe --tags --always --dirty)' -s -w" -o bin/lcode-hub .`; 24 | await $`yarn vsce package -t ${t[2]}`; 25 | } 26 | 27 | // 如何发布: 28 | // yarn vsce publish -i *.vsix 29 | -------------------------------------------------------------------------------- /cmd/hub/fl/fl.go: -------------------------------------------------------------------------------- 1 | package fl 2 | 3 | import ( 4 | "errors" 5 | "runtime" 6 | "time" 7 | "unsafe" 8 | 9 | "golang.org/x/net/webdav" 10 | ) 11 | 12 | type LockSystem struct { 13 | webdav.LockSystem 14 | } 15 | 16 | func New(fl webdav.LockSystem) *LockSystem { 17 | return &LockSystem{ 18 | LockSystem: fl, 19 | } 20 | } 21 | 22 | func (fl *LockSystem) Confirm(params ConfirmParams, reply *uintptr) error { 23 | release, err := fl.LockSystem.Confirm(params.Now, params.Name0, params.Name0, params.Conditions...) 24 | if err != nil { 25 | return err 26 | } 27 | 28 | var pinner runtime.Pinner 29 | callback := func() { 30 | defer pinner.Unpin() 31 | release() 32 | } 33 | pinner.Pin(&callback) 34 | 35 | ptr := uintptr(unsafe.Pointer(&callback)) 36 | *reply = ptr 37 | 38 | return nil 39 | } 40 | 41 | var ErrNotCallback = errors.New("the uintptr is not callback") 42 | 43 | func (fl *LockSystem) ConfirmCallback(ptr uintptr, reply *bool) error { 44 | // 这里可能 panic, 但我不知道如何防止 45 | callback := *(*func())(unsafe.Pointer(ptr)) 46 | callback() 47 | *reply = true 48 | return nil 49 | } 50 | 51 | type ConfirmParams struct { 52 | Now time.Time 53 | Name0 string 54 | Name1 string 55 | Conditions []webdav.Condition 56 | } 57 | 58 | func (fl *LockSystem) Create(params CreateParams, reply *string) error { 59 | token, err := fl.LockSystem.Create(params.Now, params.Details) 60 | if err != nil { 61 | return err 62 | } 63 | *reply = token 64 | return nil 65 | } 66 | 67 | type CreateParams struct { 68 | Now time.Time 69 | Details webdav.LockDetails 70 | } 71 | 72 | func (fl *LockSystem) Refresh(params RefreshParams, reply *webdav.LockDetails) error { 73 | ld, err := fl.LockSystem.Refresh(params.Now, params.Token, params.Duration) 74 | if err != nil { 75 | return err 76 | } 77 | *reply = ld 78 | return nil 79 | } 80 | 81 | type RefreshParams struct { 82 | Now time.Time 83 | Token string 84 | Duration time.Duration 85 | } 86 | 87 | func (fl *LockSystem) Unlock(params UnlockParams, reply *bool) error { 88 | err := fl.LockSystem.Unlock(params.Now, params.Token) 89 | if err != nil { 90 | return err 91 | } 92 | *reply = true 93 | return nil 94 | } 95 | 96 | type UnlockParams struct { 97 | Now time.Time 98 | Token string 99 | } 100 | -------------------------------------------------------------------------------- /cmd/hub/host.go: -------------------------------------------------------------------------------- 1 | package hub 2 | 3 | import ( 4 | "net/http" 5 | "net/rpc" 6 | "strings" 7 | "sync" 8 | 9 | "github.com/google/uuid" 10 | "github.com/vscode-lcode/hub/v2/cmd/hub/fl" 11 | "golang.org/x/net/webdav" 12 | ) 13 | 14 | type Host struct { 15 | locker sync.RWMutex 16 | Name string 17 | Hash string 18 | sessions map[string]*Session 19 | fileLocker webdav.LockSystem 20 | flServer *rpc.Server 21 | } 22 | 23 | func NewHost(name, hash string) *Host { 24 | ls := webdav.NewMemLS() 25 | 26 | srv := rpc.NewServer() 27 | fls := fl.New(ls) 28 | srv.Register(fls) 29 | 30 | host := &Host{ 31 | Name: name, 32 | Hash: hash, 33 | sessions: map[string]*Session{}, 34 | fileLocker: ls, 35 | flServer: srv, 36 | } 37 | return host 38 | } 39 | 40 | var _ http.Handler = (*Host)(nil) 41 | 42 | func (hhost *Host) ServeHTTP(w http.ResponseWriter, r *http.Request) { 43 | sess := hhost.getAllowedSession(r.URL.Path) 44 | if sess == nil { 45 | http.Error(w, "no session allow this path", http.StatusForbidden) 46 | return 47 | } 48 | sess.ReverseProxy.ServeHTTP(w, r) 49 | } 50 | 51 | func (hhost *Host) getAllowedSession(path string) *Session { 52 | hhost.locker.RLock() 53 | defer hhost.locker.RUnlock() 54 | for _, sess := range hhost.sessions { 55 | for _, allow := range sess.Allow { 56 | if strings.HasPrefix(path, allow) { 57 | return sess 58 | } 59 | } 60 | } 61 | return nil 62 | } 63 | 64 | type Session struct { 65 | ID string 66 | ReverseProxy http.Handler 67 | Allow []string 68 | } 69 | 70 | func (hub *Hub) SetHost(name string, hash string) *Host { 71 | hub.locker.Lock() 72 | defer hub.locker.Unlock() 73 | host, ok := hub.hosts[name] 74 | if ok && host != nil { 75 | if host.Hash != hash { 76 | return nil 77 | } 78 | return host 79 | } 80 | host = NewHost(name, hash) 81 | hub.hosts[name] = host 82 | return host 83 | } 84 | 85 | func (hhost *Host) NewSession(rp http.Handler, allow []string) *Session { 86 | hhost.locker.Lock() 87 | defer hhost.locker.Unlock() 88 | sess := &Session{ 89 | ReverseProxy: rp, 90 | Allow: allow, 91 | } 92 | for range 3 { 93 | tid := uuid.NewString() 94 | _, ok := hhost.sessions[tid] 95 | if !ok { 96 | sess.ID = tid 97 | break 98 | } 99 | } 100 | if sess.ID == "" { 101 | return nil 102 | } 103 | hhost.sessions[sess.ID] = sess 104 | return sess 105 | } 106 | 107 | func (hhost *Host) FreeSession(sess *Session) { 108 | hhost.locker.Lock() 109 | defer hhost.locker.Unlock() 110 | 111 | delete(hhost.sessions, sess.ID) 112 | } 113 | -------------------------------------------------------------------------------- /cmd/hub/hub.go: -------------------------------------------------------------------------------- 1 | package hub 2 | 3 | import ( 4 | "context" 5 | "fmt" 6 | "net" 7 | "net/http" 8 | "net/http/httputil" 9 | "net/url" 10 | "os" 11 | "strings" 12 | "sync" 13 | 14 | "github.com/hashicorp/yamux" 15 | "github.com/shynome/err0" 16 | "github.com/shynome/err0/try" 17 | "nhooyr.io/websocket" 18 | "nhooyr.io/websocket/wsjson" 19 | ) 20 | 21 | type Hub struct { 22 | locker sync.RWMutex 23 | hosts map[string]*Host 24 | hostTpl string 25 | domain string 26 | } 27 | 28 | func New(domain, hostTpl string) *Hub { 29 | return &Hub{ 30 | hosts: map[string]*Host{}, 31 | hostTpl: hostTpl, 32 | domain: domain, 33 | } 34 | } 35 | 36 | var _ http.Handler = (*Hub)(nil) 37 | 38 | func (hub *Hub) ServeHTTP(w http.ResponseWriter, r *http.Request) { 39 | hostname := strings.SplitN(r.Host, ":", 2)[0] 40 | if strings.HasSuffix(hostname, hub.domain) { 41 | hub.locker.RLock() 42 | defer hub.locker.RUnlock() 43 | hhost, ok := hub.hosts[r.Host] 44 | if !ok || hhost == nil { 45 | http.Error(w, "host not found", http.StatusNotFound) 46 | return 47 | } 48 | hhost.ServeHTTP(w, r) 49 | return 50 | } 51 | hub.handleLink(w, r) 52 | } 53 | 54 | func (hub *Hub) handleLink(w http.ResponseWriter, r *http.Request) (err error) { 55 | defer err0.Then(&err, nil, nil) 56 | 57 | protocols := strings.SplitN(r.Header.Get("Sec-Websocket-Protocol"), ",", 4) 58 | if len(protocols) < 3 { 59 | http.Error(w, "can't find hostname and mac hash", http.StatusBadRequest) 60 | return 61 | } 62 | hostname, hash := protocols[1], protocols[2] 63 | hostname = strings.ToLower(hostname) 64 | host := fmt.Sprintf(hub.hostTpl, hostname) 65 | hhost := hub.SetHost(host, hash) 66 | if hhost == nil { 67 | http.Error(w, "init host failed", http.StatusUnauthorized) 68 | return 69 | } 70 | defer hub.freeHostIfNoSessions(hhost) 71 | 72 | h := w.Header() 73 | h.Set("X-Webdav-Host", host) 74 | 75 | socket := try.To1(websocket.Accept(w, r, &websocket.AcceptOptions{ 76 | Subprotocols: []string{"webdav"}, 77 | })) 78 | defer socket.Close(websocket.StatusAbnormalClosure, "") 79 | 80 | ctx := r.Context() 81 | 82 | var allow []string 83 | try.To(wsjson.Read(ctx, socket, &allow)) 84 | 85 | conn := websocket.NetConn(ctx, socket, websocket.MessageBinary) 86 | 87 | yc := yamux.DefaultConfig() 88 | yc.LogOutput = os.Stdout 89 | sess := try.To1(yamux.Server(conn, yc)) 90 | defer sess.Close() 91 | 92 | proxy := httputil.NewSingleHostReverseProxy(fakeTarget) 93 | proxy.Transport = &http.Transport{ 94 | DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) { 95 | return sess.Open() 96 | }, 97 | } 98 | 99 | session := hhost.NewSession(proxy, allow) 100 | if session == nil { 101 | socket.Close(websocket.StatusAbnormalClosure, "init session failed") 102 | return 103 | } 104 | defer hhost.FreeSession(session) 105 | 106 | go func() { 107 | conn := try.To1(sess.Accept()) 108 | defer conn.Close() 109 | hhost.flServer.ServeConn(conn) 110 | }() 111 | 112 | <-sess.CloseChan() 113 | return nil 114 | } 115 | 116 | var fakeTarget, _ = url.Parse("http://yamux.proxy") 117 | 118 | func (hub *Hub) freeHostIfNoSessions(host *Host) { 119 | host.locker.RLock() 120 | defer host.locker.RUnlock() 121 | if len(host.sessions) > 0 { 122 | return 123 | } 124 | hub.locker.Lock() 125 | defer hub.locker.Unlock() 126 | delete(hub.hosts, host.Name) 127 | } 128 | -------------------------------------------------------------------------------- /cmd/root.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright © 2024 shynome 3 | */ 4 | package cmd 5 | 6 | import ( 7 | "fmt" 8 | "net" 9 | "net/http" 10 | "os" 11 | "time" 12 | 13 | "github.com/shynome/err0/try" 14 | "github.com/spf13/cobra" 15 | "github.com/vscode-lcode/hub/v2/cmd/hub" 16 | ) 17 | 18 | var args struct { 19 | addr string 20 | domain string 21 | } 22 | 23 | // rootCmd represents the base command when called without any subcommands 24 | var rootCmd = &cobra.Command{ 25 | Use: "lcode-hub", 26 | Short: "", 27 | Long: ``, 28 | Run: func(cmd *cobra.Command, _args []string) { 29 | if _, err := net.DialTimeout("tcp", args.addr, time.Second); err == nil { 30 | fmt.Println("服务已启动") 31 | return 32 | } 33 | l := try.To1(net.Listen("tcp", args.addr)) 34 | port := l.Addr().(*net.TCPAddr).Port 35 | hostTpl := fmt.Sprintf("%%s.%s:%d", args.domain, port) 36 | hub := hub.New(args.domain, hostTpl) 37 | http.Serve(l, hub) 38 | }, 39 | } 40 | 41 | // Execute adds all child commands to the root command and sets flags appropriately. 42 | // This is called by main.main(). It only needs to happen once to the rootCmd. 43 | func Execute(version string) { 44 | rootCmd.Version = version 45 | err := rootCmd.Execute() 46 | if err != nil { 47 | os.Exit(1) 48 | } 49 | } 50 | 51 | func init() { 52 | // Here you will define your flags and configuration settings. 53 | // Cobra supports persistent flags, which, if defined here, 54 | // will be global for your application. 55 | 56 | // rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $HOME/.hub.yaml)") 57 | 58 | // Cobra also supports local flags, which will only run 59 | // when this action is called directly. 60 | rootCmd.Flags().StringVarP(&args.addr, "listen", "l", "127.0.0.1:4349", "lcode-hub listen addr") 61 | rootCmd.Flags().StringVar(&args.domain, "domain", "lo.shynome.com", "webdav domain") 62 | } 63 | -------------------------------------------------------------------------------- /extension.js: -------------------------------------------------------------------------------- 1 | const vscode = require("vscode"); 2 | const { UriHandler } = require("./lcode-uri"); 3 | 4 | /** 5 | * @param {vscode.ExtensionContext} context 6 | */ 7 | async function activate(context) { 8 | // const hub = new Hub(); 9 | // context.subscriptions.push(hub); 10 | 11 | // const hubInit = hub.init(); 12 | const hubInit = Promise.resolve(0); 13 | const lcodeUriHandler = new UriHandler(hubInit); 14 | context.subscriptions.push(vscode.window.registerUriHandler(lcodeUriHandler)); 15 | 16 | // lcodeUriHandler.preTask.then(() => { 17 | // const opener = new Opener(lcodeUriHandler); 18 | // context.subscriptions.push(opener); 19 | // }); 20 | } 21 | 22 | // this method is called when your extension is deactivated 23 | function deactivate() {} 24 | 25 | module.exports = { 26 | activate, 27 | deactivate, 28 | }; 29 | -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/vscode-lcode/hub/v2 2 | 3 | go 1.22.5 4 | 5 | require ( 6 | github.com/google/uuid v1.6.0 7 | github.com/hashicorp/yamux v0.1.1 8 | github.com/shynome/err0 v0.2.1 9 | github.com/spf13/cobra v1.8.1 10 | golang.org/x/net v0.27.0 11 | nhooyr.io/websocket v1.8.11 12 | ) 13 | 14 | require ( 15 | github.com/inconshreveable/mousetrap v1.1.0 // indirect 16 | github.com/spf13/pflag v1.0.5 // indirect 17 | ) 18 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= 2 | github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= 3 | github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= 4 | github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= 5 | github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= 6 | github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= 7 | github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= 8 | github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= 9 | github.com/shynome/err0 v0.2.1 h1:pzSF+IDP59C94KVQb+zg/ZU8DC1CrIzJNjFQS3XjEvA= 10 | github.com/shynome/err0 v0.2.1/go.mod h1:n5YVOAf8QSa8LMWWFKCXoHQjAjwjywKFiORV/btN3Aw= 11 | github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= 12 | github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= 13 | github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= 14 | github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= 15 | golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= 16 | golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= 17 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 18 | gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= 19 | nhooyr.io/websocket v1.8.11 h1:f/qXNc2/3DpoSZkHt1DQu6rj4zGC8JmkkLkWss0MgN0= 20 | nhooyr.io/websocket v1.8.11/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c= 21 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vscode-lcode/hub/501b97c51d9a48353552f20073195e2742bd5001/icon.png -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "ES2020", 5 | "checkJs": true, /* Typecheck .js files. */ 6 | "lib": [ 7 | "ES2020" 8 | ] 9 | }, 10 | "exclude": [ 11 | "node_modules" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /lcode-uri.js: -------------------------------------------------------------------------------- 1 | const vscode = require("vscode"); 2 | 3 | /** 4 | * @implements {vscode.UriHandler} 5 | */ 6 | class UriHandler { 7 | /** 8 | * @param {Promise} preTask 9 | */ 10 | constructor(preTask) { 11 | /** 12 | * @type {Promise} 13 | */ 14 | this.preTask = preTask; 15 | } 16 | /** 17 | * @param {vscode.Uri} uri 18 | */ 19 | async handleUri(uri) { 20 | let u = getWebdavUri(uri); 21 | if (uri.fragment === "file") { 22 | require("child_process").execSync(`code --file-uri ${u}`); 23 | return; 24 | } 25 | 26 | uri = vscode.Uri.parse(u); 27 | await this.preTask; 28 | const opt = {}; 29 | opt.forceNewWindow = true; 30 | opt.noRecentEntry = true; 31 | 32 | await vscode.commands.executeCommand("vscode.openFolder", uri, opt); 33 | } 34 | } 35 | 36 | /** 37 | * @param {vscode.Uri} uri 38 | * @returns {string} 39 | */ 40 | function getWebdavUri(uri) { 41 | let u = `webdav://${uri.path.slice(1)}`; 42 | if (uri.query) u += "?" + uri.query; 43 | if (uri.fragment) u += "#" + uri.fragment; 44 | return u; 45 | } 46 | 47 | module.exports = { 48 | UriHandler, 49 | getWebdavUri, 50 | }; 51 | -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright © 2024 shynome 3 | */ 4 | package main 5 | 6 | import "github.com/vscode-lcode/hub/v2/cmd" 7 | 8 | var Version = "dev" 9 | 10 | func main() { 11 | cmd.Execute(Version) 12 | } 13 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hub", 3 | "publisher": "lcode", 4 | "displayName": "lcode hub", 5 | "icon": "icon.png", 6 | "description": "", 7 | "version": "2.0.9", 8 | "engines": { 9 | "vscode": "^1.68.0" 10 | }, 11 | "categories": [ 12 | "Other" 13 | ], 14 | "activationEvents": [ 15 | "onUri" 16 | ], 17 | "main": "./extension.js", 18 | "repository": { 19 | "url": "https://github.com/vscode-lcode/hub" 20 | }, 21 | "scripts": { 22 | "lint": "eslint .", 23 | "pretest": "yarn run lint", 24 | "test": "node ./test/runTest.js" 25 | }, 26 | "devDependencies": { 27 | "@types/glob": "^7.2.0", 28 | "@types/mocha": "^9.1.1", 29 | "@types/node": "^18.11.18", 30 | "@types/vscode": "^1.68.0", 31 | "@vscode/test-electron": "^2.1.3", 32 | "@vscode/vsce": "^2.31.1", 33 | "eslint": "^8.16.0", 34 | "glob": "^8.0.3", 35 | "mocha": "^10.0.0", 36 | "typescript": "^4.7.2", 37 | "zx": "^7.1.1" 38 | }, 39 | "dependencies": {}, 40 | "extensionPack": [ 41 | "lcode.lwebdav" 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /test/runTest.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | const { runTests } = require('@vscode/test-electron'); 4 | 5 | async function main() { 6 | try { 7 | // The folder containing the Extension Manifest package.json 8 | // Passed to `--extensionDevelopmentPath` 9 | const extensionDevelopmentPath = path.resolve(__dirname, '../'); 10 | 11 | // The path to the extension test script 12 | // Passed to --extensionTestsPath 13 | const extensionTestsPath = path.resolve(__dirname, './suite/index'); 14 | 15 | // Download VS Code, unzip it and run the integration test 16 | await runTests({ extensionDevelopmentPath, extensionTestsPath }); 17 | } catch (err) { 18 | console.error('Failed to run tests'); 19 | process.exit(1); 20 | } 21 | } 22 | 23 | main(); 24 | -------------------------------------------------------------------------------- /test/suite/extension.test.js: -------------------------------------------------------------------------------- 1 | const assert = require("assert"); 2 | 3 | // You can import and use all API from the 'vscode' module 4 | // as well as import your extension to test it 5 | const vscode = require("vscode"); 6 | const { getWebdavUri } = require("../../lcode-uri"); 7 | 8 | suite("Extension Test Suite", () => { 9 | vscode.window.showInformationMessage("Start all tests."); 10 | test("Sample test", () => { 11 | const uri = vscode.Uri.parse( 12 | "vscode://lcode.hub/3-openwrt.lo.shynome.com:4349/root" 13 | ); 14 | const wlink = getWebdavUri(uri); 15 | assert.equal( 16 | wlink, 17 | "webdav://3-openwrt.lo.shynome.com:4349/root" 18 | ); 19 | }); 20 | }); 21 | -------------------------------------------------------------------------------- /test/suite/index.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const Mocha = require('mocha'); 3 | const glob = require('glob'); 4 | 5 | function run() { 6 | // Create the mocha test 7 | const mocha = new Mocha({ 8 | ui: 'tdd', 9 | color: true 10 | }); 11 | 12 | const testsRoot = path.resolve(__dirname, '..'); 13 | 14 | return new Promise((c, e) => { 15 | glob('**/**.test.js', { cwd: testsRoot }, (err, files) => { 16 | if (err) { 17 | return e(err); 18 | } 19 | 20 | // Add files to the test suite 21 | files.forEach(f => mocha.addFile(path.resolve(testsRoot, f))); 22 | 23 | try { 24 | // Run the mocha test 25 | mocha.run(failures => { 26 | if (failures > 0) { 27 | e(new Error(`${failures} tests failed.`)); 28 | } else { 29 | c(); 30 | } 31 | }); 32 | } catch (err) { 33 | console.error(err); 34 | e(err); 35 | } 36 | }); 37 | }); 38 | } 39 | 40 | module.exports = { 41 | run 42 | }; 43 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@azure/abort-controller@^1.0.0": 6 | version "1.1.0" 7 | resolved "https://registry.yarnpkg.com/@azure/abort-controller/-/abort-controller-1.1.0.tgz#788ee78457a55af8a1ad342acb182383d2119249" 8 | integrity sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw== 9 | dependencies: 10 | tslib "^2.2.0" 11 | 12 | "@azure/abort-controller@^2.0.0": 13 | version "2.1.2" 14 | resolved "https://registry.yarnpkg.com/@azure/abort-controller/-/abort-controller-2.1.2.tgz#42fe0ccab23841d9905812c58f1082d27784566d" 15 | integrity sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA== 16 | dependencies: 17 | tslib "^2.6.2" 18 | 19 | "@azure/core-auth@^1.4.0", "@azure/core-auth@^1.5.0": 20 | version "1.7.2" 21 | resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.7.2.tgz#558b7cb7dd12b00beec07ae5df5907d74df1ebd9" 22 | integrity sha512-Igm/S3fDYmnMq1uKS38Ae1/m37B3zigdlZw+kocwEhh5GjyKjPrXKO2J6rzpC1wAxrNil/jX9BJRqBshyjnF3g== 23 | dependencies: 24 | "@azure/abort-controller" "^2.0.0" 25 | "@azure/core-util" "^1.1.0" 26 | tslib "^2.6.2" 27 | 28 | "@azure/core-client@^1.9.2": 29 | version "1.9.2" 30 | resolved "https://registry.yarnpkg.com/@azure/core-client/-/core-client-1.9.2.tgz#6fc69cee2816883ab6c5cdd653ee4f2ff9774f74" 31 | integrity sha512-kRdry/rav3fUKHl/aDLd/pDLcB+4pOFwPPTVEExuMyaI5r+JBbMWqRbCY1pn5BniDaU3lRxO9eaQ1AmSMehl/w== 32 | dependencies: 33 | "@azure/abort-controller" "^2.0.0" 34 | "@azure/core-auth" "^1.4.0" 35 | "@azure/core-rest-pipeline" "^1.9.1" 36 | "@azure/core-tracing" "^1.0.0" 37 | "@azure/core-util" "^1.6.1" 38 | "@azure/logger" "^1.0.0" 39 | tslib "^2.6.2" 40 | 41 | "@azure/core-rest-pipeline@^1.1.0", "@azure/core-rest-pipeline@^1.9.1": 42 | version "1.16.2" 43 | resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.16.2.tgz#3f71b09e45a65926cc598478b4f1bcd0fe67bf4b" 44 | integrity sha512-Hnhm/PG9/SQ07JJyLDv3l9Qr8V3xgAe1hFoBYzt6LaalMxfL/ZqFaZf/bz5VN3pMcleCPwl8ivlS2Fjxq/iC8Q== 45 | dependencies: 46 | "@azure/abort-controller" "^2.0.0" 47 | "@azure/core-auth" "^1.4.0" 48 | "@azure/core-tracing" "^1.0.1" 49 | "@azure/core-util" "^1.9.0" 50 | "@azure/logger" "^1.0.0" 51 | http-proxy-agent "^7.0.0" 52 | https-proxy-agent "^7.0.0" 53 | tslib "^2.6.2" 54 | 55 | "@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1": 56 | version "1.1.2" 57 | resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.1.2.tgz#065dab4e093fb61899988a1cdbc827d9ad90b4ee" 58 | integrity sha512-dawW9ifvWAWmUm9/h+/UQ2jrdvjCJ7VJEuCJ6XVNudzcOwm53BFZH4Q845vjfgoUAM8ZxokvVNxNxAITc502YA== 59 | dependencies: 60 | tslib "^2.6.2" 61 | 62 | "@azure/core-util@^1.1.0", "@azure/core-util@^1.3.0", "@azure/core-util@^1.6.1", "@azure/core-util@^1.9.0": 63 | version "1.9.1" 64 | resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.9.1.tgz#05ea9505c5cdf29c55ccf99a648c66ddd678590b" 65 | integrity sha512-OLsq0etbHO1MA7j6FouXFghuHrAFGk+5C1imcpQ2e+0oZhYF07WLA+NW2Vqs70R7d+zOAWiWM3tbE1sXcDN66g== 66 | dependencies: 67 | "@azure/abort-controller" "^2.0.0" 68 | tslib "^2.6.2" 69 | 70 | "@azure/identity@^4.1.0": 71 | version "4.4.0" 72 | resolved "https://registry.yarnpkg.com/@azure/identity/-/identity-4.4.0.tgz#f2743e63d346000a70b0eed5a3b397dedd3984a7" 73 | integrity sha512-oG6oFNMxUuoivYg/ElyZWVSZfw42JQyHbrp+lR7VJ1BYWsGzt34NwyDw3miPp1QI7Qm5+4KAd76wGsbHQmkpkg== 74 | dependencies: 75 | "@azure/abort-controller" "^1.0.0" 76 | "@azure/core-auth" "^1.5.0" 77 | "@azure/core-client" "^1.9.2" 78 | "@azure/core-rest-pipeline" "^1.1.0" 79 | "@azure/core-tracing" "^1.0.0" 80 | "@azure/core-util" "^1.3.0" 81 | "@azure/logger" "^1.0.0" 82 | "@azure/msal-browser" "^3.14.0" 83 | "@azure/msal-node" "^2.9.2" 84 | events "^3.0.0" 85 | jws "^4.0.0" 86 | open "^8.0.0" 87 | stoppable "^1.1.0" 88 | tslib "^2.2.0" 89 | 90 | "@azure/logger@^1.0.0": 91 | version "1.1.3" 92 | resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.1.3.tgz#09a8fd4850b9112865756e92d5e8b728ee457345" 93 | integrity sha512-J8/cIKNQB1Fc9fuYqBVnrppiUtW+5WWJPCj/tAokC5LdSTwkWWttN+jsRgw9BLYD7JDBx7PceiqOBxJJ1tQz3Q== 94 | dependencies: 95 | tslib "^2.6.2" 96 | 97 | "@azure/msal-browser@^3.14.0": 98 | version "3.20.0" 99 | resolved "https://registry.yarnpkg.com/@azure/msal-browser/-/msal-browser-3.20.0.tgz#12ae45d0d398dac25b2b37710277103539c23994" 100 | integrity sha512-ErsxbfCGIwdqD8jipqdxpfAGiUEQS7MWUe39Rjhl0ZVPsb1JEe9bZCe2+0g23HDH6DGyCAtnTNN9scPtievrMQ== 101 | dependencies: 102 | "@azure/msal-common" "14.14.0" 103 | 104 | "@azure/msal-common@14.14.0": 105 | version "14.14.0" 106 | resolved "https://registry.yarnpkg.com/@azure/msal-common/-/msal-common-14.14.0.tgz#31a015070d5864ebcf9ebb988fcbc5c5536f22d1" 107 | integrity sha512-OxcOk9H1/1fktHh6//VCORgSNJc2dCQObTm6JNmL824Z6iZSO6eFo/Bttxe0hETn9B+cr7gDouTQtsRq3YPuSQ== 108 | 109 | "@azure/msal-node@^2.9.2": 110 | version "2.12.0" 111 | resolved "https://registry.yarnpkg.com/@azure/msal-node/-/msal-node-2.12.0.tgz#57ee6b6011a320046d72dc0828fec46278f2ab2c" 112 | integrity sha512-jmk5Im5KujRA2AcyCb0awA3buV8niSrwXZs+NBJWIvxOz76RvNlusGIqi43A0h45BPUy93Qb+CPdpJn82NFTIg== 113 | dependencies: 114 | "@azure/msal-common" "14.14.0" 115 | jsonwebtoken "^9.0.0" 116 | uuid "^8.3.0" 117 | 118 | "@eslint/eslintrc@^1.4.1": 119 | version "1.4.1" 120 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" 121 | integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== 122 | dependencies: 123 | ajv "^6.12.4" 124 | debug "^4.3.2" 125 | espree "^9.4.0" 126 | globals "^13.19.0" 127 | ignore "^5.2.0" 128 | import-fresh "^3.2.1" 129 | js-yaml "^4.1.0" 130 | minimatch "^3.1.2" 131 | strip-json-comments "^3.1.1" 132 | 133 | "@humanwhocodes/config-array@^0.11.8": 134 | version "0.11.8" 135 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" 136 | integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== 137 | dependencies: 138 | "@humanwhocodes/object-schema" "^1.2.1" 139 | debug "^4.1.1" 140 | minimatch "^3.0.5" 141 | 142 | "@humanwhocodes/module-importer@^1.0.1": 143 | version "1.0.1" 144 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" 145 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== 146 | 147 | "@humanwhocodes/object-schema@^1.2.1": 148 | version "1.2.1" 149 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" 150 | integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== 151 | 152 | "@isaacs/cliui@^8.0.2": 153 | version "8.0.2" 154 | resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" 155 | integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== 156 | dependencies: 157 | string-width "^5.1.2" 158 | string-width-cjs "npm:string-width@^4.2.0" 159 | strip-ansi "^7.0.1" 160 | strip-ansi-cjs "npm:strip-ansi@^6.0.1" 161 | wrap-ansi "^8.1.0" 162 | wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" 163 | 164 | "@nodelib/fs.scandir@2.1.5": 165 | version "2.1.5" 166 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 167 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 168 | dependencies: 169 | "@nodelib/fs.stat" "2.0.5" 170 | run-parallel "^1.1.9" 171 | 172 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 173 | version "2.0.5" 174 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 175 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 176 | 177 | "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": 178 | version "1.2.8" 179 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 180 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 181 | dependencies: 182 | "@nodelib/fs.scandir" "2.1.5" 183 | fastq "^1.6.0" 184 | 185 | "@pkgjs/parseargs@^0.11.0": 186 | version "0.11.0" 187 | resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" 188 | integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== 189 | 190 | "@tootallnate/once@1": 191 | version "1.1.2" 192 | resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" 193 | integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== 194 | 195 | "@types/fs-extra@^9.0.13": 196 | version "9.0.13" 197 | resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" 198 | integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== 199 | dependencies: 200 | "@types/node" "*" 201 | 202 | "@types/glob@^7.2.0": 203 | version "7.2.0" 204 | resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" 205 | integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== 206 | dependencies: 207 | "@types/minimatch" "*" 208 | "@types/node" "*" 209 | 210 | "@types/minimatch@*": 211 | version "5.1.2" 212 | resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" 213 | integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== 214 | 215 | "@types/minimist@^1.2.2": 216 | version "1.2.2" 217 | resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" 218 | integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== 219 | 220 | "@types/mocha@^9.1.1": 221 | version "9.1.1" 222 | resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-9.1.1.tgz#e7c4f1001eefa4b8afbd1eee27a237fee3bf29c4" 223 | integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw== 224 | 225 | "@types/node@*", "@types/node@^18.11.18", "@types/node@^18.7.20": 226 | version "18.11.18" 227 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" 228 | integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== 229 | 230 | "@types/ps-tree@^1.1.2": 231 | version "1.1.2" 232 | resolved "https://registry.yarnpkg.com/@types/ps-tree/-/ps-tree-1.1.2.tgz#5c60773a38ffb1402e049902a7b7a8d3c67cd59a" 233 | integrity sha512-ZREFYlpUmPQJ0esjxoG1fMvB2HNaD3z+mjqdSosZvd3RalncI9NEur73P8ZJz4YQdL64CmV1w0RuqoRUlhQRBw== 234 | 235 | "@types/vscode@^1.68.0": 236 | version "1.74.0" 237 | resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.74.0.tgz#4adc21b4e7f527b893de3418c21a91f1e503bdcd" 238 | integrity sha512-LyeCIU3jb9d38w0MXFwta9r0Jx23ugujkAxdwLTNCyspdZTKUc43t7ppPbCiPoQ/Ivd/pnDFZrb4hWd45wrsgA== 239 | 240 | "@types/which@^2.0.1": 241 | version "2.0.1" 242 | resolved "https://registry.yarnpkg.com/@types/which/-/which-2.0.1.tgz#27ecd67f915b7c3d6ba552135bb1eecd66e63501" 243 | integrity sha512-Jjakcv8Roqtio6w1gr0D7y6twbhx6gGgFGF5BLwajPpnOIOxFkakFhCq+LmyyeAz7BX6ULrjBOxdKaCDy+4+dQ== 244 | 245 | "@vscode/test-electron@^2.1.3": 246 | version "2.2.2" 247 | resolved "https://registry.yarnpkg.com/@vscode/test-electron/-/test-electron-2.2.2.tgz#2ec559ad6b879bc4024ffc0c5e192e4c5d0ff704" 248 | integrity sha512-s5d2VtMySvff0UgqkJ0BMCr1es+qREE194EAodGIefq518W53ifvv69e80l9e2MrYJEqUUKwukE/w3H9o15YEw== 249 | dependencies: 250 | http-proxy-agent "^4.0.1" 251 | https-proxy-agent "^5.0.0" 252 | rimraf "^3.0.2" 253 | unzipper "^0.10.11" 254 | 255 | "@vscode/vsce-sign-alpine-arm64@2.0.2": 256 | version "2.0.2" 257 | resolved "https://registry.yarnpkg.com/@vscode/vsce-sign-alpine-arm64/-/vsce-sign-alpine-arm64-2.0.2.tgz#4accc485e55aa6ff04b195b47f722ead57daa58e" 258 | integrity sha512-E80YvqhtZCLUv3YAf9+tIbbqoinWLCO/B3j03yQPbjT3ZIHCliKZlsy1peNc4XNZ5uIb87Jn0HWx/ZbPXviuAQ== 259 | 260 | "@vscode/vsce-sign-alpine-x64@2.0.2": 261 | version "2.0.2" 262 | resolved "https://registry.yarnpkg.com/@vscode/vsce-sign-alpine-x64/-/vsce-sign-alpine-x64-2.0.2.tgz#4a4b7b505b4cc0f58596394897c49a0bce0e540c" 263 | integrity sha512-n1WC15MSMvTaeJ5KjWCzo0nzjydwxLyoHiMJHu1Ov0VWTZiddasmOQHekA47tFRycnt4FsQrlkSCTdgHppn6bw== 264 | 265 | "@vscode/vsce-sign-darwin-arm64@2.0.2": 266 | version "2.0.2" 267 | resolved "https://registry.yarnpkg.com/@vscode/vsce-sign-darwin-arm64/-/vsce-sign-darwin-arm64-2.0.2.tgz#10aa69feb7f81a3dc68c242038ca03eaff19c12e" 268 | integrity sha512-rz8F4pMcxPj8fjKAJIfkUT8ycG9CjIp888VY/6pq6cuI2qEzQ0+b5p3xb74CJnBbSC0p2eRVoe+WgNCAxCLtzQ== 269 | 270 | "@vscode/vsce-sign-darwin-x64@2.0.2": 271 | version "2.0.2" 272 | resolved "https://registry.yarnpkg.com/@vscode/vsce-sign-darwin-x64/-/vsce-sign-darwin-x64-2.0.2.tgz#3315528f3ea1007a648b3320bff36a33a9e07aa5" 273 | integrity sha512-MCjPrQ5MY/QVoZ6n0D92jcRb7eYvxAujG/AH2yM6lI0BspvJQxp0o9s5oiAM9r32r9tkLpiy5s2icsbwefAQIw== 274 | 275 | "@vscode/vsce-sign-linux-arm64@2.0.2": 276 | version "2.0.2" 277 | resolved "https://registry.yarnpkg.com/@vscode/vsce-sign-linux-arm64/-/vsce-sign-linux-arm64-2.0.2.tgz#ce5c5cfc99e3454b4fb770405812b46bd6dca870" 278 | integrity sha512-Ybeu7cA6+/koxszsORXX0OJk9N0GgfHq70Wqi4vv2iJCZvBrOWwcIrxKjvFtwyDgdeQzgPheH5nhLVl5eQy7WA== 279 | 280 | "@vscode/vsce-sign-linux-arm@2.0.2": 281 | version "2.0.2" 282 | resolved "https://registry.yarnpkg.com/@vscode/vsce-sign-linux-arm/-/vsce-sign-linux-arm-2.0.2.tgz#4142fda83e7130b31aedd8aa81e4daa6334323c2" 283 | integrity sha512-Fkb5jpbfhZKVw3xwR6t7WYfwKZktVGNXdg1m08uEx1anO0oUPUkoQRsNm4QniL3hmfw0ijg00YA6TrxCRkPVOQ== 284 | 285 | "@vscode/vsce-sign-linux-x64@2.0.2": 286 | version "2.0.2" 287 | resolved "https://registry.yarnpkg.com/@vscode/vsce-sign-linux-x64/-/vsce-sign-linux-x64-2.0.2.tgz#59ab93f322efb3cf49166d4e2e812789c3117428" 288 | integrity sha512-NsPPFVtLaTlVJKOiTnO8Cl78LZNWy0Q8iAg+LlBiCDEgC12Gt4WXOSs2pmcIjDYzj2kY4NwdeN1mBTaujYZaPg== 289 | 290 | "@vscode/vsce-sign-win32-arm64@2.0.2": 291 | version "2.0.2" 292 | resolved "https://registry.yarnpkg.com/@vscode/vsce-sign-win32-arm64/-/vsce-sign-win32-arm64-2.0.2.tgz#d095704a14b0404c0b6f696e9889e9a51b31a86c" 293 | integrity sha512-wPs848ymZ3Ny+Y1Qlyi7mcT6VSigG89FWQnp2qRYCyMhdJxOpA4lDwxzlpL8fG6xC8GjQjGDkwbkWUcCobvksQ== 294 | 295 | "@vscode/vsce-sign-win32-x64@2.0.2": 296 | version "2.0.2" 297 | resolved "https://registry.yarnpkg.com/@vscode/vsce-sign-win32-x64/-/vsce-sign-win32-x64-2.0.2.tgz#294ea72b44fedd694d49f5cef4c55bf3876dc257" 298 | integrity sha512-pAiRN6qSAhDM5SVOIxgx+2xnoVUePHbRNC7OD2aOR3WltTKxxF25OfpK8h8UQ7A0BuRkSgREbB59DBlFk4iAeg== 299 | 300 | "@vscode/vsce-sign@^2.0.0": 301 | version "2.0.4" 302 | resolved "https://registry.yarnpkg.com/@vscode/vsce-sign/-/vsce-sign-2.0.4.tgz#b4bf155d16f2a4badc069df850dc86f756124842" 303 | integrity sha512-0uL32egStKYfy60IqnynAChMTbL0oqpqk0Ew0YHiIb+fayuGZWADuIPHWUcY1GCnAA+VgchOPDMxnc2R3XGWEA== 304 | optionalDependencies: 305 | "@vscode/vsce-sign-alpine-arm64" "2.0.2" 306 | "@vscode/vsce-sign-alpine-x64" "2.0.2" 307 | "@vscode/vsce-sign-darwin-arm64" "2.0.2" 308 | "@vscode/vsce-sign-darwin-x64" "2.0.2" 309 | "@vscode/vsce-sign-linux-arm" "2.0.2" 310 | "@vscode/vsce-sign-linux-arm64" "2.0.2" 311 | "@vscode/vsce-sign-linux-x64" "2.0.2" 312 | "@vscode/vsce-sign-win32-arm64" "2.0.2" 313 | "@vscode/vsce-sign-win32-x64" "2.0.2" 314 | 315 | "@vscode/vsce@^2.31.1": 316 | version "2.31.1" 317 | resolved "https://registry.yarnpkg.com/@vscode/vsce/-/vsce-2.31.1.tgz#2420167e5b5ac49ff8fd1aeebfadde43711fbe55" 318 | integrity sha512-LwEQFKXV21C4/brvGPH/9+7ZOUM5cbK7oJ4fVmy0YG75NIy1HV8eMSoBZrl+u23NxpAhor62Cu1aI+JFtCtjSg== 319 | dependencies: 320 | "@azure/identity" "^4.1.0" 321 | "@vscode/vsce-sign" "^2.0.0" 322 | azure-devops-node-api "^12.5.0" 323 | chalk "^2.4.2" 324 | cheerio "^1.0.0-rc.9" 325 | cockatiel "^3.1.2" 326 | commander "^6.2.1" 327 | form-data "^4.0.0" 328 | glob "^11.0.0" 329 | hosted-git-info "^4.0.2" 330 | jsonc-parser "^3.2.0" 331 | leven "^3.1.0" 332 | markdown-it "^12.3.2" 333 | mime "^1.3.4" 334 | minimatch "^3.0.3" 335 | parse-semver "^1.1.1" 336 | read "^1.0.7" 337 | semver "^7.5.2" 338 | tmp "^0.2.3" 339 | typed-rest-client "^1.8.4" 340 | url-join "^4.0.1" 341 | xml2js "^0.5.0" 342 | yauzl "^2.3.1" 343 | yazl "^2.2.2" 344 | optionalDependencies: 345 | keytar "^7.7.0" 346 | 347 | acorn-jsx@^5.3.2: 348 | version "5.3.2" 349 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" 350 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 351 | 352 | acorn@^8.8.0: 353 | version "8.8.1" 354 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" 355 | integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== 356 | 357 | agent-base@6: 358 | version "6.0.2" 359 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" 360 | integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== 361 | dependencies: 362 | debug "4" 363 | 364 | agent-base@^7.0.2, agent-base@^7.1.0: 365 | version "7.1.1" 366 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" 367 | integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== 368 | dependencies: 369 | debug "^4.3.4" 370 | 371 | ajv@^6.10.0, ajv@^6.12.4: 372 | version "6.12.6" 373 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 374 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 375 | dependencies: 376 | fast-deep-equal "^3.1.1" 377 | fast-json-stable-stringify "^2.0.0" 378 | json-schema-traverse "^0.4.1" 379 | uri-js "^4.2.2" 380 | 381 | ansi-colors@4.1.1: 382 | version "4.1.1" 383 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 384 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 385 | 386 | ansi-regex@^5.0.1: 387 | version "5.0.1" 388 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 389 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 390 | 391 | ansi-regex@^6.0.1: 392 | version "6.0.1" 393 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" 394 | integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== 395 | 396 | ansi-styles@^3.2.1: 397 | version "3.2.1" 398 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 399 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 400 | dependencies: 401 | color-convert "^1.9.0" 402 | 403 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 404 | version "4.3.0" 405 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 406 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 407 | dependencies: 408 | color-convert "^2.0.1" 409 | 410 | ansi-styles@^6.1.0: 411 | version "6.2.1" 412 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" 413 | integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== 414 | 415 | anymatch@~3.1.2: 416 | version "3.1.3" 417 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" 418 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== 419 | dependencies: 420 | normalize-path "^3.0.0" 421 | picomatch "^2.0.4" 422 | 423 | argparse@^2.0.1: 424 | version "2.0.1" 425 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 426 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 427 | 428 | asynckit@^0.4.0: 429 | version "0.4.0" 430 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 431 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 432 | 433 | azure-devops-node-api@^12.5.0: 434 | version "12.5.0" 435 | resolved "https://registry.yarnpkg.com/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz#38b9efd7c5ac74354fe4e8dbe42697db0b8e85a5" 436 | integrity sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og== 437 | dependencies: 438 | tunnel "0.0.6" 439 | typed-rest-client "^1.8.4" 440 | 441 | balanced-match@^1.0.0: 442 | version "1.0.2" 443 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 444 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 445 | 446 | base64-js@^1.3.1: 447 | version "1.5.1" 448 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 449 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 450 | 451 | big-integer@^1.6.17: 452 | version "1.6.51" 453 | resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" 454 | integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== 455 | 456 | binary-extensions@^2.0.0: 457 | version "2.2.0" 458 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 459 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 460 | 461 | binary@~0.3.0: 462 | version "0.3.0" 463 | resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" 464 | integrity sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg== 465 | dependencies: 466 | buffers "~0.1.1" 467 | chainsaw "~0.1.0" 468 | 469 | bl@^4.0.3: 470 | version "4.1.0" 471 | resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" 472 | integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== 473 | dependencies: 474 | buffer "^5.5.0" 475 | inherits "^2.0.4" 476 | readable-stream "^3.4.0" 477 | 478 | bluebird@~3.4.1: 479 | version "3.4.7" 480 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" 481 | integrity sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA== 482 | 483 | boolbase@^1.0.0: 484 | version "1.0.0" 485 | resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" 486 | integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== 487 | 488 | brace-expansion@^1.1.7: 489 | version "1.1.11" 490 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 491 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 492 | dependencies: 493 | balanced-match "^1.0.0" 494 | concat-map "0.0.1" 495 | 496 | brace-expansion@^2.0.1: 497 | version "2.0.1" 498 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" 499 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 500 | dependencies: 501 | balanced-match "^1.0.0" 502 | 503 | braces@^3.0.2, braces@~3.0.2: 504 | version "3.0.2" 505 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 506 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 507 | dependencies: 508 | fill-range "^7.0.1" 509 | 510 | browser-stdout@1.3.1: 511 | version "1.3.1" 512 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 513 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== 514 | 515 | buffer-crc32@~0.2.3: 516 | version "0.2.13" 517 | resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" 518 | integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== 519 | 520 | buffer-equal-constant-time@1.0.1: 521 | version "1.0.1" 522 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" 523 | integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== 524 | 525 | buffer-indexof-polyfill@~1.0.0: 526 | version "1.0.2" 527 | resolved "https://registry.yarnpkg.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c" 528 | integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A== 529 | 530 | buffer@^5.5.0: 531 | version "5.7.1" 532 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" 533 | integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== 534 | dependencies: 535 | base64-js "^1.3.1" 536 | ieee754 "^1.1.13" 537 | 538 | buffers@~0.1.1: 539 | version "0.1.1" 540 | resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" 541 | integrity sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ== 542 | 543 | call-bind@^1.0.7: 544 | version "1.0.7" 545 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" 546 | integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== 547 | dependencies: 548 | es-define-property "^1.0.0" 549 | es-errors "^1.3.0" 550 | function-bind "^1.1.2" 551 | get-intrinsic "^1.2.4" 552 | set-function-length "^1.2.1" 553 | 554 | callsites@^3.0.0: 555 | version "3.1.0" 556 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 557 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 558 | 559 | camelcase@^6.0.0: 560 | version "6.3.0" 561 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" 562 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== 563 | 564 | chainsaw@~0.1.0: 565 | version "0.1.0" 566 | resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" 567 | integrity sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ== 568 | dependencies: 569 | traverse ">=0.3.0 <0.4" 570 | 571 | chalk@^2.4.2: 572 | version "2.4.2" 573 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 574 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 575 | dependencies: 576 | ansi-styles "^3.2.1" 577 | escape-string-regexp "^1.0.5" 578 | supports-color "^5.3.0" 579 | 580 | chalk@^4.0.0, chalk@^4.1.0: 581 | version "4.1.2" 582 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 583 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 584 | dependencies: 585 | ansi-styles "^4.1.0" 586 | supports-color "^7.1.0" 587 | 588 | chalk@^5.0.1: 589 | version "5.2.0" 590 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" 591 | integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== 592 | 593 | cheerio-select@^2.1.0: 594 | version "2.1.0" 595 | resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" 596 | integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== 597 | dependencies: 598 | boolbase "^1.0.0" 599 | css-select "^5.1.0" 600 | css-what "^6.1.0" 601 | domelementtype "^2.3.0" 602 | domhandler "^5.0.3" 603 | domutils "^3.0.1" 604 | 605 | cheerio@^1.0.0-rc.9: 606 | version "1.0.0-rc.12" 607 | resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" 608 | integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== 609 | dependencies: 610 | cheerio-select "^2.1.0" 611 | dom-serializer "^2.0.0" 612 | domhandler "^5.0.3" 613 | domutils "^3.0.1" 614 | htmlparser2 "^8.0.1" 615 | parse5 "^7.0.0" 616 | parse5-htmlparser2-tree-adapter "^7.0.0" 617 | 618 | chokidar@3.5.3: 619 | version "3.5.3" 620 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 621 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 622 | dependencies: 623 | anymatch "~3.1.2" 624 | braces "~3.0.2" 625 | glob-parent "~5.1.2" 626 | is-binary-path "~2.1.0" 627 | is-glob "~4.0.1" 628 | normalize-path "~3.0.0" 629 | readdirp "~3.6.0" 630 | optionalDependencies: 631 | fsevents "~2.3.2" 632 | 633 | chownr@^1.1.1: 634 | version "1.1.4" 635 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" 636 | integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== 637 | 638 | cliui@^7.0.2: 639 | version "7.0.4" 640 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 641 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 642 | dependencies: 643 | string-width "^4.2.0" 644 | strip-ansi "^6.0.0" 645 | wrap-ansi "^7.0.0" 646 | 647 | cockatiel@^3.1.2: 648 | version "3.2.1" 649 | resolved "https://registry.yarnpkg.com/cockatiel/-/cockatiel-3.2.1.tgz#575f937bc4040a20ae27352a6d07c9c5a741981f" 650 | integrity sha512-gfrHV6ZPkquExvMh9IOkKsBzNDk6sDuZ6DdBGUBkvFnTCqCxzpuq48RySgP0AnaqQkw2zynOFj9yly6T1Q2G5Q== 651 | 652 | color-convert@^1.9.0: 653 | version "1.9.3" 654 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 655 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 656 | dependencies: 657 | color-name "1.1.3" 658 | 659 | color-convert@^2.0.1: 660 | version "2.0.1" 661 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 662 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 663 | dependencies: 664 | color-name "~1.1.4" 665 | 666 | color-name@1.1.3: 667 | version "1.1.3" 668 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 669 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 670 | 671 | color-name@~1.1.4: 672 | version "1.1.4" 673 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 674 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 675 | 676 | combined-stream@^1.0.8: 677 | version "1.0.8" 678 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 679 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 680 | dependencies: 681 | delayed-stream "~1.0.0" 682 | 683 | commander@^6.2.1: 684 | version "6.2.1" 685 | resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" 686 | integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== 687 | 688 | concat-map@0.0.1: 689 | version "0.0.1" 690 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 691 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 692 | 693 | core-util-is@~1.0.0: 694 | version "1.0.3" 695 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" 696 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== 697 | 698 | cross-spawn@^7.0.0, cross-spawn@^7.0.2: 699 | version "7.0.3" 700 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 701 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 702 | dependencies: 703 | path-key "^3.1.0" 704 | shebang-command "^2.0.0" 705 | which "^2.0.1" 706 | 707 | css-select@^5.1.0: 708 | version "5.1.0" 709 | resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" 710 | integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== 711 | dependencies: 712 | boolbase "^1.0.0" 713 | css-what "^6.1.0" 714 | domhandler "^5.0.2" 715 | domutils "^3.0.1" 716 | nth-check "^2.0.1" 717 | 718 | css-what@^6.1.0: 719 | version "6.1.0" 720 | resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" 721 | integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== 722 | 723 | data-uri-to-buffer@^4.0.0: 724 | version "4.0.1" 725 | resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" 726 | integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== 727 | 728 | debug@4, debug@4.3.4, debug@^4.1.1, debug@^4.3.2: 729 | version "4.3.4" 730 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 731 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 732 | dependencies: 733 | ms "2.1.2" 734 | 735 | debug@^4.3.4: 736 | version "4.3.5" 737 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" 738 | integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== 739 | dependencies: 740 | ms "2.1.2" 741 | 742 | decamelize@^4.0.0: 743 | version "4.0.0" 744 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" 745 | integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== 746 | 747 | decompress-response@^6.0.0: 748 | version "6.0.0" 749 | resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" 750 | integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== 751 | dependencies: 752 | mimic-response "^3.1.0" 753 | 754 | deep-extend@^0.6.0: 755 | version "0.6.0" 756 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 757 | integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 758 | 759 | deep-is@^0.1.3: 760 | version "0.1.4" 761 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 762 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 763 | 764 | define-data-property@^1.1.4: 765 | version "1.1.4" 766 | resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" 767 | integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== 768 | dependencies: 769 | es-define-property "^1.0.0" 770 | es-errors "^1.3.0" 771 | gopd "^1.0.1" 772 | 773 | define-lazy-prop@^2.0.0: 774 | version "2.0.0" 775 | resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" 776 | integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== 777 | 778 | delayed-stream@~1.0.0: 779 | version "1.0.0" 780 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 781 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 782 | 783 | detect-libc@^2.0.0: 784 | version "2.0.3" 785 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" 786 | integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== 787 | 788 | diff@5.0.0: 789 | version "5.0.0" 790 | resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" 791 | integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== 792 | 793 | dir-glob@^3.0.1: 794 | version "3.0.1" 795 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 796 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 797 | dependencies: 798 | path-type "^4.0.0" 799 | 800 | doctrine@^3.0.0: 801 | version "3.0.0" 802 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 803 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 804 | dependencies: 805 | esutils "^2.0.2" 806 | 807 | dom-serializer@^2.0.0: 808 | version "2.0.0" 809 | resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" 810 | integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== 811 | dependencies: 812 | domelementtype "^2.3.0" 813 | domhandler "^5.0.2" 814 | entities "^4.2.0" 815 | 816 | domelementtype@^2.3.0: 817 | version "2.3.0" 818 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" 819 | integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== 820 | 821 | domhandler@^5.0.2, domhandler@^5.0.3: 822 | version "5.0.3" 823 | resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" 824 | integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== 825 | dependencies: 826 | domelementtype "^2.3.0" 827 | 828 | domutils@^3.0.1: 829 | version "3.1.0" 830 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" 831 | integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== 832 | dependencies: 833 | dom-serializer "^2.0.0" 834 | domelementtype "^2.3.0" 835 | domhandler "^5.0.3" 836 | 837 | duplexer2@~0.1.4: 838 | version "0.1.4" 839 | resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" 840 | integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA== 841 | dependencies: 842 | readable-stream "^2.0.2" 843 | 844 | duplexer@~0.1.1: 845 | version "0.1.2" 846 | resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" 847 | integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== 848 | 849 | eastasianwidth@^0.2.0: 850 | version "0.2.0" 851 | resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" 852 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== 853 | 854 | ecdsa-sig-formatter@1.0.11: 855 | version "1.0.11" 856 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" 857 | integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== 858 | dependencies: 859 | safe-buffer "^5.0.1" 860 | 861 | emoji-regex@^8.0.0: 862 | version "8.0.0" 863 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 864 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 865 | 866 | emoji-regex@^9.2.2: 867 | version "9.2.2" 868 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" 869 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 870 | 871 | end-of-stream@^1.1.0, end-of-stream@^1.4.1: 872 | version "1.4.4" 873 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 874 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 875 | dependencies: 876 | once "^1.4.0" 877 | 878 | entities@^4.2.0, entities@^4.4.0: 879 | version "4.5.0" 880 | resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" 881 | integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== 882 | 883 | entities@~2.1.0: 884 | version "2.1.0" 885 | resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" 886 | integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== 887 | 888 | es-define-property@^1.0.0: 889 | version "1.0.0" 890 | resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" 891 | integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== 892 | dependencies: 893 | get-intrinsic "^1.2.4" 894 | 895 | es-errors@^1.3.0: 896 | version "1.3.0" 897 | resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" 898 | integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== 899 | 900 | escalade@^3.1.1: 901 | version "3.1.1" 902 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 903 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 904 | 905 | escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: 906 | version "4.0.0" 907 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 908 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 909 | 910 | escape-string-regexp@^1.0.5: 911 | version "1.0.5" 912 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 913 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 914 | 915 | eslint-scope@^7.1.1: 916 | version "7.1.1" 917 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" 918 | integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== 919 | dependencies: 920 | esrecurse "^4.3.0" 921 | estraverse "^5.2.0" 922 | 923 | eslint-utils@^3.0.0: 924 | version "3.0.0" 925 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" 926 | integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== 927 | dependencies: 928 | eslint-visitor-keys "^2.0.0" 929 | 930 | eslint-visitor-keys@^2.0.0: 931 | version "2.1.0" 932 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" 933 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== 934 | 935 | eslint-visitor-keys@^3.3.0: 936 | version "3.3.0" 937 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" 938 | integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== 939 | 940 | eslint@^8.16.0: 941 | version "8.31.0" 942 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.31.0.tgz#75028e77cbcff102a9feae1d718135931532d524" 943 | integrity sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA== 944 | dependencies: 945 | "@eslint/eslintrc" "^1.4.1" 946 | "@humanwhocodes/config-array" "^0.11.8" 947 | "@humanwhocodes/module-importer" "^1.0.1" 948 | "@nodelib/fs.walk" "^1.2.8" 949 | ajv "^6.10.0" 950 | chalk "^4.0.0" 951 | cross-spawn "^7.0.2" 952 | debug "^4.3.2" 953 | doctrine "^3.0.0" 954 | escape-string-regexp "^4.0.0" 955 | eslint-scope "^7.1.1" 956 | eslint-utils "^3.0.0" 957 | eslint-visitor-keys "^3.3.0" 958 | espree "^9.4.0" 959 | esquery "^1.4.0" 960 | esutils "^2.0.2" 961 | fast-deep-equal "^3.1.3" 962 | file-entry-cache "^6.0.1" 963 | find-up "^5.0.0" 964 | glob-parent "^6.0.2" 965 | globals "^13.19.0" 966 | grapheme-splitter "^1.0.4" 967 | ignore "^5.2.0" 968 | import-fresh "^3.0.0" 969 | imurmurhash "^0.1.4" 970 | is-glob "^4.0.0" 971 | is-path-inside "^3.0.3" 972 | js-sdsl "^4.1.4" 973 | js-yaml "^4.1.0" 974 | json-stable-stringify-without-jsonify "^1.0.1" 975 | levn "^0.4.1" 976 | lodash.merge "^4.6.2" 977 | minimatch "^3.1.2" 978 | natural-compare "^1.4.0" 979 | optionator "^0.9.1" 980 | regexpp "^3.2.0" 981 | strip-ansi "^6.0.1" 982 | strip-json-comments "^3.1.0" 983 | text-table "^0.2.0" 984 | 985 | espree@^9.4.0: 986 | version "9.4.1" 987 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" 988 | integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== 989 | dependencies: 990 | acorn "^8.8.0" 991 | acorn-jsx "^5.3.2" 992 | eslint-visitor-keys "^3.3.0" 993 | 994 | esquery@^1.4.0: 995 | version "1.4.0" 996 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" 997 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 998 | dependencies: 999 | estraverse "^5.1.0" 1000 | 1001 | esrecurse@^4.3.0: 1002 | version "4.3.0" 1003 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 1004 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 1005 | dependencies: 1006 | estraverse "^5.2.0" 1007 | 1008 | estraverse@^5.1.0, estraverse@^5.2.0: 1009 | version "5.3.0" 1010 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 1011 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 1012 | 1013 | esutils@^2.0.2: 1014 | version "2.0.3" 1015 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1016 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1017 | 1018 | event-stream@=3.3.4: 1019 | version "3.3.4" 1020 | resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" 1021 | integrity sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g== 1022 | dependencies: 1023 | duplexer "~0.1.1" 1024 | from "~0" 1025 | map-stream "~0.1.0" 1026 | pause-stream "0.0.11" 1027 | split "0.3" 1028 | stream-combiner "~0.0.4" 1029 | through "~2.3.1" 1030 | 1031 | events@^3.0.0: 1032 | version "3.3.0" 1033 | resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" 1034 | integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== 1035 | 1036 | expand-template@^2.0.3: 1037 | version "2.0.3" 1038 | resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" 1039 | integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== 1040 | 1041 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 1042 | version "3.1.3" 1043 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 1044 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 1045 | 1046 | fast-glob@^3.2.11: 1047 | version "3.2.12" 1048 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" 1049 | integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== 1050 | dependencies: 1051 | "@nodelib/fs.stat" "^2.0.2" 1052 | "@nodelib/fs.walk" "^1.2.3" 1053 | glob-parent "^5.1.2" 1054 | merge2 "^1.3.0" 1055 | micromatch "^4.0.4" 1056 | 1057 | fast-json-stable-stringify@^2.0.0: 1058 | version "2.1.0" 1059 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1060 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1061 | 1062 | fast-levenshtein@^2.0.6: 1063 | version "2.0.6" 1064 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1065 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== 1066 | 1067 | fastq@^1.6.0: 1068 | version "1.15.0" 1069 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" 1070 | integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== 1071 | dependencies: 1072 | reusify "^1.0.4" 1073 | 1074 | fd-slicer@~1.1.0: 1075 | version "1.1.0" 1076 | resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" 1077 | integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== 1078 | dependencies: 1079 | pend "~1.2.0" 1080 | 1081 | fetch-blob@^3.1.2, fetch-blob@^3.1.4: 1082 | version "3.2.0" 1083 | resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" 1084 | integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== 1085 | dependencies: 1086 | node-domexception "^1.0.0" 1087 | web-streams-polyfill "^3.0.3" 1088 | 1089 | file-entry-cache@^6.0.1: 1090 | version "6.0.1" 1091 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 1092 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 1093 | dependencies: 1094 | flat-cache "^3.0.4" 1095 | 1096 | fill-range@^7.0.1: 1097 | version "7.0.1" 1098 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1099 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1100 | dependencies: 1101 | to-regex-range "^5.0.1" 1102 | 1103 | find-up@5.0.0, find-up@^5.0.0: 1104 | version "5.0.0" 1105 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 1106 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 1107 | dependencies: 1108 | locate-path "^6.0.0" 1109 | path-exists "^4.0.0" 1110 | 1111 | flat-cache@^3.0.4: 1112 | version "3.0.4" 1113 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" 1114 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 1115 | dependencies: 1116 | flatted "^3.1.0" 1117 | rimraf "^3.0.2" 1118 | 1119 | flat@^5.0.2: 1120 | version "5.0.2" 1121 | resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" 1122 | integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== 1123 | 1124 | flatted@^3.1.0: 1125 | version "3.2.7" 1126 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" 1127 | integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== 1128 | 1129 | foreground-child@^3.1.0: 1130 | version "3.2.1" 1131 | resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.2.1.tgz#767004ccf3a5b30df39bed90718bab43fe0a59f7" 1132 | integrity sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA== 1133 | dependencies: 1134 | cross-spawn "^7.0.0" 1135 | signal-exit "^4.0.1" 1136 | 1137 | form-data@^4.0.0: 1138 | version "4.0.0" 1139 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" 1140 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 1141 | dependencies: 1142 | asynckit "^0.4.0" 1143 | combined-stream "^1.0.8" 1144 | mime-types "^2.1.12" 1145 | 1146 | formdata-polyfill@^4.0.10: 1147 | version "4.0.10" 1148 | resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" 1149 | integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== 1150 | dependencies: 1151 | fetch-blob "^3.1.2" 1152 | 1153 | from@~0: 1154 | version "0.1.7" 1155 | resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" 1156 | integrity sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g== 1157 | 1158 | fs-constants@^1.0.0: 1159 | version "1.0.0" 1160 | resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" 1161 | integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== 1162 | 1163 | fs-extra@^10.1.0: 1164 | version "10.1.0" 1165 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" 1166 | integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== 1167 | dependencies: 1168 | graceful-fs "^4.2.0" 1169 | jsonfile "^6.0.1" 1170 | universalify "^2.0.0" 1171 | 1172 | fs.realpath@^1.0.0: 1173 | version "1.0.0" 1174 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1175 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 1176 | 1177 | fsevents@~2.3.2: 1178 | version "2.3.2" 1179 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1180 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1181 | 1182 | fstream@^1.0.12: 1183 | version "1.0.12" 1184 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" 1185 | integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== 1186 | dependencies: 1187 | graceful-fs "^4.1.2" 1188 | inherits "~2.0.0" 1189 | mkdirp ">=0.5 0" 1190 | rimraf "2" 1191 | 1192 | function-bind@^1.1.2: 1193 | version "1.1.2" 1194 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" 1195 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== 1196 | 1197 | get-caller-file@^2.0.5: 1198 | version "2.0.5" 1199 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1200 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1201 | 1202 | get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: 1203 | version "1.2.4" 1204 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" 1205 | integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== 1206 | dependencies: 1207 | es-errors "^1.3.0" 1208 | function-bind "^1.1.2" 1209 | has-proto "^1.0.1" 1210 | has-symbols "^1.0.3" 1211 | hasown "^2.0.0" 1212 | 1213 | github-from-package@0.0.0: 1214 | version "0.0.0" 1215 | resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" 1216 | integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== 1217 | 1218 | glob-parent@^5.1.2, glob-parent@~5.1.2: 1219 | version "5.1.2" 1220 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1221 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1222 | dependencies: 1223 | is-glob "^4.0.1" 1224 | 1225 | glob-parent@^6.0.2: 1226 | version "6.0.2" 1227 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 1228 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 1229 | dependencies: 1230 | is-glob "^4.0.3" 1231 | 1232 | glob@7.2.0: 1233 | version "7.2.0" 1234 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" 1235 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 1236 | dependencies: 1237 | fs.realpath "^1.0.0" 1238 | inflight "^1.0.4" 1239 | inherits "2" 1240 | minimatch "^3.0.4" 1241 | once "^1.3.0" 1242 | path-is-absolute "^1.0.0" 1243 | 1244 | glob@^11.0.0: 1245 | version "11.0.0" 1246 | resolved "https://registry.yarnpkg.com/glob/-/glob-11.0.0.tgz#6031df0d7b65eaa1ccb9b29b5ced16cea658e77e" 1247 | integrity sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g== 1248 | dependencies: 1249 | foreground-child "^3.1.0" 1250 | jackspeak "^4.0.1" 1251 | minimatch "^10.0.0" 1252 | minipass "^7.1.2" 1253 | package-json-from-dist "^1.0.0" 1254 | path-scurry "^2.0.0" 1255 | 1256 | glob@^7.1.3: 1257 | version "7.2.3" 1258 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 1259 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 1260 | dependencies: 1261 | fs.realpath "^1.0.0" 1262 | inflight "^1.0.4" 1263 | inherits "2" 1264 | minimatch "^3.1.1" 1265 | once "^1.3.0" 1266 | path-is-absolute "^1.0.0" 1267 | 1268 | glob@^8.0.3: 1269 | version "8.0.3" 1270 | resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e" 1271 | integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ== 1272 | dependencies: 1273 | fs.realpath "^1.0.0" 1274 | inflight "^1.0.4" 1275 | inherits "2" 1276 | minimatch "^5.0.1" 1277 | once "^1.3.0" 1278 | 1279 | globals@^13.19.0: 1280 | version "13.19.0" 1281 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8" 1282 | integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== 1283 | dependencies: 1284 | type-fest "^0.20.2" 1285 | 1286 | globby@^13.1.2: 1287 | version "13.1.3" 1288 | resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.3.tgz#f62baf5720bcb2c1330c8d4ef222ee12318563ff" 1289 | integrity sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw== 1290 | dependencies: 1291 | dir-glob "^3.0.1" 1292 | fast-glob "^3.2.11" 1293 | ignore "^5.2.0" 1294 | merge2 "^1.4.1" 1295 | slash "^4.0.0" 1296 | 1297 | gopd@^1.0.1: 1298 | version "1.0.1" 1299 | resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" 1300 | integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== 1301 | dependencies: 1302 | get-intrinsic "^1.1.3" 1303 | 1304 | graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2: 1305 | version "4.2.10" 1306 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" 1307 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== 1308 | 1309 | grapheme-splitter@^1.0.4: 1310 | version "1.0.4" 1311 | resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" 1312 | integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== 1313 | 1314 | has-flag@^3.0.0: 1315 | version "3.0.0" 1316 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1317 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 1318 | 1319 | has-flag@^4.0.0: 1320 | version "4.0.0" 1321 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1322 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1323 | 1324 | has-property-descriptors@^1.0.2: 1325 | version "1.0.2" 1326 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" 1327 | integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== 1328 | dependencies: 1329 | es-define-property "^1.0.0" 1330 | 1331 | has-proto@^1.0.1: 1332 | version "1.0.3" 1333 | resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" 1334 | integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== 1335 | 1336 | has-symbols@^1.0.3: 1337 | version "1.0.3" 1338 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 1339 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 1340 | 1341 | hasown@^2.0.0: 1342 | version "2.0.2" 1343 | resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" 1344 | integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== 1345 | dependencies: 1346 | function-bind "^1.1.2" 1347 | 1348 | he@1.2.0: 1349 | version "1.2.0" 1350 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 1351 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 1352 | 1353 | hosted-git-info@^4.0.2: 1354 | version "4.1.0" 1355 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" 1356 | integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== 1357 | dependencies: 1358 | lru-cache "^6.0.0" 1359 | 1360 | htmlparser2@^8.0.1: 1361 | version "8.0.2" 1362 | resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" 1363 | integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== 1364 | dependencies: 1365 | domelementtype "^2.3.0" 1366 | domhandler "^5.0.3" 1367 | domutils "^3.0.1" 1368 | entities "^4.4.0" 1369 | 1370 | http-proxy-agent@^4.0.1: 1371 | version "4.0.1" 1372 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" 1373 | integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== 1374 | dependencies: 1375 | "@tootallnate/once" "1" 1376 | agent-base "6" 1377 | debug "4" 1378 | 1379 | http-proxy-agent@^7.0.0: 1380 | version "7.0.2" 1381 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" 1382 | integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== 1383 | dependencies: 1384 | agent-base "^7.1.0" 1385 | debug "^4.3.4" 1386 | 1387 | https-proxy-agent@^5.0.0: 1388 | version "5.0.1" 1389 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" 1390 | integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== 1391 | dependencies: 1392 | agent-base "6" 1393 | debug "4" 1394 | 1395 | https-proxy-agent@^7.0.0: 1396 | version "7.0.5" 1397 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2" 1398 | integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw== 1399 | dependencies: 1400 | agent-base "^7.0.2" 1401 | debug "4" 1402 | 1403 | ieee754@^1.1.13: 1404 | version "1.2.1" 1405 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 1406 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 1407 | 1408 | ignore@^5.2.0: 1409 | version "5.2.4" 1410 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" 1411 | integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== 1412 | 1413 | import-fresh@^3.0.0, import-fresh@^3.2.1: 1414 | version "3.3.0" 1415 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 1416 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1417 | dependencies: 1418 | parent-module "^1.0.0" 1419 | resolve-from "^4.0.0" 1420 | 1421 | imurmurhash@^0.1.4: 1422 | version "0.1.4" 1423 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1424 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 1425 | 1426 | inflight@^1.0.4: 1427 | version "1.0.6" 1428 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1429 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 1430 | dependencies: 1431 | once "^1.3.0" 1432 | wrappy "1" 1433 | 1434 | inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.3: 1435 | version "2.0.4" 1436 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1437 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1438 | 1439 | ini@~1.3.0: 1440 | version "1.3.8" 1441 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" 1442 | integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== 1443 | 1444 | is-binary-path@~2.1.0: 1445 | version "2.1.0" 1446 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1447 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 1448 | dependencies: 1449 | binary-extensions "^2.0.0" 1450 | 1451 | is-docker@^2.0.0, is-docker@^2.1.1: 1452 | version "2.2.1" 1453 | resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" 1454 | integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== 1455 | 1456 | is-extglob@^2.1.1: 1457 | version "2.1.1" 1458 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1459 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 1460 | 1461 | is-fullwidth-code-point@^3.0.0: 1462 | version "3.0.0" 1463 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1464 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1465 | 1466 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: 1467 | version "4.0.3" 1468 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1469 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1470 | dependencies: 1471 | is-extglob "^2.1.1" 1472 | 1473 | is-number@^7.0.0: 1474 | version "7.0.0" 1475 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1476 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1477 | 1478 | is-path-inside@^3.0.3: 1479 | version "3.0.3" 1480 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" 1481 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== 1482 | 1483 | is-plain-obj@^2.1.0: 1484 | version "2.1.0" 1485 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" 1486 | integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== 1487 | 1488 | is-unicode-supported@^0.1.0: 1489 | version "0.1.0" 1490 | resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" 1491 | integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== 1492 | 1493 | is-wsl@^2.2.0: 1494 | version "2.2.0" 1495 | resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" 1496 | integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== 1497 | dependencies: 1498 | is-docker "^2.0.0" 1499 | 1500 | isarray@~1.0.0: 1501 | version "1.0.0" 1502 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1503 | integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== 1504 | 1505 | isexe@^2.0.0: 1506 | version "2.0.0" 1507 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1508 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 1509 | 1510 | jackspeak@^4.0.1: 1511 | version "4.0.1" 1512 | resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-4.0.1.tgz#9fca4ce961af6083e259c376e9e3541431f5287b" 1513 | integrity sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog== 1514 | dependencies: 1515 | "@isaacs/cliui" "^8.0.2" 1516 | optionalDependencies: 1517 | "@pkgjs/parseargs" "^0.11.0" 1518 | 1519 | js-sdsl@^4.1.4: 1520 | version "4.2.0" 1521 | resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.2.0.tgz#278e98b7bea589b8baaf048c20aeb19eb7ad09d0" 1522 | integrity sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ== 1523 | 1524 | js-yaml@4.1.0, js-yaml@^4.1.0: 1525 | version "4.1.0" 1526 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 1527 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 1528 | dependencies: 1529 | argparse "^2.0.1" 1530 | 1531 | json-schema-traverse@^0.4.1: 1532 | version "0.4.1" 1533 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1534 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1535 | 1536 | json-stable-stringify-without-jsonify@^1.0.1: 1537 | version "1.0.1" 1538 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1539 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== 1540 | 1541 | jsonc-parser@^3.2.0: 1542 | version "3.3.1" 1543 | resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.3.1.tgz#f2a524b4f7fd11e3d791e559977ad60b98b798b4" 1544 | integrity sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ== 1545 | 1546 | jsonfile@^6.0.1: 1547 | version "6.1.0" 1548 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" 1549 | integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== 1550 | dependencies: 1551 | universalify "^2.0.0" 1552 | optionalDependencies: 1553 | graceful-fs "^4.1.6" 1554 | 1555 | jsonwebtoken@^9.0.0: 1556 | version "9.0.2" 1557 | resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" 1558 | integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== 1559 | dependencies: 1560 | jws "^3.2.2" 1561 | lodash.includes "^4.3.0" 1562 | lodash.isboolean "^3.0.3" 1563 | lodash.isinteger "^4.0.4" 1564 | lodash.isnumber "^3.0.3" 1565 | lodash.isplainobject "^4.0.6" 1566 | lodash.isstring "^4.0.1" 1567 | lodash.once "^4.0.0" 1568 | ms "^2.1.1" 1569 | semver "^7.5.4" 1570 | 1571 | jwa@^1.4.1: 1572 | version "1.4.1" 1573 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" 1574 | integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== 1575 | dependencies: 1576 | buffer-equal-constant-time "1.0.1" 1577 | ecdsa-sig-formatter "1.0.11" 1578 | safe-buffer "^5.0.1" 1579 | 1580 | jwa@^2.0.0: 1581 | version "2.0.0" 1582 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-2.0.0.tgz#a7e9c3f29dae94027ebcaf49975c9345593410fc" 1583 | integrity sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA== 1584 | dependencies: 1585 | buffer-equal-constant-time "1.0.1" 1586 | ecdsa-sig-formatter "1.0.11" 1587 | safe-buffer "^5.0.1" 1588 | 1589 | jws@^3.2.2: 1590 | version "3.2.2" 1591 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" 1592 | integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== 1593 | dependencies: 1594 | jwa "^1.4.1" 1595 | safe-buffer "^5.0.1" 1596 | 1597 | jws@^4.0.0: 1598 | version "4.0.0" 1599 | resolved "https://registry.yarnpkg.com/jws/-/jws-4.0.0.tgz#2d4e8cf6a318ffaa12615e9dec7e86e6c97310f4" 1600 | integrity sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg== 1601 | dependencies: 1602 | jwa "^2.0.0" 1603 | safe-buffer "^5.0.1" 1604 | 1605 | keytar@^7.7.0: 1606 | version "7.9.0" 1607 | resolved "https://registry.yarnpkg.com/keytar/-/keytar-7.9.0.tgz#4c6225708f51b50cbf77c5aae81721964c2918cb" 1608 | integrity sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ== 1609 | dependencies: 1610 | node-addon-api "^4.3.0" 1611 | prebuild-install "^7.0.1" 1612 | 1613 | leven@^3.1.0: 1614 | version "3.1.0" 1615 | resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" 1616 | integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== 1617 | 1618 | levn@^0.4.1: 1619 | version "0.4.1" 1620 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 1621 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1622 | dependencies: 1623 | prelude-ls "^1.2.1" 1624 | type-check "~0.4.0" 1625 | 1626 | linkify-it@^3.0.1: 1627 | version "3.0.3" 1628 | resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-3.0.3.tgz#a98baf44ce45a550efb4d49c769d07524cc2fa2e" 1629 | integrity sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ== 1630 | dependencies: 1631 | uc.micro "^1.0.1" 1632 | 1633 | listenercount@~1.0.1: 1634 | version "1.0.1" 1635 | resolved "https://registry.yarnpkg.com/listenercount/-/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937" 1636 | integrity sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ== 1637 | 1638 | locate-path@^6.0.0: 1639 | version "6.0.0" 1640 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 1641 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 1642 | dependencies: 1643 | p-locate "^5.0.0" 1644 | 1645 | lodash.includes@^4.3.0: 1646 | version "4.3.0" 1647 | resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" 1648 | integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== 1649 | 1650 | lodash.isboolean@^3.0.3: 1651 | version "3.0.3" 1652 | resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" 1653 | integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== 1654 | 1655 | lodash.isinteger@^4.0.4: 1656 | version "4.0.4" 1657 | resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" 1658 | integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== 1659 | 1660 | lodash.isnumber@^3.0.3: 1661 | version "3.0.3" 1662 | resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" 1663 | integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== 1664 | 1665 | lodash.isplainobject@^4.0.6: 1666 | version "4.0.6" 1667 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" 1668 | integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== 1669 | 1670 | lodash.isstring@^4.0.1: 1671 | version "4.0.1" 1672 | resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" 1673 | integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== 1674 | 1675 | lodash.merge@^4.6.2: 1676 | version "4.6.2" 1677 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 1678 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 1679 | 1680 | lodash.once@^4.0.0: 1681 | version "4.1.1" 1682 | resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" 1683 | integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== 1684 | 1685 | log-symbols@4.1.0: 1686 | version "4.1.0" 1687 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" 1688 | integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== 1689 | dependencies: 1690 | chalk "^4.1.0" 1691 | is-unicode-supported "^0.1.0" 1692 | 1693 | lru-cache@^11.0.0: 1694 | version "11.0.0" 1695 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.0.0.tgz#15d93a196f189034d7166caf9fe55e7384c98a21" 1696 | integrity sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA== 1697 | 1698 | lru-cache@^6.0.0: 1699 | version "6.0.0" 1700 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1701 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1702 | dependencies: 1703 | yallist "^4.0.0" 1704 | 1705 | map-stream@~0.1.0: 1706 | version "0.1.0" 1707 | resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" 1708 | integrity sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g== 1709 | 1710 | markdown-it@^12.3.2: 1711 | version "12.3.2" 1712 | resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.3.2.tgz#bf92ac92283fe983fe4de8ff8abfb5ad72cd0c90" 1713 | integrity sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg== 1714 | dependencies: 1715 | argparse "^2.0.1" 1716 | entities "~2.1.0" 1717 | linkify-it "^3.0.1" 1718 | mdurl "^1.0.1" 1719 | uc.micro "^1.0.5" 1720 | 1721 | mdurl@^1.0.1: 1722 | version "1.0.1" 1723 | resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" 1724 | integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== 1725 | 1726 | merge2@^1.3.0, merge2@^1.4.1: 1727 | version "1.4.1" 1728 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 1729 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1730 | 1731 | micromatch@^4.0.4: 1732 | version "4.0.5" 1733 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 1734 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 1735 | dependencies: 1736 | braces "^3.0.2" 1737 | picomatch "^2.3.1" 1738 | 1739 | mime-db@1.52.0: 1740 | version "1.52.0" 1741 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 1742 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 1743 | 1744 | mime-types@^2.1.12: 1745 | version "2.1.35" 1746 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 1747 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 1748 | dependencies: 1749 | mime-db "1.52.0" 1750 | 1751 | mime@^1.3.4: 1752 | version "1.6.0" 1753 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1754 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 1755 | 1756 | mimic-response@^3.1.0: 1757 | version "3.1.0" 1758 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" 1759 | integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== 1760 | 1761 | minimatch@5.0.1: 1762 | version "5.0.1" 1763 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" 1764 | integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== 1765 | dependencies: 1766 | brace-expansion "^2.0.1" 1767 | 1768 | minimatch@^10.0.0: 1769 | version "10.0.1" 1770 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.0.1.tgz#ce0521856b453c86e25f2c4c0d03e6ff7ddc440b" 1771 | integrity sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ== 1772 | dependencies: 1773 | brace-expansion "^2.0.1" 1774 | 1775 | minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: 1776 | version "3.1.2" 1777 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1778 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1779 | dependencies: 1780 | brace-expansion "^1.1.7" 1781 | 1782 | minimatch@^5.0.1: 1783 | version "5.1.2" 1784 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.2.tgz#0939d7d6f0898acbd1508abe534d1929368a8fff" 1785 | integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== 1786 | dependencies: 1787 | brace-expansion "^2.0.1" 1788 | 1789 | minimist@^1.2.0, minimist@^1.2.3: 1790 | version "1.2.8" 1791 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" 1792 | integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== 1793 | 1794 | minimist@^1.2.6: 1795 | version "1.2.7" 1796 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" 1797 | integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== 1798 | 1799 | minipass@^7.1.2: 1800 | version "7.1.2" 1801 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" 1802 | integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== 1803 | 1804 | mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: 1805 | version "0.5.3" 1806 | resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" 1807 | integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== 1808 | 1809 | "mkdirp@>=0.5 0": 1810 | version "0.5.6" 1811 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" 1812 | integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== 1813 | dependencies: 1814 | minimist "^1.2.6" 1815 | 1816 | mocha@^10.0.0: 1817 | version "10.2.0" 1818 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" 1819 | integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== 1820 | dependencies: 1821 | ansi-colors "4.1.1" 1822 | browser-stdout "1.3.1" 1823 | chokidar "3.5.3" 1824 | debug "4.3.4" 1825 | diff "5.0.0" 1826 | escape-string-regexp "4.0.0" 1827 | find-up "5.0.0" 1828 | glob "7.2.0" 1829 | he "1.2.0" 1830 | js-yaml "4.1.0" 1831 | log-symbols "4.1.0" 1832 | minimatch "5.0.1" 1833 | ms "2.1.3" 1834 | nanoid "3.3.3" 1835 | serialize-javascript "6.0.0" 1836 | strip-json-comments "3.1.1" 1837 | supports-color "8.1.1" 1838 | workerpool "6.2.1" 1839 | yargs "16.2.0" 1840 | yargs-parser "20.2.4" 1841 | yargs-unparser "2.0.0" 1842 | 1843 | ms@2.1.2: 1844 | version "2.1.2" 1845 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1846 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1847 | 1848 | ms@2.1.3, ms@^2.1.1: 1849 | version "2.1.3" 1850 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1851 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1852 | 1853 | mute-stream@~0.0.4: 1854 | version "0.0.8" 1855 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" 1856 | integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== 1857 | 1858 | nanoid@3.3.3: 1859 | version "3.3.3" 1860 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" 1861 | integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== 1862 | 1863 | napi-build-utils@^1.0.1: 1864 | version "1.0.2" 1865 | resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" 1866 | integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== 1867 | 1868 | natural-compare@^1.4.0: 1869 | version "1.4.0" 1870 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1871 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 1872 | 1873 | node-abi@^3.3.0: 1874 | version "3.65.0" 1875 | resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.65.0.tgz#ca92d559388e1e9cab1680a18c1a18757cdac9d3" 1876 | integrity sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA== 1877 | dependencies: 1878 | semver "^7.3.5" 1879 | 1880 | node-addon-api@^4.3.0: 1881 | version "4.3.0" 1882 | resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f" 1883 | integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ== 1884 | 1885 | node-domexception@^1.0.0: 1886 | version "1.0.0" 1887 | resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" 1888 | integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== 1889 | 1890 | node-fetch@3.2.10: 1891 | version "3.2.10" 1892 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.10.tgz#e8347f94b54ae18b57c9c049ef641cef398a85c8" 1893 | integrity sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA== 1894 | dependencies: 1895 | data-uri-to-buffer "^4.0.0" 1896 | fetch-blob "^3.1.4" 1897 | formdata-polyfill "^4.0.10" 1898 | 1899 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1900 | version "3.0.0" 1901 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1902 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1903 | 1904 | nth-check@^2.0.1: 1905 | version "2.1.1" 1906 | resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" 1907 | integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== 1908 | dependencies: 1909 | boolbase "^1.0.0" 1910 | 1911 | object-inspect@^1.13.1: 1912 | version "1.13.2" 1913 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" 1914 | integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== 1915 | 1916 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 1917 | version "1.4.0" 1918 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1919 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 1920 | dependencies: 1921 | wrappy "1" 1922 | 1923 | open@^8.0.0: 1924 | version "8.4.2" 1925 | resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" 1926 | integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== 1927 | dependencies: 1928 | define-lazy-prop "^2.0.0" 1929 | is-docker "^2.1.1" 1930 | is-wsl "^2.2.0" 1931 | 1932 | optionator@^0.9.1: 1933 | version "0.9.1" 1934 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" 1935 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 1936 | dependencies: 1937 | deep-is "^0.1.3" 1938 | fast-levenshtein "^2.0.6" 1939 | levn "^0.4.1" 1940 | prelude-ls "^1.2.1" 1941 | type-check "^0.4.0" 1942 | word-wrap "^1.2.3" 1943 | 1944 | p-limit@^3.0.2: 1945 | version "3.1.0" 1946 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 1947 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 1948 | dependencies: 1949 | yocto-queue "^0.1.0" 1950 | 1951 | p-locate@^5.0.0: 1952 | version "5.0.0" 1953 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 1954 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 1955 | dependencies: 1956 | p-limit "^3.0.2" 1957 | 1958 | package-json-from-dist@^1.0.0: 1959 | version "1.0.0" 1960 | resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00" 1961 | integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== 1962 | 1963 | parent-module@^1.0.0: 1964 | version "1.0.1" 1965 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 1966 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1967 | dependencies: 1968 | callsites "^3.0.0" 1969 | 1970 | parse-semver@^1.1.1: 1971 | version "1.1.1" 1972 | resolved "https://registry.yarnpkg.com/parse-semver/-/parse-semver-1.1.1.tgz#9a4afd6df063dc4826f93fba4a99cf223f666cb8" 1973 | integrity sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ== 1974 | dependencies: 1975 | semver "^5.1.0" 1976 | 1977 | parse5-htmlparser2-tree-adapter@^7.0.0: 1978 | version "7.0.0" 1979 | resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz#23c2cc233bcf09bb7beba8b8a69d46b08c62c2f1" 1980 | integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== 1981 | dependencies: 1982 | domhandler "^5.0.2" 1983 | parse5 "^7.0.0" 1984 | 1985 | parse5@^7.0.0: 1986 | version "7.1.2" 1987 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" 1988 | integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== 1989 | dependencies: 1990 | entities "^4.4.0" 1991 | 1992 | path-exists@^4.0.0: 1993 | version "4.0.0" 1994 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 1995 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1996 | 1997 | path-is-absolute@^1.0.0: 1998 | version "1.0.1" 1999 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2000 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 2001 | 2002 | path-key@^3.1.0: 2003 | version "3.1.1" 2004 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2005 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2006 | 2007 | path-scurry@^2.0.0: 2008 | version "2.0.0" 2009 | resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-2.0.0.tgz#9f052289f23ad8bf9397a2a0425e7b8615c58580" 2010 | integrity sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg== 2011 | dependencies: 2012 | lru-cache "^11.0.0" 2013 | minipass "^7.1.2" 2014 | 2015 | path-type@^4.0.0: 2016 | version "4.0.0" 2017 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 2018 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 2019 | 2020 | pause-stream@0.0.11: 2021 | version "0.0.11" 2022 | resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" 2023 | integrity sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A== 2024 | dependencies: 2025 | through "~2.3" 2026 | 2027 | pend@~1.2.0: 2028 | version "1.2.0" 2029 | resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" 2030 | integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== 2031 | 2032 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: 2033 | version "2.3.1" 2034 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 2035 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 2036 | 2037 | prebuild-install@^7.0.1: 2038 | version "7.1.2" 2039 | resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.2.tgz#a5fd9986f5a6251fbc47e1e5c65de71e68c0a056" 2040 | integrity sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ== 2041 | dependencies: 2042 | detect-libc "^2.0.0" 2043 | expand-template "^2.0.3" 2044 | github-from-package "0.0.0" 2045 | minimist "^1.2.3" 2046 | mkdirp-classic "^0.5.3" 2047 | napi-build-utils "^1.0.1" 2048 | node-abi "^3.3.0" 2049 | pump "^3.0.0" 2050 | rc "^1.2.7" 2051 | simple-get "^4.0.0" 2052 | tar-fs "^2.0.0" 2053 | tunnel-agent "^0.6.0" 2054 | 2055 | prelude-ls@^1.2.1: 2056 | version "1.2.1" 2057 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 2058 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 2059 | 2060 | process-nextick-args@~2.0.0: 2061 | version "2.0.1" 2062 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 2063 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 2064 | 2065 | ps-tree@^1.2.0: 2066 | version "1.2.0" 2067 | resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.2.0.tgz#5e7425b89508736cdd4f2224d028f7bb3f722ebd" 2068 | integrity sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA== 2069 | dependencies: 2070 | event-stream "=3.3.4" 2071 | 2072 | pump@^3.0.0: 2073 | version "3.0.0" 2074 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 2075 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 2076 | dependencies: 2077 | end-of-stream "^1.1.0" 2078 | once "^1.3.1" 2079 | 2080 | punycode@^2.1.0: 2081 | version "2.2.0" 2082 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.2.0.tgz#2092cc57cd2582c38e4e7e8bb869dc8d3148bc74" 2083 | integrity sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw== 2084 | 2085 | qs@^6.9.1: 2086 | version "6.12.3" 2087 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.12.3.tgz#e43ce03c8521b9c7fd7f1f13e514e5ca37727754" 2088 | integrity sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ== 2089 | dependencies: 2090 | side-channel "^1.0.6" 2091 | 2092 | queue-microtask@^1.2.2: 2093 | version "1.2.3" 2094 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 2095 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 2096 | 2097 | randombytes@^2.1.0: 2098 | version "2.1.0" 2099 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 2100 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 2101 | dependencies: 2102 | safe-buffer "^5.1.0" 2103 | 2104 | rc@^1.2.7: 2105 | version "1.2.8" 2106 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 2107 | integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== 2108 | dependencies: 2109 | deep-extend "^0.6.0" 2110 | ini "~1.3.0" 2111 | minimist "^1.2.0" 2112 | strip-json-comments "~2.0.1" 2113 | 2114 | read@^1.0.7: 2115 | version "1.0.7" 2116 | resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" 2117 | integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ== 2118 | dependencies: 2119 | mute-stream "~0.0.4" 2120 | 2121 | readable-stream@^2.0.2, readable-stream@~2.3.6: 2122 | version "2.3.7" 2123 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" 2124 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 2125 | dependencies: 2126 | core-util-is "~1.0.0" 2127 | inherits "~2.0.3" 2128 | isarray "~1.0.0" 2129 | process-nextick-args "~2.0.0" 2130 | safe-buffer "~5.1.1" 2131 | string_decoder "~1.1.1" 2132 | util-deprecate "~1.0.1" 2133 | 2134 | readable-stream@^3.1.1, readable-stream@^3.4.0: 2135 | version "3.6.2" 2136 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" 2137 | integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== 2138 | dependencies: 2139 | inherits "^2.0.3" 2140 | string_decoder "^1.1.1" 2141 | util-deprecate "^1.0.1" 2142 | 2143 | readdirp@~3.6.0: 2144 | version "3.6.0" 2145 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 2146 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 2147 | dependencies: 2148 | picomatch "^2.2.1" 2149 | 2150 | regexpp@^3.2.0: 2151 | version "3.2.0" 2152 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" 2153 | integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== 2154 | 2155 | require-directory@^2.1.1: 2156 | version "2.1.1" 2157 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2158 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== 2159 | 2160 | resolve-from@^4.0.0: 2161 | version "4.0.0" 2162 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 2163 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 2164 | 2165 | reusify@^1.0.4: 2166 | version "1.0.4" 2167 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 2168 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 2169 | 2170 | rimraf@2: 2171 | version "2.7.1" 2172 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" 2173 | integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== 2174 | dependencies: 2175 | glob "^7.1.3" 2176 | 2177 | rimraf@^3.0.2: 2178 | version "3.0.2" 2179 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 2180 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 2181 | dependencies: 2182 | glob "^7.1.3" 2183 | 2184 | run-parallel@^1.1.9: 2185 | version "1.2.0" 2186 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 2187 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 2188 | dependencies: 2189 | queue-microtask "^1.2.2" 2190 | 2191 | safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: 2192 | version "5.2.1" 2193 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 2194 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 2195 | 2196 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 2197 | version "5.1.2" 2198 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 2199 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 2200 | 2201 | sax@>=0.6.0: 2202 | version "1.4.1" 2203 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" 2204 | integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== 2205 | 2206 | semver@^5.1.0: 2207 | version "5.7.2" 2208 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" 2209 | integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== 2210 | 2211 | semver@^7.3.5, semver@^7.5.2, semver@^7.5.4: 2212 | version "7.6.3" 2213 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" 2214 | integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== 2215 | 2216 | serialize-javascript@6.0.0: 2217 | version "6.0.0" 2218 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" 2219 | integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== 2220 | dependencies: 2221 | randombytes "^2.1.0" 2222 | 2223 | set-function-length@^1.2.1: 2224 | version "1.2.2" 2225 | resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" 2226 | integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== 2227 | dependencies: 2228 | define-data-property "^1.1.4" 2229 | es-errors "^1.3.0" 2230 | function-bind "^1.1.2" 2231 | get-intrinsic "^1.2.4" 2232 | gopd "^1.0.1" 2233 | has-property-descriptors "^1.0.2" 2234 | 2235 | setimmediate@~1.0.4: 2236 | version "1.0.5" 2237 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 2238 | integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== 2239 | 2240 | shebang-command@^2.0.0: 2241 | version "2.0.0" 2242 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 2243 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2244 | dependencies: 2245 | shebang-regex "^3.0.0" 2246 | 2247 | shebang-regex@^3.0.0: 2248 | version "3.0.0" 2249 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 2250 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 2251 | 2252 | side-channel@^1.0.6: 2253 | version "1.0.6" 2254 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" 2255 | integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== 2256 | dependencies: 2257 | call-bind "^1.0.7" 2258 | es-errors "^1.3.0" 2259 | get-intrinsic "^1.2.4" 2260 | object-inspect "^1.13.1" 2261 | 2262 | signal-exit@^4.0.1: 2263 | version "4.1.0" 2264 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" 2265 | integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== 2266 | 2267 | simple-concat@^1.0.0: 2268 | version "1.0.1" 2269 | resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" 2270 | integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== 2271 | 2272 | simple-get@^4.0.0: 2273 | version "4.0.1" 2274 | resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" 2275 | integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== 2276 | dependencies: 2277 | decompress-response "^6.0.0" 2278 | once "^1.3.1" 2279 | simple-concat "^1.0.0" 2280 | 2281 | slash@^4.0.0: 2282 | version "4.0.0" 2283 | resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" 2284 | integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== 2285 | 2286 | split@0.3: 2287 | version "0.3.3" 2288 | resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" 2289 | integrity sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA== 2290 | dependencies: 2291 | through "2" 2292 | 2293 | stoppable@^1.1.0: 2294 | version "1.1.0" 2295 | resolved "https://registry.yarnpkg.com/stoppable/-/stoppable-1.1.0.tgz#32da568e83ea488b08e4d7ea2c3bcc9d75015d5b" 2296 | integrity sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw== 2297 | 2298 | stream-combiner@~0.0.4: 2299 | version "0.0.4" 2300 | resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" 2301 | integrity sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw== 2302 | dependencies: 2303 | duplexer "~0.1.1" 2304 | 2305 | "string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0: 2306 | version "4.2.3" 2307 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 2308 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 2309 | dependencies: 2310 | emoji-regex "^8.0.0" 2311 | is-fullwidth-code-point "^3.0.0" 2312 | strip-ansi "^6.0.1" 2313 | 2314 | string-width@^5.0.1, string-width@^5.1.2: 2315 | version "5.1.2" 2316 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" 2317 | integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== 2318 | dependencies: 2319 | eastasianwidth "^0.2.0" 2320 | emoji-regex "^9.2.2" 2321 | strip-ansi "^7.0.1" 2322 | 2323 | string_decoder@^1.1.1: 2324 | version "1.3.0" 2325 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" 2326 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 2327 | dependencies: 2328 | safe-buffer "~5.2.0" 2329 | 2330 | string_decoder@~1.1.1: 2331 | version "1.1.1" 2332 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 2333 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 2334 | dependencies: 2335 | safe-buffer "~5.1.0" 2336 | 2337 | "strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: 2338 | version "6.0.1" 2339 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 2340 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2341 | dependencies: 2342 | ansi-regex "^5.0.1" 2343 | 2344 | strip-ansi@^7.0.1: 2345 | version "7.1.0" 2346 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" 2347 | integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== 2348 | dependencies: 2349 | ansi-regex "^6.0.1" 2350 | 2351 | strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 2352 | version "3.1.1" 2353 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 2354 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 2355 | 2356 | strip-json-comments@~2.0.1: 2357 | version "2.0.1" 2358 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 2359 | integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== 2360 | 2361 | supports-color@8.1.1: 2362 | version "8.1.1" 2363 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 2364 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 2365 | dependencies: 2366 | has-flag "^4.0.0" 2367 | 2368 | supports-color@^5.3.0: 2369 | version "5.5.0" 2370 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 2371 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 2372 | dependencies: 2373 | has-flag "^3.0.0" 2374 | 2375 | supports-color@^7.1.0: 2376 | version "7.2.0" 2377 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 2378 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2379 | dependencies: 2380 | has-flag "^4.0.0" 2381 | 2382 | tar-fs@^2.0.0: 2383 | version "2.1.1" 2384 | resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" 2385 | integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== 2386 | dependencies: 2387 | chownr "^1.1.1" 2388 | mkdirp-classic "^0.5.2" 2389 | pump "^3.0.0" 2390 | tar-stream "^2.1.4" 2391 | 2392 | tar-stream@^2.1.4: 2393 | version "2.2.0" 2394 | resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" 2395 | integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== 2396 | dependencies: 2397 | bl "^4.0.3" 2398 | end-of-stream "^1.4.1" 2399 | fs-constants "^1.0.0" 2400 | inherits "^2.0.3" 2401 | readable-stream "^3.1.1" 2402 | 2403 | text-table@^0.2.0: 2404 | version "0.2.0" 2405 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 2406 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== 2407 | 2408 | through@2, through@~2.3, through@~2.3.1: 2409 | version "2.3.8" 2410 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 2411 | integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== 2412 | 2413 | tmp@^0.2.3: 2414 | version "0.2.3" 2415 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" 2416 | integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== 2417 | 2418 | to-regex-range@^5.0.1: 2419 | version "5.0.1" 2420 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2421 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2422 | dependencies: 2423 | is-number "^7.0.0" 2424 | 2425 | "traverse@>=0.3.0 <0.4": 2426 | version "0.3.9" 2427 | resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" 2428 | integrity sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ== 2429 | 2430 | tslib@^2.2.0, tslib@^2.6.2: 2431 | version "2.6.3" 2432 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" 2433 | integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== 2434 | 2435 | tunnel-agent@^0.6.0: 2436 | version "0.6.0" 2437 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 2438 | integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== 2439 | dependencies: 2440 | safe-buffer "^5.0.1" 2441 | 2442 | tunnel@0.0.6: 2443 | version "0.0.6" 2444 | resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" 2445 | integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== 2446 | 2447 | type-check@^0.4.0, type-check@~0.4.0: 2448 | version "0.4.0" 2449 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 2450 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 2451 | dependencies: 2452 | prelude-ls "^1.2.1" 2453 | 2454 | type-fest@^0.20.2: 2455 | version "0.20.2" 2456 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 2457 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 2458 | 2459 | typed-rest-client@^1.8.4: 2460 | version "1.8.11" 2461 | resolved "https://registry.yarnpkg.com/typed-rest-client/-/typed-rest-client-1.8.11.tgz#6906f02e3c91e8d851579f255abf0fd60800a04d" 2462 | integrity sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA== 2463 | dependencies: 2464 | qs "^6.9.1" 2465 | tunnel "0.0.6" 2466 | underscore "^1.12.1" 2467 | 2468 | typescript@^4.7.2: 2469 | version "4.9.4" 2470 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" 2471 | integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== 2472 | 2473 | uc.micro@^1.0.1, uc.micro@^1.0.5: 2474 | version "1.0.6" 2475 | resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" 2476 | integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== 2477 | 2478 | underscore@^1.12.1: 2479 | version "1.13.6" 2480 | resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441" 2481 | integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== 2482 | 2483 | universalify@^2.0.0: 2484 | version "2.0.0" 2485 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" 2486 | integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== 2487 | 2488 | unzipper@^0.10.11: 2489 | version "0.10.11" 2490 | resolved "https://registry.yarnpkg.com/unzipper/-/unzipper-0.10.11.tgz#0b4991446472cbdb92ee7403909f26c2419c782e" 2491 | integrity sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw== 2492 | dependencies: 2493 | big-integer "^1.6.17" 2494 | binary "~0.3.0" 2495 | bluebird "~3.4.1" 2496 | buffer-indexof-polyfill "~1.0.0" 2497 | duplexer2 "~0.1.4" 2498 | fstream "^1.0.12" 2499 | graceful-fs "^4.2.2" 2500 | listenercount "~1.0.1" 2501 | readable-stream "~2.3.6" 2502 | setimmediate "~1.0.4" 2503 | 2504 | uri-js@^4.2.2: 2505 | version "4.4.1" 2506 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 2507 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 2508 | dependencies: 2509 | punycode "^2.1.0" 2510 | 2511 | url-join@^4.0.1: 2512 | version "4.0.1" 2513 | resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" 2514 | integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== 2515 | 2516 | util-deprecate@^1.0.1, util-deprecate@~1.0.1: 2517 | version "1.0.2" 2518 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2519 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 2520 | 2521 | uuid@^8.3.0: 2522 | version "8.3.2" 2523 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" 2524 | integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== 2525 | 2526 | web-streams-polyfill@^3.0.3: 2527 | version "3.2.1" 2528 | resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" 2529 | integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== 2530 | 2531 | which@^2.0.1, which@^2.0.2: 2532 | version "2.0.2" 2533 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2534 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2535 | dependencies: 2536 | isexe "^2.0.0" 2537 | 2538 | word-wrap@^1.2.3: 2539 | version "1.2.3" 2540 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 2541 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 2542 | 2543 | workerpool@6.2.1: 2544 | version "6.2.1" 2545 | resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" 2546 | integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== 2547 | 2548 | "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: 2549 | version "7.0.0" 2550 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 2551 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 2552 | dependencies: 2553 | ansi-styles "^4.0.0" 2554 | string-width "^4.1.0" 2555 | strip-ansi "^6.0.0" 2556 | 2557 | wrap-ansi@^8.1.0: 2558 | version "8.1.0" 2559 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" 2560 | integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== 2561 | dependencies: 2562 | ansi-styles "^6.1.0" 2563 | string-width "^5.0.1" 2564 | strip-ansi "^7.0.1" 2565 | 2566 | wrappy@1: 2567 | version "1.0.2" 2568 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2569 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 2570 | 2571 | xml2js@^0.5.0: 2572 | version "0.5.0" 2573 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.5.0.tgz#d9440631fbb2ed800203fad106f2724f62c493b7" 2574 | integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA== 2575 | dependencies: 2576 | sax ">=0.6.0" 2577 | xmlbuilder "~11.0.0" 2578 | 2579 | xmlbuilder@~11.0.0: 2580 | version "11.0.1" 2581 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" 2582 | integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== 2583 | 2584 | y18n@^5.0.5: 2585 | version "5.0.8" 2586 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 2587 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 2588 | 2589 | yallist@^4.0.0: 2590 | version "4.0.0" 2591 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2592 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2593 | 2594 | yaml@^2.1.1: 2595 | version "2.2.1" 2596 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.1.tgz#3014bf0482dcd15147aa8e56109ce8632cd60ce4" 2597 | integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== 2598 | 2599 | yargs-parser@20.2.4: 2600 | version "20.2.4" 2601 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" 2602 | integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== 2603 | 2604 | yargs-parser@^20.2.2: 2605 | version "20.2.9" 2606 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" 2607 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== 2608 | 2609 | yargs-unparser@2.0.0: 2610 | version "2.0.0" 2611 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" 2612 | integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== 2613 | dependencies: 2614 | camelcase "^6.0.0" 2615 | decamelize "^4.0.0" 2616 | flat "^5.0.2" 2617 | is-plain-obj "^2.1.0" 2618 | 2619 | yargs@16.2.0: 2620 | version "16.2.0" 2621 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 2622 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 2623 | dependencies: 2624 | cliui "^7.0.2" 2625 | escalade "^3.1.1" 2626 | get-caller-file "^2.0.5" 2627 | require-directory "^2.1.1" 2628 | string-width "^4.2.0" 2629 | y18n "^5.0.5" 2630 | yargs-parser "^20.2.2" 2631 | 2632 | yauzl@^2.3.1: 2633 | version "2.10.0" 2634 | resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" 2635 | integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== 2636 | dependencies: 2637 | buffer-crc32 "~0.2.3" 2638 | fd-slicer "~1.1.0" 2639 | 2640 | yazl@^2.2.2: 2641 | version "2.5.1" 2642 | resolved "https://registry.yarnpkg.com/yazl/-/yazl-2.5.1.tgz#a3d65d3dd659a5b0937850e8609f22fffa2b5c35" 2643 | integrity sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw== 2644 | dependencies: 2645 | buffer-crc32 "~0.2.3" 2646 | 2647 | yocto-queue@^0.1.0: 2648 | version "0.1.0" 2649 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 2650 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 2651 | 2652 | zx@^7.1.1: 2653 | version "7.1.1" 2654 | resolved "https://registry.yarnpkg.com/zx/-/zx-7.1.1.tgz#8dc709fb8acd90ae5f39476145e5a2f3883dca1e" 2655 | integrity sha512-5YlTO2AJ+Ku2YuZKSSSqnUKuagcM/f/j4LmHs15O84Ch80Z9gzR09ZK3gR7GV+rc8IFpz2H/XNFtFVmj31yrZA== 2656 | dependencies: 2657 | "@types/fs-extra" "^9.0.13" 2658 | "@types/minimist" "^1.2.2" 2659 | "@types/node" "^18.7.20" 2660 | "@types/ps-tree" "^1.1.2" 2661 | "@types/which" "^2.0.1" 2662 | chalk "^5.0.1" 2663 | fs-extra "^10.1.0" 2664 | globby "^13.1.2" 2665 | minimist "^1.2.6" 2666 | node-fetch "3.2.10" 2667 | ps-tree "^1.2.0" 2668 | which "^2.0.2" 2669 | yaml "^2.1.1" 2670 | --------------------------------------------------------------------------------