feat:移除了弹窗,服务器添加sls

This commit is contained in:
AxTps committed 2026-09-08 22:39:45 +08:00
commit 6a295f9a7a
4082 files changed
+1322534

No files matched your search

+5
View File
@@ -0,0 +1,5 @@
**/dist
public/monaco
*.gltf
src/locales/
src/assets/**/*.svg
+31
View File
@@ -0,0 +1,31 @@
# Copying
Axolotl Launcher's frontend is a modified version of Modrinth App's frontend. It is licensed under the GNU General Public License, Version 3 only, provided in [LICENSE](./LICENSE).
Copyright for the original work remains with Rinth, Inc. and the original contributors. Axolotl modifications are Copyright © 2026 Garbage Human Studio and were developed by Mystic Stars.
Axolotl Launcher is an independent, unofficial client. Modrinth is a trademark of Rinth, Inc. and is referenced only to identify API and file-format compatibility. Axolotl Launcher is not affiliated with or endorsed by Rinth, Inc.
## Schematic preview attribution
The local schematic preview uses [Deepslate](https://github.com/misode/deepslate) 0.26.0 for Minecraft blockstate and model mesh generation. Deepslate is distributed under the MIT License, and its package license is included with the installed dependencies.
The bundled blockstate data, block models, default block properties, and texture atlas are sourced from the public [Misode mcmeta](https://github.com/misode/mcmeta) dataset, which is generated from Minecraft: Java Edition client resources and Mojang's data generator. The current bundle is pinned to `summary@b8170fbc07725bf4930d189ad5dc16f70e09b9cd` and `atlas@a73f0316d9cea52a53381664328bda00e5fe79e4` (Minecraft `26.3-snapshot-6`) and can be reproduced with `scripts/axolotl/sync-schematic-resources.mjs`.
Minecraft and its original resources are Copyright Mojang AB. Their namespaced identifiers are retained only where required to identify compatible game content. Axolotl Launcher is not affiliated with or endorsed by Mojang or Microsoft.
## Recipe generator attribution
The recipe generator's vanilla recipe catalogs and expanded item tags are sourced from [destruc7i0n/crafting](https://github.com/destruc7i0n/crafting) at commit `e6c71dd816216a73cda2787aa5253f641b57fbeb`, which is distributed under the MIT License. A verbatim copy is provided in [third-party/licenses/MIT.txt](../../third-party/licenses/MIT.txt).
Item identifiers, readable names, and textures are sourced from the `minecraft-textures` npm package version `26.2.1` by destruc7i0n, which is distributed under the GNU General Public License, Version 3. The GPL-3.0 text is provided in the app frontend [LICENSE](./LICENSE).
The recipe data and item artwork ultimately derive from Minecraft data generator output and Minecraft game resources. Minecraft and its original resources are Copyright Mojang Studios / Microsoft and are used only to identify compatible game content. Axolotl Launcher is not affiliated with or endorsed by Mojang Studios or Microsoft.
## AI integration attribution
The AI provider settings information architecture, provider catalog, and provider descriptions are adapted from [LobeChat](https://github.com/lobehub/lobe-chat) at commit `a27dfaeda1ab499ac024a6eb0448917b216ba8a1`. The localized provider descriptions under `src/data/lobehub-provider-descriptions` are reproduced from that release. Bundled text-model metadata is synchronized separately from [LobeHub's model bank](https://github.com/lobehub/lobehub/tree/main/packages/model-bank/src/aiModels), with its exact source revision recorded in the backend catalog. LobeChat is distributed under the LobeHub Community License; a verbatim copy of that license is provided in [third-party/licenses/LobeHub-Community-License.txt](../../third-party/licenses/LobeHub-Community-License.txt).
Provider and model marks are loaded from [Lobe Icons](https://github.com/lobehub/lobe-icons) through `@lobehub/icons-static-svg`. Lobe Icons is distributed under the MIT License; its license is included with the installed package.
The translation provider and model selection workflow is adapted from [Read Frog](https://github.com/mengxi-ream/read-frog) at commit `951e20fa82cd96d606a44156362f402c79d11473`. Read Frog is distributed under the GNU General Public License, Version 3; a copy is provided in [third-party/licenses/Read-Frog-GPL-3.0.txt](../../third-party/licenses/Read-Frog-GPL-3.0.txt).
+674
View File
@@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
+2
View File
@@ -0,0 +1,2 @@
import config from '@modrinth/tooling-config/eslint/nuxt.mjs'
export default config
+16
View File
@@ -0,0 +1,16 @@
<!doctype html>
<html lang="en" class="dark-mode accent-pink">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/png" href="/src/assets/axolotl.png" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Axolotl Launcher</title>
<link rel="stylesheet" href="/src/assets/stylesheets/global.scss" />
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>
+74
View File
@@ -0,0 +1,74 @@
{
"name": "@modrinth/app-frontend",
"private": true,
"version": "1.9.6-beta.3",
"type": "module",
"scripts": {
"dev": "vite",
"build": "pnpm contributors:sync && vue-tsc --noEmit && vite build",
"contributors:sync": "node ../../scripts/axolotl/sync-contributors.mjs",
"tsc:check": "vue-tsc --noEmit",
"lint": "eslint . && prettier --check .",
"fix": "eslint . --fix && prettier --write .",
"intl:extract": "formatjs extract \"src/**/*.{vue,ts,tsx,js,jsx,mts,cts,mjs,cjs}\" --ignore \"**/*.d.ts\" --ignore node_modules --out-file src/locales/en-US/index.json --format crowdin --preserve-whitespace",
"intl:prune-local": "pnpm -w scripts i18n-icu-contract prune-local --scope apps/app-frontend",
"test": "vue-tsc --noEmit && node --test \"src/**/*.test.ts\""
},
"dependencies": {
"@lobehub/icons-static-svg": "1.94.0",
"@modrinth/api-client": "workspace:^",
"@modrinth/assets": "workspace:*",
"@modrinth/server": "workspace:*",
"@modrinth/ui": "workspace:*",
"@modrinth/utils": "workspace:*",
"@sfirew/minecraft-motd-parser": "^1.1.6",
"@tanstack/vue-query": "5.90.7",
"@tauri-apps/api": "^2.5.0",
"@tauri-apps/plugin-dialog": "^2.2.1",
"@tauri-apps/plugin-fs": "^2.4.5",
"@tauri-apps/plugin-http": "~2.5.7",
"@tauri-apps/plugin-opener": "^2.2.6",
"@tauri-apps/plugin-os": "^2.2.1",
"@tauri-apps/plugin-updater": "^2.7.1",
"@tauri-apps/plugin-window-state": "^2.2.2",
"@types/three": "^0.172.0",
"@vueuse/core": "^11.1.0",
"dayjs": "^1.11.10",
"deepslate": "0.26.0",
"fflate": "0.8.2",
"floating-vue": "^5.2.2",
"fuse.js": "^6.6.2",
"intl-messageformat": "^10.7.7",
"monaco-editor": "^0.56.0",
"ofetch": "^1.3.4",
"overlayscrollbars": "^2.15.1",
"pinia": "^3.0.0",
"three": "^0.172.0",
"vite-svg-loader": "^5.1.0",
"vue": "^3.5.13",
"vue-i18n": "^10.0.0",
"vue-router": "^4.6.0",
"vuedraggable": "^4.1.0"
},
"devDependencies": {
"@eslint/compat": "^1.1.1",
"@formatjs/cli": "^6.2.12",
"@modrinth/tooling-config": "workspace:*",
"@nuxt/eslint-config": "^0.5.6",
"@vitejs/plugin-vue": "^6.0.3",
"autoprefixer": "^10.4.19",
"eslint": "^9.9.1",
"eslint-plugin-turbo": "^2.5.4",
"postcss": "^8.4.39",
"prettier": "^3.2.5",
"sass": "^1.74.1",
"tailwindcss": "^3.4.4",
"typescript": "^5.5.4",
"vite": "^8.0.0",
"vite-plugin-vue-devtools": "^8.2.1",
"vue-component-type-helpers": "^3.1.8",
"vue-tsc": "^2.1.6"
},
"packageManager": "pnpm@9.4.0",
"web-types": "../../web-types.json"
}
+6
View File
@@ -0,0 +1,6 @@
export default {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

@@ -0,0 +1,229 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>坦克动荡 - 战术版</title>
<style>
*{margin:0;padding:0;box-sizing:border-box}
body{background:#0a0f1e;display:flex;align-items:center;justify-content:center;min-height:100vh;font-family:'Segoe UI','Microsoft YaHei',system-ui,sans-serif;overflow:hidden;background:radial-gradient(ellipse at 50% -20%,#1c2d52 0%,#0a0f1e 55%,#04060c 100%)}
body::before{content:'';position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,0.02) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,rgba(255,255,255,0.02) 0 1px,transparent 1px 4px)}
.game-container{position:relative;width:800px;height:600px;background:#0e1626;border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px rgba(148,163,184,0.18),0 12px 60px rgba(0,0,0,0.85),0 0 50px rgba(56,189,248,0.14);user-select:none}
canvas{display:block;cursor:crosshair}
.ui-overlay{position:absolute;top:0;left:0;right:0;padding:6px 10px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;z-index:10}
.ui-badge{background:linear-gradient(135deg,rgba(15,23,42,0.85),rgba(15,23,42,0.45));color:#e2e8f0;padding:6px 14px;border-radius:20px;font-size:14px;font-weight:600;backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,0.22);box-shadow:0 2px 14px rgba(0,0,0,0.4)}
.health-bar{width:130px;height:9px;background:rgba(255,255,255,0.1);border-radius:5px;overflow:hidden;margin-top:7px;box-shadow:inset 0 1px 3px rgba(0,0,0,0.6)}
.health-fill{height:100%;background:linear-gradient(90deg,#22c55e,#4ade80);border-radius:5px;transition:width 0.2s,background 0.2s;box-shadow:0 0 10px rgba(74,222,128,0.7)}
.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,rgba(15,23,42,0.5) 0%,rgba(4,6,12,0.93) 100%);backdrop-filter:blur(12px);z-index:30;transition:opacity 0.35s;pointer-events:all}
.screen.hidden{opacity:0;pointer-events:none}
.screen h1{color:#fff;font-size:54px;margin:0 0 12px;letter-spacing:10px;font-weight:800;animation:titleGlow 2.2s ease-in-out infinite}
@keyframes titleGlow{0%,100%{text-shadow:0 0 14px rgba(74,222,128,0.7),0 0 45px rgba(34,197,94,0.4),0 2px 6px rgba(0,0,0,0.8)}50%{text-shadow:0 0 26px rgba(74,222,128,1),0 0 90px rgba(34,197,94,0.75),0 2px 6px rgba(0,0,0,0.8)}}
.screen p{color:#cbd5e1;font-size:16px;margin:0 0 30px;letter-spacing:1px}
.btn{background:linear-gradient(135deg,#22c55e,#059669);color:#fff;border:none;padding:15px 54px;font-size:18px;font-weight:800;border-radius:12px;cursor:pointer;transition:all 0.2s;letter-spacing:3px;box-shadow:0 4px 24px rgba(34,197,94,0.45),inset 0 1px 0 rgba(255,255,255,0.25)}
.btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 10px 36px rgba(34,197,94,0.7),inset 0 1px 0 rgba(255,255,255,0.25);filter:brightness(1.1)}
.btn:active{transform:translateY(0) scale(0.98)}
.level-text{color:#fbbf24;font-size:22px;margin-bottom:12px;font-weight:800;text-shadow:0 0 14px rgba(251,191,36,0.7);letter-spacing:3px}
.stats{color:#9ca3af;font-size:14px;margin-bottom:22px}
.ammo-current{position:absolute;left:50%;top:6px;transform:translateX(-50%);z-index:16;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(10,15,30,0.75);border:2px solid rgba(74,222,128,0.5);border-radius:12px;box-shadow:0 0 16px rgba(74,222,128,0.3);pointer-events:none}
.ammo-current img{width:22px;height:22px;object-fit:contain}
.ammo-panel{position:absolute;bottom:14px;right:14px;z-index:15;display:flex;flex-direction:column-reverse;gap:3px;align-items:flex-end;pointer-events:none}
.ammo-row{display:flex;align-items:center;gap:5px;background:rgba(10,15,30,0.72);border:1px solid rgba(148,163,184,0.2);border-radius:7px;padding:2px 7px;font-size:11px;color:#e2e8f0;backdrop-filter:blur(6px);transition:border-color .12s,box-shadow .12s}
.ammo-row.active{border-color:rgba(74,222,128,0.65);box-shadow:0 0 10px rgba(74,222,128,0.3)}
.ammo-icon{width:16px;height:16px;object-fit:contain}
.ammo-name{color:#cbd5e1}
.ammo-count{font-weight:700;color:#fbbf24;min-width:26px;text-align:right}
.controls-hint{position:absolute;bottom:6px;left:6px;z-index:15;color:#cbd5e1;font-size:11px;pointer-events:none;background:rgba(10,15,30,0.72);padding:7px 14px;border-radius:10px;border:1px solid rgba(148,163,184,0.2);backdrop-filter:blur(6px);box-shadow:0 2px 10px rgba(0,0,0,0.35)}
.controls-hint kbd{background:rgba(15,23,42,0.9);padding:2px 7px;border-radius:5px;font-family:monospace;color:#d1d5db;border:1px solid rgba(148,163,184,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.5)}
.game-icon{width:76px;height:76px;margin-bottom:20px;filter:drop-shadow(0 0 18px rgba(74,222,128,0.7))}
.signature{position:absolute;bottom:16px;left:0;right:0;text-align:center;z-index:32;color:rgba(148,163,184,0.65);font-size:13px;letter-spacing:4px;pointer-events:none;font-style:italic;text-shadow:0 0 10px rgba(56,189,248,0.5)}
.credit{position:absolute;bottom:42px;left:0;right:0;text-align:center;z-index:32;color:rgba(148,163,184,0.5);font-size:12px;letter-spacing:1px;pointer-events:none}
#startScreen{background:rgba(0,0,0,0.88);backdrop-filter:blur(10px)}
#startScreen h1{font-size:44px;letter-spacing:3px;font-weight:700;animation:none;text-shadow:0 2px 10px rgba(0,0,0,0.5)}
#startScreen p{color:#aaa;font-size:15px;margin:0 0 28px;letter-spacing:0}
#startScreen .btn{background:#fff;color:#111;padding:14px 44px;font-size:17px;font-weight:700;border-radius:10px;box-shadow:none;letter-spacing:1px}
#startScreen .btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,255,255,0.18);filter:none}
#startScreen .btn:active{transform:translateY(0) scale(1)}
.reward-hint{color:#94a3b8;font-size:13px;margin-bottom:14px;letter-spacing:1px}
.reward-cards{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;padding:0 20px;max-width:760px}
.reward-card{width:190px;background:linear-gradient(160deg,rgba(30,41,59,0.96),rgba(15,23,42,0.9));border:2px solid rgba(148,163,184,0.28);border-radius:14px;padding:16px 12px;cursor:pointer;text-align:center;transition:transform .15s,border-color .15s,box-shadow .15s}
.reward-card:hover{transform:translateY(-4px) scale(1.04);border-color:rgba(74,222,128,0.75);box-shadow:0 8px 30px rgba(74,222,128,0.3)}
.reward-card:active{transform:translateY(-1px) scale(0.98)}
.reward-card.selected{border-color:rgba(74,222,128,0.95);box-shadow:0 0 26px rgba(74,222,128,0.5),inset 0 0 12px rgba(74,222,128,0.15);transform:translateY(-4px) scale(1.04)}
.reward-confirm{margin-top:22px;font-size:16px;padding:12px 46px;letter-spacing:4px;opacity:0.45;cursor:not-allowed;filter:grayscale(0.4)}
.reward-confirm.enabled{opacity:1;cursor:pointer;filter:none}
.reward-confirm.enabled:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 10px 36px rgba(34,197,94,0.7)}
.reward-icon{width:36px;height:36px;object-fit:contain;margin-bottom:8px;margin-left:auto;margin-right:auto}
.reward-name{color:#fff;font-weight:800;font-size:15px;margin-bottom:4px}
.reward-val{color:#fbbf24;font-weight:700;font-size:14px}
.reward-desc{color:#9ca3af;font-size:11px;margin-top:6px;line-height:1.45}</style>
</head>
<body>
<div class="game-container" id="gameBox">
<div class="ammo-current" id="ammoCurrent"><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBmaWxsPSJub25lIj48cGF0aCBkPSJNNiAxMkwyMiAxMkMyNSAxMiAyOCAxNCAyOCAxNkMyOCAxOCAyNSAyMCAyMiAyMEw2IDIwWiIgc3Ryb2tlPSIjNGFkZTgwIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTEwIDEyTDEwIDIwIiBzdHJva2U9IiM0YWRlODAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBvcGFjaXR5PSIwLjUiLz48L3N2Zz4=" alt="" /></div>
<div class="ammo-panel" id="ammoPanel"></div>
<canvas id="gameCanvas" width="800" height="600"></canvas>
<div class="ui-overlay">
<div><div class="ui-badge">关卡 <span id="levelNum">1</span></div><div class="health-bar"><div class="health-fill" id="hpBar" style="width:100%"></div></div></div>
<div class="ui-badge">剩余敌人: <span id="enemyCount">0</span></div>
</div>
<div class="screen" id="startScreen"><h1>坦克动荡</h1><p>WASD移动 · 鼠标瞄准 · 左键射击 · 子弹反弹</p><button class="btn" id="btnStart">开始游戏</button><div class="signature">— cyf112233</div><div class="credit">音乐由[乌鸦Producer]提供</div></div>
<div class="screen hidden" id="rewardScreen"><div class="level-text">关卡完成!选择一项强化</div><div class="reward-hint">先选中一张强化卡,再点击确定</div><div class="reward-cards" id="rewardCards"></div><button class="btn reward-confirm" id="rewardConfirm" disabled>确定</button></div>
<div class="screen hidden" id="levelScreen"><div class="level-text">关卡完成!</div><h1>第 <span id="nextLevel">2</span> 关</h1><p class="stats">敌人已进化 — 更聪明、更危险</p><button class="btn" id="btnNext">下一关</button></div>
<div class="screen hidden" id="overScreen"><h1>游戏结束</h1><p class="stats">你坚持到了第 <span id="finalLevel">1</span> 关</p><button class="btn" id="btnRestart">重新开始</button></div>
<div class="controls-hint"><kbd>W</kbd><kbd>A</kbd><kbd>S</kbd><kbd>D</kbd> 移动 · 鼠标瞄准 · 左键射击 · 滚轮切换子弹 · <kbd>M</kbd> 静音</div>
</div>
<script>
// Audio Engine
class AudioEngine{
constructor(){this.ctx=null;this.enabled=true;this.external={};this.masterGain=null;this.bgmAudio=null;this.bgmRequested=false}
init(){if(this.ctx)return;const AudioContext=window.AudioContext||window.webkitAudioContext;this.ctx=new AudioContext();this.masterGain=this.ctx.createGain();this.masterGain.gain.value=0.35;this.masterGain.connect(this.ctx.destination);if(this.ctx.state==='suspended')this.ctx.resume().catch(()=>{});setTimeout(()=>this.loadExternal(),150)}
async loadExternal(){const files={shoot:'data:audio/mpeg;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYyLjMuMTAwAAAAAAAAAAAAAAD/+7DAAAAAAAAAAAAAAAAAAAAAAABJbmZvAAAADwAAAAYAABEjAElJSUlJSUlJSUlJSUlJSUltbW1tbW1tbW1tbW1tbW1tbZKSkpKSkpKSkpKSkpKSkpK2tra2tra2tra2tra2tra2ttvb29vb29vb29vb29vb29vb/////////////////////wAAAABMYXZjNjIuMTEAAAAAAAAAAAAAAAAkAlsAAAAAAAARIw9EP7sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/7sMQAAB99fTgVvYAMqTflSz3gADExMxMTMTEzFRUxUTMTETDwswkHMFATCAgwoOMUGjICYy4yMyLjIAQwM9NzhT0tQ9rSPEtjpJQ4JwNcSDNiQxYKAwIBgMuWWXMBASyZbdB9Y7jv47DOF2LsZw7kOWM68bf9/43L89Z9qUlJYw3nSYfnn38KSnt5//516ekpMMMMMKlJT0+eeeedPT0lJYwwwwpKSnp6fPPOvT09JSUmGGFSkpKenp88869PT0lJSYYYVKSxT09PnnnnT26SkpMMMMKlinp7eeeeeedJSYYYYYYYW888888887AAAAAAHh4eHhgAAAAAHh4eHhgAAAAAHh4eHhgAAAAAHh4eHgAAAIYGEOH4YhojzotN/zFlHYMLgU1aRgDAZeuAxjCRzDik/MIkN00FFKiIDodswPz9/M0MCszSXWgMLQNE1bCByIeUyMB/zCBDyMOsNAwAQJnRkAGBr/zDLDeMDgHkwegczB0CFjUqv0v//mA6CQYJoJBglgrGAYBeYGQGNXmWXf//8wMgPTADAeMCMCIwIwKgIAmYCwC+O+Za////8wGAHQaAUYB4BxgHgJBYAUwCACTAIAL3/6//////8vMYAYARgBgCJGlkSyKqxcouV///////////+kaWRLSqrFykAzIUVUxW5Jjf/////////////+XGWBLko+syRWYM8KpXtkjOo3m/v///////////////////9zHszllEqWlfWVUztSmMuDEn+a0qIAABqAA1zX/AIEABwuAOCQAOFABQwGkAeMCuBBTAxAP8wdICFMQ7AWDC8lP416IAlPUFr/jU//uyxBsBUUxrDT3/gAK/IqCF/ZYJikS0yVQeVMFgCDzAdQRowQUDKMCHAMjACADkwDgAhDAAlNIts51n+95v8e/z+//cOapKG5TFQsSMmh4e7tY16J9N3quucTvW5//kPZ/vZ/Yzu/d9bP7+qRZpQARg4BRMA7AHjAOwG4wBQDdEAOgYC4JtmP+jcJkAMHKew3oWHJ+tOhmaYbmYV2KzmKHBFxh1oJ0YGwBynYsxsR2ZyOGNAaBNTtYZ3bSURJsgkKBwEDgGAURImRTJmXZ2I7jEY5xBUqKsl1dzs/KStlV3QrlR52qRC9/nR5zZisJ+lZMO5uvu93uW/9BB2r8G+4Lu6rW4mPZ1NNVG/xf6nn9e53HP34HZGV7VtRRt1LBYHGiocbMNpvshhEQMGwswHoP+MVQC1TQmVT054DZkPpVkyDMiSEsx/oCAMLtBETArQbswAsIqMDVByTB8AOswDcAwBAAWjM0d9JyRUudTmH3bEQij7x63Kaukek55UErjEi2Rs/mICSgUodM2+LIQafifVaMlX4TSQ0vEtKzLLeE8uVcCMIFW7IJZpGSWPjxbUbbHxSX1B0JsvE+NLPnJDNrsTYty6WiZaQlnyEqNNdsQOUfCn+lMWX0yRlLLIFlNz5YuNOKRLQy5uF0K6Hs3udq9PwrkBNzl5bZStOFsBUWIAAEsABwyAHmAWAK5gWAJyYceE2mBUApxicpDCZH2ZKnOC4158bFHabKATkmIrilBi/NZlwrBlqbZkWMpkIDw0U4YGNiVSn7uqK1djcbd9ukBwMRSaVUP3N3FEaTTQYTzQEJZNzRESI3oYMSUn0HaRCNV//uyxKyD3G4E+g58ycvRwR7B/qWholJVqPIkU3nJtwWJjuNIFonlZhmRV6k1l3FmkW8u23FVP17beqabtA7IsnUbBOugbY87dC5yk65ygijzL0pvhbJMxF8yi8VHeCQ+whan4dqZKkUabVgimw3FLF0cE9JKuMauC9OTaggRNQStK8RRQ71jHuKJJNG3BiSii5O0ISzwMAAwCAIAAAjAoCwYCaBLmEvCq5kggdAZLWxvnKUUg59vPw8ctGTVGWdEZZgwIgYFAjcxlYDKLjMzJAysNjKIDIiQjHRSHkqxbwGwVIvwjKKGMVraqGdDTmc3jMTplYHEzUcWw71g5k8Y+y+rDiyxDQO09EPLechOC5rzCPgxz0Sx/m8wHNLIzqZdNDw91pGvV3Ksw2VxQCxgnqyqHzGQpELqE40XanSyXWVE82ny3qdZOiKk3rKhqlWFWZrmh64W4sFQH4jGBgT6oSjOhu2pMQi/2fmiulWdbOXw+tKU/euyUPkXEQxqijlfRzqRieP5DDrXLEczAllhHPDIUS7UbRRC9HeeCkcELPl5EVKKLApIxmKA9UYrFQq4SGHkuSfxV0jVVDbzzUSnYYzkuFeqFhVpZUqQ430VickswQIyuXCidKdDTqfnGp1jAEwAIeARTAQwA0wH4BMMDxBEzB1hOQxZQERMdHZhD50uG83S9duMi9BgjGbAK06bM41qJkzjGIyODUxXAYMDwRAIIgBRmZ/ASQiCdC0R5qOJLLKHHMexbDGEq3ELH0ZIQ4uexbRvGkY64VxnIY9IcsnWoDGMlxNceqGlWt6jVsaCvfmNAZzQbGDTLHMoyB3l3c0q//uyxO+D6XIM6g/x7E1rQh0B/r1YnTKaoxQOoKeVRBz0L+epbC5FyP5OqRdoam0QP9wemu8R5M3I8lU3IQSlqSZkzmgdB1qxecE8xptlO06D9UzEb6OkhK9FPCWs7x62mCU7KW5lWHInpxIUdJymIynMo2EkJIHzbpsHAPSS9NJ9cKBLLo3lXMXKG/ZzgZmFzUxioI8UNPZTro34ycQpEQkYgzQUaPVaHqZRqNJqhaiqFcHahqjeltP00sHUhQ7G5YYzPYjTLCsqA6Wo3mtYOlRZUUB+lzdNND2OPtUxmD8y3AI08FY6TwUxCg6WNzKq9jIQvIk8/qE5MwCIojExhxIyNENsMGmByzBVwNQwKACBMBtAUD+lNOAyAQMgXrMIUyjSImGl3NxedoKtpetojXUAzPy9qDaH0kjKsZeSBw4JUiOZetB1AppyEpPsWDb9ejOm2V802VIS1gkjlgmGMoidlGh/XOS9QDt3Q+Zum61lZC759dCGZMPBKNLsIEkJy4lssWdBd8MMlepjaiLlK1PQvVZ1hv5WqjMtkWsn/XUgxBI2oyhbivXCT5bmxtOZSlTdoLBFvviqFiLTXjhDrNJUFZgymQNYliT7aruZ1AzI0J0eWSsd52VOM+sEN0UCciXq0LhX3MuPATjsNfNUAwK9qULP4FYivNCpqLh7UugdiL4NVTyiiJTMVksSj8xLGkOq6agsqguH3/LyKIQKwBeFMo9WZE4LjxqG2IvKxloSv3Ghhjxb904dRSbg5ydcahC6Hrji7VOGBKnYbFnbgKGWXQhgL0NWaTP2GNtKVUQhl7ex4OMCAA8zDKRZ0yGczlNS//uyxMsD8RIM4A7/Iw6yQZtCv4AB3ewTTjekQ3R1fONOnNRjDCRSEwhwJeMF4BdjCBQTcwjoEHMBbA6DARQFUwBIA2AQC8BQBweAGldmGpMYsOZ+BBGsaHEdim8AlmVJN1LtGxEZQCH0DUzC7pEEHHLdN4BysARlUkuJXxdNCVDJb1ExeinkNmKz6IiqyAlIYeQYWK2MRWvLBASWo+O609BOmiYAMOUOJQsqT+V8oA2JnhcEwhJEoYqaI/qXq4KiEEiE9N1PULCEYU8Ul0t10qaAJsLUZS1R3TiMLH2S3U+kM6acZf1ksyngnQgoobFEbF9QUiSAjl4EM2WsBpXbglhzWW5Fw0z2ls2QCqVEhEL1qqAiTRQ6QJc9C5kaM80nSIBqroAEIELlLHkYQGCWCSAe5eSXyfa8S+CVAGaoCECf5nUPJUKrhYiry85QBzms0qBauZQt9ykEDQVrJrpoLQQkM5Cx3chTF0ukJyH0APAiBMqwQ+gMYeX4ddsTAFylq0fUUYML6lnlbVPgBqby0UfAqBPtnLc0zVrQGiQyQZESFX2nUmElGoClEwdSsiDLEMWDEDFwjzPwYK0yp5KztaKjMpjCM1WBWDGCAvBwAJgIAsRMyWBcjIREXYWgLRJXeYKoJhhRA2KSQRvunscbaZpklwC3Fr0MrvU4GQAaHS5pM/u83dcs6ki7rDILine truncated
toggle(){this.enabled=!this.enabled;if(!this.enabled&&this.masterGain)this.masterGain.gain.setTargetAtTime(0,this.ctx.currentTime,0.1);else if(this.enabled&&this.masterGain)this.masterGain.gain.setTargetAtTime(0.35,this.ctx.currentTime,0.1);if(this.enabled)this.startBGM();else this.stopBGM();return this.enabled}
_now(){return this.ctx?this.ctx.currentTime:0}
play(name){if(!this.enabled)return;if(name==='bgm')return;if(this.external[name]){const src=this.ctx.createBufferSource();src.buffer=this.external[name];const gain=this.ctx.createGain();gain.gain.value=name==='explosion'?0.35:0.45;src.connect(gain);gain.connect(this.masterGain);src.start();return}this.synth(name)}
synth(name){if(name==='shoot')this.synthShoot();else if(name==='explosion')this.synthExplosion();else if(name==='hitwall')this.synthHitWall();else if(name==='levelup')this.synthLevelUp()}
startBGM(){if(!this.enabled)return;this.bgmRequested=true;if(this.bgmAudio)this.playBGM()}
playBGM(){if(!this.enabled||!this.bgmAudio)return;const src=this.ctx.createBufferSource();src.buffer=this.bgmAudio;src.loop=true;const gain=this.ctx.createGain();gain.gain.value=0.25;src.connect(gain);gain.connect(this.masterGain);this.bgmSource=src;src.start()}
stopBGM(){this.bgmRequested=false;if(this.bgmSource){try{this.bgmSource.stop()}catch(e){}this.bgmSource=null}if(this.bgmInterval){clearInterval(this.bgmInterval);this.bgmInterval=null}}
synthShoot(){if(!this.ctx)return;const t=this._now();const osc=this.ctx.createOscillator();const gain=this.ctx.createGain();osc.type='square';osc.frequency.setValueAtTime(800,t);osc.frequency.exponentialRampToValueAtTime(150,t+0.12);gain.gain.setValueAtTime(0.12,t);gain.gain.exponentialRampToValueAtTime(0.001,t+0.12);osc.connect(gain);gain.connect(this.masterGain);osc.start(t);osc.stop(t+0.12)}
synthExplosion(){if(!this.ctx)return;const t=this._now();const bufferSize=this.ctx.sampleRate*0.3;const buffer=this.ctx.createBuffer(1,bufferSize,this.ctx.sampleRate);const data=buffer.getChannelData(0);for(let i=0;i<bufferSize;i++)data[i]=Math.random()*2-1;const noise=this.ctx.createBufferSource();noise.buffer=buffer;const gain=this.ctx.createGain();const filter=this.ctx.createBiquadFilter();filter.type='lowpass';filter.frequency.setValueAtTime(800,t);filter.frequency.exponentialRampToValueAtTime(100,t+0.3);gain.gain.setValueAtTime(0.2,t);gain.gain.exponentialRampToValueAtTime(0.001,t+0.3);noise.connect(filter);filter.connect(gain);gain.connect(this.masterGain);noise.start(t);noise.stop(t+0.3);const osc=this.ctx.createOscillator();const g2=this.ctx.createGain();osc.type='sawtooth';osc.frequency.setValueAtTime(120,t);osc.frequency.exponentialRampToValueAtTime(40,t+0.25);g2.gain.setValueAtTime(0.15,t);g2.gain.exponentialRampToValueAtTime(0.001,t+0.25);osc.connect(g2);g2.connect(this.masterGain);osc.start(t);osc.stop(t+0.25)}
synthHitWall(){if(!this.ctx)return;const t=this._now();const osc=this.ctx.createOscillator();const gain=this.ctx.createGain();osc.type='triangle';osc.frequency.setValueAtTime(600,t);osc.frequency.exponentialRampToValueAtTime(200,t+0.08);gain.gain.setValueAtTime(0.06,t);gain.gain.exponentialRampToValueAtTime(0.001,t+0.08);osc.connect(gain);gain.connect(this.masterGain);osc.start(t);osc.stop(t+0.08)}
synthLevelUp(){if(!this.ctx)return;const t=this._now();const notes=[523.25,659.25,783.99,1046.50];notes.forEach((freq,i)=>{const osc=this.ctx.createOscillator();const gain=this.ctx.createGain();osc.type='sine';osc.frequency.setValueAtTime(freq,t+i*0.12);gain.gain.setValueAtTime(0,t+i*0.12);gain.gain.linearRampToValueAtTime(0.1,t+i*0.12+0.03);gain.gain.exponentialRampToValueAtTime(0.001,t+i*0.12+0.25);osc.connect(gain);gain.connect(this.masterGain);osc.start(t+i*0.12);osc.stop(t+i*0.12+0.25)})}
}
const audio=new AudioEngine();
// Utils
function normalizeAngle(a){while(a>Math.PI)a-=Math.PI*2;while(a<-Math.PI)a+=Math.PI*2;return a}
function dist(x1,y1,x2,y2){return Math.sqrt((x1-x2)**2+(y1-y2)**2)}
function lineIntersectsRect(x1,y1,x2,y2,rx,ry,rw,rh){const minX=Math.min(x1,x2),maxX=Math.max(x1,x2);const minY=Math.min(y1,y2),maxY=Math.max(y1,y2);if(maxX<rx||minX>rx+rw||maxY<ry||minY>ry+rh)return false;const dx=x2-x1,dy=y2-y1;if(Math.abs(dx)<0.001&&Math.abs(dy)<0.001)return false;const left=(rx-x1)/dx,right=(rx+rw-x1)/dx;const top=(ry-y1)/dy,bottom=(ry+rh-y1)/dy;const tmin=Math.max(Math.min(left,right),Math.min(top,bottom));const tmax=Math.min(Math.max(left,right),Math.max(top,bottom));if(tmax<0||tmin>1||tmin>tmax)return false;return true}
function hasLineOfSight(x1,y1,x2,y2,walls){for(let w of walls){if(w.dead)continue;if(lineIntersectsRect(x1,y1,x2,y2,w.x,w.y,w.w,w.h))return false}return true}
function raycast(x,y,angle,maxDist,walls){for(let d=0;d<maxDist;d+=4){const cx=x+Math.cos(angle)*d;const cy=y+Math.sin(angle)*d;for(let w of walls){if(w.dead)continue;if(cx>w.x&&cx<w.x+w.w&&cy>w.y&&cy<w.y+w.h)return{hit:true,x:cx,y:cy,dist:d,wall:w}}}return{hit:false,dist:maxDist,wall:null}}
function findPath(sx,sy,tx,ty,walls){if(tx<1||tx>COLS-2||ty<1||ty>ROWS-2)return null;const cost=[];const brick=[];for(let r=0;r<ROWS;r++){cost[r]=[];brick[r]=[];for(let c=0;c<COLS;c++){cost[r][c]=1;brick[r][c]=false}}for(let w of walls){if(!w.dead&&w.c>=0&&w.c<COLS&&w.r>=0&&w.r<ROWS){if(w.type==='steel'){cost[w.r][w.c]=999}else{cost[w.r][w.c]=1;brick[w.r][w.c]=true}}}if(cost[sy][sx]>=999||cost[ty][tx]>=999)return null;const dist=[];for(let r=0;r<ROWS;r++){dist[r]=[];for(let c=0;c<COLS;c++)dist[r][c]=Infinity}dist[sy][sx]=0;const prev={};const key=(c,r)=>c+','+r;prev[key(sx,sy)]=null;const open=[[0,sx,sy]];const dirs=[[1,0],[-1,0],[0,1],[0,-1],[1,1],[1,-1],[-1,1],[-1,-1]];while(open.length){let mi=0;for(let i=1;i<open.length;i++)if(open[i][0]<open[mi][0])mi=i;const cur=open.splice(mi,1)[0];const d=cur[0],c=cur[1],r=cur[2];if(d>dist[r][c])continue;if(c===tx&&r===ty){const path=[];let p=key(c,r);while(p!==null){const parts=p.split(',');const pc=+parts[0],pr=+parts[1];path.unshift([pc*TILE+TILE/2,pr*TILE+TILE/2,brick[pr][pc]]);p=prev[p]}path.shift();return path.length>0?path:null}for(let dd of dirs){const nc=c+dd[0],nr=r+dd[1];if(nc<1||nc>COLS-2||nr<1||nr>ROWS-2)continue;if(cost[nr][nc]>=999)continue;if(Math.abs(dd[0])===1&&Math.abs(dd[1])===1&&(cost[nr][c]>=999||cost[r][nc]>=999))continue;const nd=d+cost[nr][nc];if(nd<dist[nr][nc]){dist[nr][nc]=nd;prev[key(nc,nr)]=key(c,r);open.push([nd,nc,nr])}}}return null}
// Input
const keys={};
window.addEventListener('keydown',e=>{keys[e.code]=true;if(e.code==='KeyM'){const on=audio.toggle();document.querySelector('.controls-hint').innerHTML=on?'<kbd>W</kbd><kbd>A</kbd><kbd>S</kbd><kbd>D</kbd> 移动 · 鼠标瞄准 · 左键射击 · <kbd>M</kbd> 静音':'<kbd>W</kbd><kbd>A</kbd><kbd>S</kbd><kbd>D</kbd> 移动 · 鼠标瞄准 · 左键射击 · <kbd>M</kbd> 开启音效'}if(['Space','ArrowUp','ArrowDown','ArrowLeft','ArrowRight'].includes(e.code))e.preventDefault()});
window.addEventListener('keyup',e=>{keys[e.code]=false});
// Game Constants
const canvas=document.getElementById('gameCanvas');
const ctx=canvas.getContext('2d');
const TILE=40,COLS=20,ROWS=15;
const AIState={PATROL:0,HUNT:1,SEARCH:2,TAKECOVER:3,PEEK:4,RETREAT:5,STRAFE:6};
class Particle{
constructor(x,y,color,speed,life){this.x=x;this.y=y;this.vx=(Math.random()-0.5)*speed;this.vy=(Math.random()-0.5)*speed;this.color=color;this.life=life;this.maxLife=life;this.size=Math.random()*3+1}
update(){this.x+=this.vx;this.y+=this.vy;this.life--;this.size*=0.96}
draw(ctx){ctx.globalAlpha=Math.max(0,this.life/this.maxLife);ctx.fillStyle=this.color;ctx.beginPath();ctx.arc(this.x,this.y,Math.max(0.1,this.size),0,Math.PI*2);ctx.fill();ctx.globalAlpha=1}
}
class Wall{
constructor(c,r,type){this.c=c;this.r=r;this.x=c*TILE;this.y=r*TILE;this.w=TILE;this.h=TILE;this.type=type;this.health=type==='brick'?2:9999;this.maxHealth=this.health;this.dead=false}
hit(){if(this.type==='brick'){this.health--;if(this.health<=0){this.dead=true;return true}}return false}
draw(ctx){if(this.type==='steel'){ctx.fillStyle='#4a5568';ctx.fillRect(this.x+1,this.y+1,this.w-2,this.h-2);ctx.strokeStyle='#718096';ctx.lineWidth=1;ctx.strokeRect(this.x+3,this.y+3,this.w-6,this.h-6);ctx.fillStyle='#2d3748';ctx.fillRect(this.x+10,this.y+10,this.w-20,this.h-20);ctx.fillStyle='#718096';[[6,6],[26,6],[6,26],[26,26]].forEach(([rx,ry])=>{ctx.beginPath();ctx.arc(this.x+rx,this.y+ry,2,0,Math.PI*2);ctx.fill()})}else{const dmg=1-this.health/this.maxHealth;ctx.fillStyle=dmg>0.5?'#8b4513':'#cd853f';ctx.fillRect(this.x+1,this.y+1,this.w-2,this.h-2);ctx.strokeStyle=dmg>0.5?'#654321':'#8b4513';ctx.lineWidth=1;for(let i=1;i<4;i++){ctx.beginPath();ctx.moveTo(this.x+i*10,this.y+1);ctx.lineTo(this.x+i*10,this.y+this.h-1);ctx.stroke()}for(let i=1;i<3;i++){ctx.beginPath();ctx.moveTo(this.x+1,this.y+i*13);ctx.lineTo(this.x+this.w-1,this.y+i*13);ctx.stroke()}}}
}
class Bullet{
constructor(x,y,angle,owner,type){this.x=x;this.y=y;this.speed=5.5;this.vx=Math.cos(angle)*this.speed;this.vy=Math.sin(angle)*this.speed;this.owner=owner;this.isPlayer=owner.isPlayer;this.radius=3;this.bounces=0;this.maxBounces=type==='bounce'?99:3+Math.floor(Math.random()*3);this.dead=false;this.trail=[];this.age=0;this.type=type||'normal';this.damage=type==='kill'?99:this.isPlayer?(owner.damage||1):1}
update(walls,tanks){if(this.dead)return;this.age++;this.trail.push({x:this.x,y:this.y});if(this.trail.length>10)this.trail.shift();let nextX=this.x+this.vx;let nextY=this.y+this.vy;for(let w of walls){if(w.dead)continue;if(nextX+this.radius>w.x&&nextX-this.radius<w.x+w.w&&this.y+this.radius>w.y&&this.y-this.radius<w.y+w.h){this.vx=-this.vx;nextX=this.x+this.vx;this.bounces++;const destroyed=w.hit();if(destroyed){game.addParticles(w.x+w.w/2,w.y+w.h/2,'#cd853f',10,20);game.walls=game.walls.filter(wall=>!wall.dead);audio.play('explosion');game.addNoise(w.x+w.w/2,w.y+w.h/2,350)}else{game.addParticles(this.x,this.y,'#deb887',3,6);audio.play('hitwall')}}if(this.x+this.radius>w.x&&this.x-this.radius<w.x+w.w&&nextY+this.radius>w.y&&nextY-this.radius<w.y+w.h){this.vy=-this.vy;nextY=this.y+this.vy;this.bounces++;const destroyed=w.hit();if(destroyed){game.addParticles(w.x+w.w/2,w.y+w.h/2,'#cd853f',10,20);game.walls=game.walls.filter(wall=>!wall.dead);audio.play('explosion');game.addNoise(w.x+w.w/2,w.y+w.h/2,350)}else{game.addParticles(this.x,this.y,'#deb887',3,6);audio.play('hitwall')}}}this.x=nextX;this.y=nextY;if(this.x<0||this.x>canvas.width||this.y<0||this.y>canvas.height)this.dead=true;if(this.bounces>this.maxBounces)this.dead=true;if(this.age>400)this.dead=true;for(let t of tanks){if(t.dead)continue;if(t.isPlayer===this.isPlayer)continue;if(t===this.owner&&this.age<10)continue;const d=Math.sqrt((this.x-t.x)**2+(this.y-t.y)**2);if(d<t.radius+this.radius+2){t.takeDamage(this.damage,this.owner);this.dead=true;game.addParticles(this.x,this.y,'#ff4444',10,18);if(t.isPlayer)game.shake=10;break}}}
draw(ctx){ctx.save();let col=this.isPlayer?'#4ade80':'#f87171';if(this.type==='kill')col='#c084fc';else if(this.type==='bounce')col='#22d3ee';ctx.shadowColor=col;ctx.shadowBlur=8;ctx.fillStyle=col;ctx.beginPath();ctx.arc(this.x,this.y,this.radius+1,0,Math.PI*2);ctx.fill();ctx.shadowBlur=0;ctx.strokeStyle=this.type==='kill'?'rgba(192,132,252,0.5)':this.type==='bounce'?'rgba(34,211,238,0.5)':(this.isPlayer?'rgba(74,222,128,0.4)':'rgba(248,113,113,0.4)');ctx.lineWidth=2;ctx.beginPath();for(let i=0;i<this.trail.length;i++){if(i===0)ctx.moveTo(this.trail[i].x,this.trail[i].y);else ctx.lineTo(this.trail[i].x,this.trail[i].y)}ctx.stroke();ctx.restore()}
}
class Tank{
constructor(x,y,isPlayer,evolution,stats){this.x=x;this.y=y;this.vx=0;this.vy=0;this.radius=14;this.isPlayer=isPlayer;this.angle=0;this.turretAngle=0;this.evo=evolution||{level:1,speedMul:1,reactionMul:1,dodgeSkill:0,peekSkill:0,accuracy:0};this.speed=isPlayer?2.2:Math.min(2.4,1.6+this.evo.speedMul*0.16);if(isPlayer&&stats){this.health=stats.maxHp;this.maxHealth=stats.maxHp;this.maxCooldown=Math.max(6,20-stats.fireRate);this.damage=stats.damage;this.extraLives=stats.extraLives;this.ammo=stats.ammo;this.selectedType=stats.selected}else{this.health=isPlayer?10:(4+Math.floor(this.evo.level*0.5));this.maxHealth=this.health;this.maxCooldown=isPlayer?20:Math.max(14,32-this.evo.reactionMul*3);this.damage=1;this.extraLives=0;this.ammo=null;this.selectedType='normal'}this.invincible=0;this.dead=false;this.shootCooldown=0;this.color=isPlayer?'#4ade80':'#f87171';this.activeBullets=0;this.maxActiveBullets=isPlayer?(stats&&stats.maxBullets?stats.maxBullets:8):12;this.state=AIState.PATROL;this.stateTimer=0;this.patrolTarget=null;this.lastSeenPlayerPos=null;this.lastSeenTime=0;this.alerted=false;this.alertTimer=0;this.lastKnownPlayerPos=null;this.commsTimer=0;this.coverWall=null;this.coverSide=0;this.peekTimer=0;this.dodgeDir=null;this.dodgeTimer=0;this.searchOffset=null;this.dodgeTarget=null;this.noiseTarget=null;this.tension=0;this.suspectBullet=null;this.suspectPos=null;this.suspectTimer=0;this.hesitateTimer=0;this.path=null;this.pathIdx=0;this.pathTimer=15;this.idealMinDist=140+this.evo.level*8;this.idealMaxDist=260+this.evo.level*10}
setState(s,duration){this.state=s;this.stateTimer=duration||90;if(s===AIState.PEEK)this.peekTimer=20+Math.random()*25}
canShoot(){return this.activeBullets<this.maxActiveBullets&&this.shootCooldown<=0}
takeDamage(dmg,attacker){if(this.invincible>0)return;this.health-=dmg;this.tension=Math.min(1,this.tension+0.2);if(!this.isPlayer&&attacker){this.alerted=true;this.alertTimer=400+this.evo.reactionMul*40;this.lastSeenPlayerPos={x:attacker.x,y:attacker.y};this.lastSeenTime=game.frame;if(this.state!==AIState.TAKECOVER&&this.state!==AIState.PEEK){this.findCover(game.walls,attacker)}}if(this.health<=0){this.dead=true;game.addParticles(this.x,this.y,this.color,30,50);game.addParticles(this.x,this.y,'#ffaa00',15,30);audio.play('explosion');game.addNoise(this.x,this.y,350)}}
canMoveTo(nx,ny,walls){for(let w of walls){if(w.dead)continue;if(nx+this.radius>w.x&&nx-this.radius<w.x+w.w&&ny+this.radius>w.y&&ny-this.radius<w.y+w.h)return false}return nx>this.radius&&nx<canvas.width-this.radius&&ny>this.radius&&ny<canvas.height-this.radius}
findCover(walls,threat){let bestWall=null,bestScore=-Infinity;for(let w of walls){if(w.dead)continue;const cx=w.x+w.w/2,cy=w.y+w.h/2;const toThreat=Math.atan2(threat.y-cy,threat.x-cx);const coverX=cx+Math.cos(toThreat+Math.PI)*50;const coverY=cy+Math.sin(toThreat+Math.PI)*50;if(coverX<30||coverX>canvas.width-30||coverY<30||coverY>canvas.height-30)continue;if(!this.canMoveTo(coverX,coverY,walls))continue;const blocksLOS=!hasLineOfSight(coverX,coverY,threat.x,threat.y,walls);if(!blocksLOS)continue;let score=200-dist(this.x,this.y,coverX,coverY)*0.3;if(w.type==='steel')score+=50;if(score>bestScore){bestScore=score;bestWall=w}}if(bestWall){this.coverWall=bestWall;this.setState(AIState.TAKECOVER,120)}}
getCoverPosition(threat){if(!this.coverWall)return null;const cx=this.coverWall.x+this.coverWall.w/2;const cy=this.coverWall.y+this.coverWall.h/2;const toThreat=Math.atan2(threat.y-cy,threat.x-cx);return{x:cx+Math.cos(toThreat+Math.PI)*45,y:cy+Math.sin(toThreat+Math.PI)*45}}
getPeekPosition(threat){if(!this.coverWall)return null;const cx=this.coverWall.x+this.coverWall.w/2;const cy=this.coverWall.y+this.coverWall.h/2;const toThreat=Math.atan2(threat.y-cy,threat.x-cx);const side=this.coverSide||(Math.random()<0.5?-1:1);this.coverSide=side;return{x:cx+Math.cos(toThreat+Math.PI)*25+Math.cos(toThreat+side*Math.PI/2)*35,y:cy+Math.sin(toThreat+Math.PI)*25+Math.sin(toThreat+side*Math.PI/2)*35}}
getThreateningBullets(bullets){const threats=[];for(let b of bullets){if(b.dead||b.isPlayer===this.isPlayer)continue;const dx=b.x-this.x,dy=b.y-this.y;const distToBullet=Math.sqrt(dx*dx+dy*dy);if(distToBullet>350)continue;const bulletSpeed=Math.sqrt(b.vx*b.vx+b.vy*b.vy);if(bulletSpeed<0.1)continue;const toTankX=this.x-b.x,toTankY=this.y-b.y;const dot=toTankX*b.vx+toTankY*b.vy;if(dot<-10)continue;const timeToImpact=distToBullet/bulletSpeed;if(timeToImpact>95||timeToImpact<0)continue;const nvx=b.vx/bulletSpeed,nvy=b.vy/bulletSpeed;const proj=dx*nvx+dy*nvy;const perpX=dx-nvx*proj;const perpY=dy-nvy*proj;const perpDist=Math.sqrt(perpX*perpX+perpY*perpY);if(perpDist<this.radius+55){threats.push({bullet:b,perpDist,timeToImpact,dodgeAngle:Math.atan2(perpY,perpX),urgency:(70-timeToImpact)/70*0.6+(40-perpDist)/40*0.4})}}threats.sort((a,b)=>b.urgency-a.urgency);return threats}
getBestMoveDir(targetX,targetY,walls,bullets,allTanks,player){const samples=32;let bestScore=-Infinity,bestDir=this.angle;const toTarget=Math.atan2(targetY-this.y,targetX-this.x);const toTargetDist=dist(this.x,this.y,targetX,targetY);const threats=this.getThreateningBullets(bullets);const playerDist=player?dist(this.x,this.y,player.x,player.y):999;const tooClose=playerDist<this.idealMinDist;const tooFar=playerDist>this.idealMaxDist;for(let i=0;i<samples;i++){const dir=(i/samples)*Math.PI*2;const step=this.speed*3;const nx=this.x+Math.cos(dir)*step;const ny=this.y+Math.sin(dir)*step;if(!this.canMoveTo(nx,ny,walls))continue;let score=0;const angleDiff=Math.abs(normalizeAngle(dir-toTarget));score+=(1-angleDiff/Math.PI)*40;if(player&&!player.dead){const newDist=dist(nx,ny,player.x,player.y);if(tooClose)score+=(newDist-playerDist)*3;else if(tooFar)score+=(playerDist-newDist)*3;else{const toPlayer=Math.atan2(player.y-this.y,player.x-this.x);const lateralDiff=Math.abs(normalizeAngle(dir-(toPlayer+Math.PI/2)));score+=(1-lateralDiff/Math.PI)*30}}for(let t of threats){const b=t.bullet;const futureBulletX=b.x+b.vx*t.timeToImpact*0.5;const futureBulletY=b.y+b.vy*t.timeToImpact*0.5;const toFutureBullet=Math.atan2(futureBulletY-ny,futureBulletX-nx);const dodgeDiff=Math.abs(normalizeAngle(dir-t.dodgeAngle));const awayFromBullet=Math.abs(normalizeAngle(dir-toFutureBullet));score+=(1-dodgeDiff/Math.PI)*120*t.urgency;score+=(awayFromBullet/Math.PI)*60*t.urgency}const fvx=nx+Math.cos(dir)*35;const fvy=ny+Math.sin(dir)*35;for(let w of walls){if(w.dead)continue;if(fvx+this.radius>w.x&&fvx-this.radius<w.x+w.w&&fvy+this.radius>w.y&&fvy-this.radius<w.y+w.h)score-=100}for(let t of allTanks){if(t!==this&&!t.isPlayer&&!t.dead){const d=dist(nx,ny,t.x,t.y);if(d<50)score-=40;else if(d<100)score-=10;else if(d<180)score+=5}}let wallProximity=0;for(let w of walls){if(w.dead)continue;const d=dist(nx,ny,w.x+w.w/2,w.y+w.h/2);if(d<45)wallProximity+=(45-d)}score-=wallProximity*0.4;const inertiaDiff=Math.abs(normalizeAngle(dir-this.angle));score+=(1-inertiaDiff/Math.PI)*6;if(score>bestScore){bestScore=score;bestDir=dir}}return bestDir}
update(walls,player,allTanks,bullets){if(this.dead)return;if(this.shootCooldown>0)this.shootCooldown--;if(this.alertTimer>0){this.alertTimer--;if(this.alertTimer<=0)this.alerted=false}if(this.commsTimer>0)this.commsTimer--;if(this.dodgeTimer>0)this.dodgeTimer--;if(this.peekTimer>0)this.peekTimer--;if(this.pathTimer>0)this.pathTimer--;if(this.isPlayer){this.updatePlayer(walls);return}this.updateAI(walls,player,allTanks,bullets)}
updatePlayer(walls){let vx=0,vy=0;if(keys['KeyW']||keys['ArrowUp'])vy-=1;if(keys['KeyS']||keys['ArrowDown'])vy+=1;if(keys['KeyA']||keys['ArrowLeft'])vx-=1;if(keys['KeyD']||keys['ArrowRight'])vx+=1;const px=this.x,py=this.y;if(vx!==0||vy!==0){const len=Math.sqrt(vx*vx+vy*vy);vx/=len;vy/=len;const nx=this.x+vx*this.speed;const ny=this.y+vy*this.speed;if(this.canMoveTo(nx,this.y,walls))this.x=nx;if(this.canMoveTo(this.x,ny,walls))this.y=ny;this.angle=Math.atan2(vy,vx)}this.vx=this.x-px;this.vy=this.y-py;this.turretAngle=Math.atan2(game.mouseY-this.y,game.mouseX-this.x)}
updateAI(walls,player,allTanks,bullets){const seesPlayer=player&&!player.dead&&hasLineOfSight(this.x,this.y,player.x,player.y,walls);const playerDist=player?dist(this.x,this.y,player.x,player.y):9999;const latestNoise=game.lastNoise;if(latestNoise&&!this.alerted&&!seesPlayer&&game.frame-latestNoise.frame<90&&(this.state===AIState.PATROL||this.state===AIState.SEARCH)){const nd=dist(this.x,this.y,latestNoise.x,latestNoise.y);if(nd<latestNoise.radius&&this.noiseTarget!==latestNoise){const loud=Math.max(0,1-nd/latestNoise.radius);if(loud>=0.2)this.tension=Math.min(1,this.tension+0.15+loud*0.3);if(this.tension>=0.35){this.noiseTarget=latestNoise;this.lastSeenPlayerPos={x:latestNoise.x,y:latestNoise.y};this.lastSeenTime=game.frame;this.setState(AIState.SEARCH,150)}}}if(this.noiseTarget&&!seesPlayer&&dist(this.x,this.y,this.noiseTarget.x,this.noiseTarget.y)<60){this.tension=Math.max(0,this.tension-0.1);this.noiseTarget=null;this.lastSeenPlayerPos=null}const friends=allTanks.filter(t=>t!==this&&!t.isPlayer&&!t.dead);if(this.commsTimer<=0){for(let other of friends){if(hasLineOfSight(this.x,this.y,other.x,other.y,walls)){if(this.lastSeenPlayerPos&&(!other.lastSeenPlayerPos||this.lastSeenTime>other.lastSeenTime)){other.lastSeenPlayerPos={x:this.lastSeenPlayerPos.x,y:this.lastSeenPlayerPos.y};other.lastSeenTime=this.lastSeenTime;other.alerted=true;other.alertTimer=Math.max(other.alertTimer,120)}if(other.lastSeenPlayerPos&&(!this.lastSeenPlayerPos||other.lastSeenTime>this.lastSeenTime)){this.lastSeenPlayerPos={x:other.lastSeenPlayerPos.x,y:other.lastSeenPlayerPos.y};this.lastSeenTime=other.lastSeenTime;this.alerted=true}}}this.commsTimer=10}if(seesPlayer){this.lastSeenPlayerPos={x:player.x,y:player.y};this.lastSeenTime=game.frame;this.lastKnownPlayerPos={x:player.x,y:player.y}}const threats=this.getThreateningBullets(bullets);const inDanger=threats.length>0;if(inDanger){const t=threats[0];if(this.dodgeTarget!==t.bullet){this.dodgeDir=t.dodgeAngle+(Math.random()-0.5)*0.4;this.dodgeTarget=t.bullet}this.dodgeTimer=12}else{this.dodgeTarget=null;if(this.dodgeTimer>0)this.dodgeTimer--}if(this.hesitateTimer>0)this.hesitateTimer--;if(this.suspectTimer>0){this.suspectTimer--;if(this.suspectTimer<=0){this.suspectBullet=null;this.suspectPos=null}}let nearBulletCount=0,suspectBullet=null,suspectD=9999;for(let b of bullets){if(b.dead||!b.isPlayer)continue;const bd=dist(this.x,this.y,b.x,b.y);if(bd<400)nearBulletCount++;if(bd<350&&b.bounces<2&&bd<suspectD){suspectD=bd;suspectBullet=b}}if(seesPlayer){this.tension=Math.min(1,this.tension+0.5)}else if(nearBulletCount>0){this.tension=Math.min(1,this.tension+0.35)}else{this.tension=Math.max(0,this.tension-0.001)}if(suspectBullet){if(!suspectBullet.seenBySet)suspectBullet.seenBySet=new Set();suspectBullet.seenBySet.add(this);if(suspectBullet!==this.suspectBullet){this.suspectBullet=suspectBullet;const spd=Math.sqrt(suspectBullet.vx**2+suspectBullet.vy**2)||1;const gx=Math.max(30,Math.min(canvas.width-30,suspectBullet.x-(suspectBullet.vx/spd)*120));const gy=Math.max(30,Math.min(canvas.height-30,suspectBullet.y-(suspectBullet.vy/spd)*120));this.suspectPos={x:gx,y:gy};this.suspectTimer=120;const witnesses=suspectBullet.seenBySet.size;const dense=nearBulletCount>=2;const willing=(0.2+0.1*witnesses)*(1+this.tension);if(!dense&&!seesPlayer&&!inDanger&&willing>0.28&&(this.state===AIState.PATROL||this.state===AIState.SEARCH)){this.lastSeenPlayerPos={x:gx,y:gy};this.lastSeenTime=game.frame;this.setState(AIState.SEARCH,150);this.suspectTimer=90+30*witnesses;this.hesitateTimer=(50+Math.random()*50)/(0.4+0.6*witnesses)}}if(this.suspectPos&&!seesPlayer&&dist(this.x,this.y,this.suspectPos.x,this.suspectPos.y)<60){this.tension=Math.max(0,this.tension-0.1);this.suspectBullet=null;this.suspectPos=null;this.suspectTimer=0;this.lastSeenPlayerPos=null}}if(friends.length>0){let gfN=0,gfT=0,bt=null;for(let t of friends){if(t.dead)continue;const fd=dist(this.x,this.y,t.x,t.y);if(fd<260){gfN++;gfT+=t.tension;if(t.suspectPos&&t.suspectTimer>0&&(!bt||t.suspectTimer>bt.age))bt={x:t.suspectPos.x,y:t.suspectPos.y,age:t.suspectTimer};if(t.noiseTarget){const na=90-(game.frame-t.noiseTarget.frame);if(na>0&&(!bt||na>bt.age))bt={x:t.noiseTarget.x,y:t.noiseTarget.y,age:na}}}}if(gfN>0)this.tension=Math.min(1,this.tension*0.6+gfT/gfN*0.4);if(bt&&!seesPlayer&&(this.state===AIState.PATROL||this.state===AIState.SEARCH)&&bt.age>this.suspectTimer){this.suspectPos={x:bt.x,y:bt.y};this.suspectTimer=bt.age;this.lastSeenPlayerPos={x:bt.x,y:bt.y};this.lastSeenTime=game.frame;this.setState(AIState.SEARCH,150)}}this.stateTimer--;let targetX=this.x,targetY=this.y;let aimX=null,aimY=null;let shouldShoot=false;if(seesPlayer&&(this.state===AIState.PATROL||this.state===AIState.SEARCH)){this.setState(AIState.HUNT,10)}switch(this.state){case AIState.PATROL:if(seesPlayer){this.setState(AIState.HUNT,10);break}else if(this.alerted&&this.lastSeenPlayerPos){if((game.frame-this.lastSeenTime)<45){this.setState(AIState.HUNT,20)}else this.setState(AIStLine truncated
shoot(){if(!this.canShoot())return;this.shootCooldown=this.maxCooldown;this.activeBullets++;const bx=this.x+Math.cos(this.turretAngle)*22;const by=this.y+Math.sin(this.turretAngle)*22;let proj=null;let useType=this.isPlayer&&this.ammo?this.selectedType:'normal';if(useType!=='normal'&&(!this.ammo||this.ammo[useType]<=0)){useType='normal';if(this.isPlayer)this.selectedType='normal'}if(useType!=='normal'&&this.ammo){this.ammo[useType]--;if(this.isPlayer)game.updateAmmoHud()}if(useType==='kill')proj=new Bullet(bx,by,this.turretAngle,this,'kill');else if(useType==='bounce')proj=new Bullet(bx,by,this.turretAngle,this,'bounce');else if(useType==='mine')game.mines.push(new Mine(this.x,this.y));else if(useType==='missile')proj=new Missile(bx,by,this,game.tanks);else proj=new Bullet(bx,by,this.turretAngle,this,'normal');if(proj){proj.onDeath=()=>{if(this.activeBullets>0)this.activeBullets--};game.bullets.push(proj)}else{if(this.activeBullets>0)this.activeBullets--}game.addParticles(bx,by,'#fbbf24',3,5);audio.play('shoot');game.addNoise(bx,by,200);if(this.isPlayer)game.updateAmmoHud()}
draw(ctx){if(this.dead)return;ctx.save();ctx.translate(this.x,this.y);ctx.rotate(this.angle);ctx.shadowColor=this.color;ctx.shadowBlur=10;ctx.fillStyle=this.color;ctx.fillRect(-12,-10,24,20);ctx.strokeStyle='rgba(0,0,0,0.45)';ctx.lineWidth=2;ctx.strokeRect(-12,-10,24,20);ctx.shadowBlur=0;ctx.fillStyle='#222';ctx.fillRect(-14,-12,4,24);ctx.fillRect(10,-12,4,24);ctx.fillStyle='rgba(255,255,255,0.18)';ctx.fillRect(-8,-6,16,3);ctx.restore();ctx.save();ctx.translate(this.x,this.y);ctx.rotate(this.turretAngle);ctx.shadowColor=this.isPlayer?'#4ade80':'#f87171';ctx.shadowBlur=8;ctx.fillStyle=this.isPlayer?'#22c55e':'#dc2626';ctx.beginPath();ctx.arc(0,0,8,0,Math.PI*2);ctx.fill();ctx.shadowBlur=0;ctx.fillStyle='#111';ctx.fillRect(0,-3,22,6);ctx.restore();if(!this.isPlayer){const hw=26;ctx.fillStyle='rgba(0,0,0,0.5)';ctx.fillRect(this.x-hw/2,this.y-26,hw,5);ctx.fillStyle=this.health>1?'#f87171':'#ef4444';ctx.fillRect(this.x-hw/2,this.y-26,hw*(this.health/this.maxHealth),5);const labels=['巡逻','追击','搜索','掩体','探头','撤退','侧移'];const colors=['#888','#ff4444','#fbbf24','#60a5fa','#34d399','#a78bfa','#fb923c'];ctx.fillStyle=colors[this.state]||'#888';ctx.font='10px sans-serif';ctx.textAlign='center';ctx.fillText(labels[this.state]||'',this.x,this.y-30)}}
}
class Mine{
constructor(x,y){this.x=x;this.y=y;this.radius=9;this.armTimer=20;this.armed=false;this.dead=false;this.blink=0}
update(walls,tanks){if(this.dead)return;if(this.armTimer>0){this.armTimer--;return}this.armed=true;this.blink++;for(let t of tanks){if(t.isPlayer||t.dead)continue;const d=Math.sqrt((this.x-t.x)**2+(this.y-t.y)**2);if(d<t.radius+12){this.dead=true;this.explode(t);break}}}
explode(t){t.takeDamage(5,game.player);game.addParticles(this.x,this.y,'#ff9900',18,30);game.addParticles(this.x,this.y,'#ff4444',12,18);game.addParticles(this.x,this.y,'#ffffff',8,8);game.shake=Math.max(game.shake,8);audio.play('explosion');game.addNoise(this.x,this.y,320)}
draw(ctx){ctx.save();if(this.armed&&this.blink%12<6)ctx.globalAlpha=0.5;ctx.fillStyle='#1f2937';ctx.beginPath();ctx.arc(this.x,this.y,this.radius,0,Math.PI*2);ctx.fill();ctx.strokeStyle='#f87171';ctx.lineWidth=2;ctx.beginPath();ctx.arc(this.x,this.y,this.radius,0,Math.PI*2);ctx.stroke();ctx.fillStyle='#f87171';for(let i=0;i<6;i++){const a=i/6*Math.PI*2;ctx.beginPath();ctx.arc(this.x+Math.cos(a)*this.radius,this.y+Math.sin(a)*this.radius,2,0,Math.PI*2);ctx.fill()}ctx.restore()}
}
class Missile{
constructor(x,y,owner,tanks){this.x=x;this.y=y;this.owner=owner;this.tanks=tanks;this.speed=4.8;this.radius=4;this.dead=false;this.age=0;this.trail=[];this.target=null;this.turn=0.1;this.acquire();if(this.target){const a=Math.atan2(this.target.y-this.y,this.target.x-this.x);this.vx=Math.cos(a)*this.speed;this.vy=Math.sin(a)*this.speed}else{this.vx=Math.cos(owner.turretAngle)*this.speed;this.vy=Math.sin(owner.turretAngle)*this.speed}}
acquire(){let best=null,bd=Infinity;for(let t of this.tanks){if(t.isPlayer||t.dead)continue;const d=Math.sqrt((t.x-this.x)**2+(t.y-this.y)**2);if(d<bd){bd=d;best=t}}this.target=best;return best}
update(walls,tanks){if(this.dead)return;this.age++;this.trail.push({x:this.x,y:this.y});if(this.trail.length>14)this.trail.shift();if(!this.target||this.target.dead)this.acquire();const curAngle=Math.atan2(this.vy,this.vx);let desired=curAngle;if(this.target)desired=Math.atan2(this.target.y-this.y,this.target.x-this.x);let diff=desired-curAngle;while(diff>Math.PI)diff-=Math.PI*2;while(diff<-Math.PI)diff+=Math.PI*2;const maxTurn=this.turn;const turnDir=Math.max(-maxTurn,Math.min(maxTurn,diff));const angle=curAngle+turnDir;this.vx=Math.cos(angle)*this.speed;this.vy=Math.sin(angle)*this.speed;this.x+=this.vx;this.y+=this.vy;if(this.x<-80||this.x>canvas.width+80||this.y<-80||this.y>canvas.height+80){this.dead=true;return}if(this.age>600)this.dead=true;for(let t of tanks){if(t.isPlayer||t.dead)continue;const d=Math.sqrt((this.x-t.x)**2+(this.y-t.y)**2);if(d<t.radius+this.radius){this.dead=true;t.takeDamage(Math.floor(t.maxHealth*0.8),this.owner);this.explodeAt(this.x,this.y);return}}}
explodeAt(x,y){game.addParticles(x,y,'#f97316',14,22);game.addParticles(x,y,'#ffcc00',10,14);audio.play('explosion');game.addNoise(x,y,260)}
draw(ctx){ctx.save();ctx.shadowColor='#f97316';ctx.shadowBlur=10;ctx.fillStyle='#f97316';ctx.beginPath();ctx.arc(this.x,this.y,this.radius+1,0,Math.PI*2);ctx.fill();ctx.shadowBlur=0;ctx.strokeStyle='rgba(249,115,22,0.5)';ctx.lineWidth=2;ctx.beginPath();for(let i=0;i<this.trail.length;i++){if(i===0)ctx.moveTo(this.trail[i].x,this.trail[i].y);else ctx.lineTo(this.trail[i].x,this.trail[i].y)}ctx.stroke();ctx.restore()}
}
const ICONS={bullet:'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBmaWxsPSJub25lIj48cGF0aCBkPSJNNiAxMkwyMiAxMkMyNSAxMiAyOCAxNCAyOCAxNkMyOCAxOCAyNSAyMCAyMiAyMEw2IDIwWiIgc3Ryb2tlPSIjNGFkZTgwIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTEwIDEyTDEwIDIwIiBzdHJva2U9IiM0YWRlODAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBvcGFjaXR5PSIwLjUiLz48L3N2Zz4=',kill:'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMTYgNEM5IDQgNCA5IDQgMTZDNCAyMCA2IDIzIDkgMjVMOSAyOEwyMyAyOEwyMyAyNUMyNiAyMyAyOCAyMCAyOCAxNkMyOCA5IDIzIDQgMTYgNFoiIHN0cm9rZT0iI2MwODRmYyIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0xMCAxNEEyIDIgMCAxIDEgMTQgMTRBMiAyIDAgMSAxIDEwIDE0TTIwIDE0QTIgMiAwIDEgMSAyNCAxNEEyIDIgMCAxIDEgMjAgMTQiIHN0cm9rZT0iI2MwODRmYyIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0xMiAyNEwyMCAyNCIgc3Ryb2tlPSIjYzA4NGZjIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTE2IDE4TDE1IDIwTDE3IDIwWiIgc3Ryb2tlPSIjYzA4NGZjIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==',bounce:'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBmaWxsPSJub25lIj48cGF0aCBkPSJNNiAyNEMxMCAxOCAxNCAxMCAxNiA2QzE4IDEwIDIyIDE4IDI2IDI0IiBzdHJva2U9IiMyMmQzZWUiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=',mine:'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBmaWxsPSJub25lIj48cGF0aCBkPSJNOCAxNkE4IDggMCAxIDEgMjQgMTZBOCA4IDAgMSAxIDggMTYiIHN0cm9rZT0iI2Y4NzE3MSIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0xNiA4TDE2IDVNMTQgNUwxOCA1TTIxLjUgMTAuNUwyNCA4TTI0IDE2TDI4IDE2TTIxLjUgMjEuNUwyNCAyNE0xNiAyNEwxNiAyOE0xMC41IDIxLjVMOCAyNE04IDE2TDQgMTZNMTAuNSAxMC41TDggOCIgc3Ryb2tlPSIjZjg3MTcxIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+',missile:'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMTAgMTJMMjIgMTJDMjYgMTIgMjggMTQgMjggMTZDMjggMTggMjYgMjAgMjIgMjBMMTAgMjBaIiBzdHJva2U9IiNmOTczMTYiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMTAgMTJMNyA4TDEwIDE0Wk0xMCAyMEw3IDI0TDEwIDE4WiIgc3Ryb2tlPSIjZjk3MzE2IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTcgMTRMMyAxNkw3IDE4IiBzdHJva2U9IiNmOTczMTYiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=',heart:'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMTYgMjhDNiAyMCAyIDE0IDQgOUM1IDUgOCA0IDEyIDZDMTQgNyAxNSA4IDE2IDEwQzE3IDggMTggNyAyMCA2QzI0IDQgMjcgNSAyOCA5QzMwIDE0IDI2IDIwIDE2IDI4WiIgc3Ryb2tlPSIjZWY0NDQ0IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+',damage:'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMTYgMkwxOCAxMkwyOCAxNkwxOCAyMEwxNiAyOEwxNCAyMEw0IDE2TDE0IDEyWiIgc3Ryb2tlPSIjZmI5MjNjIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+',speed:'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMTggNEwxMCAxNkwxNiAxNkwxNCAyOEwyNCAxNEwxOCAxNFoiIHN0cm9rZT0iI2ZiYmYyNCIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==',life:'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMTYgMjhDNiAyMCAyIDE0IDQgOUM1IDUgOCA0IDEyIDZDMTQgNyAxNSA4IDE2IDEwQzE3IDggMTggNyAyMCA2QzI0IDQgMjcgNSAyOCA5QzMwIDE0IDI2IDIwIDE2IDI4WiIgc3Ryb2tlPSIjNGFkZTgwIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTE4LjUgMjJBMy41IDMuNSAwIDEgMSAyNS41IDIyQTMuNSAzLjUgMCAxIDEgMTguNSAyMiIgc3Ryb2tlPSIjNGFkZTgwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0yMiAxOS41TDIyIDI0LjVNMTkuNSAyMkwyNC41IDIyIiBzdHJva2U9IiM0YWRlODAiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGlLine truncated
const REWARD_DEFS=[
{name:'血量上限',icon:ICONS.heart,desc:'提高生命值上限',gen(){const v=2+Math.floor(Math.random()*3);return{label:'+'+v,apply(){game.playerStats.maxHp+=v;if(game.player&&!game.player.dead){game.player.maxHealth+=v;game.player.health+=v}}}}},
{name:'伤害提升',icon:ICONS.damage,desc:'子弹伤害提升',gen(){const v=1+Math.floor(Math.random()*2);return{label:'+'+v,apply(){game.playerStats.damage+=v}}}},
{name:'攻速提升',icon:ICONS.speed,desc:'射击间隔缩短,最大子弹+2',gen(){const v=2+Math.floor(Math.random()*3);return{label:'-'+v+' · 弹容+2',apply(){game.playerStats.fireRate+=v;game.playerStats.maxBullets+=2}}}},
{name:'额外命',icon:ICONS.life,desc:'死亡时自动复活并回满血',gen(){return{label:'+1 命',apply(){game.playerStats.extraLives++}}}},
{name:'必杀弹',icon:ICONS.kill,desc:'一发射杀敌人,滚轮选择使用',gen(){const v=1+Math.floor(Math.random()*3);return{label:v+' 发',apply(){game.playerStats.ammo.kill+=v}}}},
{name:'永久反弹弹',icon:ICONS.bounce,desc:'子弹无限反弹,滚轮选择使用',gen(){const v=10+Math.floor(Math.random()*11);return{label:v+' 发',apply(){game.playerStats.ammo.bounce+=v}}}},
{name:'地雷',icon:ICONS.mine,desc:'放置地雷只炸敌人,滚轮选择使用',gen(){const v=3+Math.floor(Math.random()*3);return{label:v+' 个',apply(){game.playerStats.ammo.mine+=v}}}},
{name:'自动导弹',icon:ICONS.missile,desc:'自动追踪敌人的导弹,滚轮选择使用',gen(){const v=1+Math.floor(Math.random()*2);return{label:v+' 枚',apply(){game.playerStats.ammo.missile+=v}}}}
];
class Game{
constructor(){
this.state='menu';this.level=1;this.walls=[];this.bullets=[];this.tanks=[];this.particles=[];this.player=null;this.mouseX=400;this.mouseY=300;this.shake=0;this.frame=0;this.mouseDown=false;this.evolution={level:1,speedMul:1,reactionMul:1,dodgeSkill:0,peekSkill:0,accuracy:0};this.lastNoise=null;this.playerStats={maxHp:10,damage:1,fireRate:0,extraLives:0,maxBullets:8,ammo:{kill:0,bounce:0,mine:0,missile:0},selected:'normal'};this.mines=[];this.missiles=[];
canvas.addEventListener('mousemove',e=>{const rect=canvas.getBoundingClientRect();this.mouseX=(e.clientX-rect.left)*(canvas.width/rect.width);this.mouseY=(e.clientY-rect.top)*(canvas.height/rect.height)});
canvas.addEventListener('mousedown',e=>{if(e.button===0){this.mouseDown=true;if(this.state==='playing'&&this.player&&!this.player.dead)this.player.shoot()}});
canvas.addEventListener('wheel',e=>{e.preventDefault();game.cycleAmmo(e.deltaY>0?1:-1)});
canvas.addEventListener('mouseup',e=>{if(e.button===0)this.mouseDown=false});
canvas.addEventListener('contextmenu',e=>e.preventDefault());
document.getElementById('btnStart').addEventListener('click',()=>this.start());
document.getElementById('btnNext').addEventListener('click',()=>this.nextLevel());
document.getElementById('btnRestart').addEventListener('click',()=>this.restart());
this.loop()
}
addNoise(x,y,r){this.lastNoise={x,y,radius:r,frame:this.frame}}
generateMap(){
this.walls=[];
for(let c=0;c<COLS;c++){this.walls.push(new Wall(c,0,'steel'));this.walls.push(new Wall(c,ROWS-1,'steel'))}
for(let r=1;r<ROWS-1;r++){this.walls.push(new Wall(0,r,'steel'));this.walls.push(new Wall(COLS-1,r,'steel'))}
for(let r=2;r<ROWS-2;r+=2){for(let c=2;c<COLS-2;c+=2){if(Math.random()<0.85)this.walls.push(new Wall(c,r,'steel'))}}
for(let i=0;i<8;i++){const c=2+Math.floor(Math.random()*(COLS-4));const r=2+Math.floor(Math.random()*(ROWS-4));if(!this.walls.find(w=>w.c===c&&w.r===r))this.walls.push(new Wall(c,r,'steel'))}
for(let r=1;r<ROWS-1;r++){for(let c=1;c<COLS-1;c++){if(this.walls.find(w=>w.c===c&&w.r===r))continue;const edgeDist=Math.min(c,r,COLS-1-c,ROWS-1-r);const chance=edgeDist<=1?0.15:0.45;if(Math.random()<chance)this.walls.push(new Wall(c,r,'brick'))}}
for(let i=0;i<20;i++){const c=1+Math.floor(Math.random()*(COLS-2));const r=1+Math.floor(Math.random()*(ROWS-2));if(!this.walls.find(w=>w.c===c&&w.r===r))this.walls.push(new Wall(c,r,'brick'))}
this.clearArea(1,1,3,3);this.clearArea(COLS-4,ROWS-4,3,3);this.clearArea(1,ROWS-4,3,3);this.clearArea(COLS-4,1,3,3);this.ensureReachable()
}
clearArea(c0,r0,w,h){for(let r=r0;r<r0+h;r++){for(let c=c0;c<c0+w;c++){const idx=this.walls.findIndex(wall=>wall.c===c&&wall.r===r);if(idx>=0)this.walls.splice(idx,1)}}}
ensureReachable(){const solid=[];for(let r=0;r<ROWS;r++)solid.push(new Array(COLS).fill(false));const wallAt=[];for(let r=0;r<ROWS;r++)wallAt.push(new Array(COLS).fill(null));for(let w of this.walls){if(!w.dead&&w.c>=0&&w.c<COLS&&w.r>=0&&w.r<ROWS){solid[w.r][w.c]=true;wallAt[w.r][w.c]=w}}let changed=true;while(changed){changed=false;const seen=[];for(let r=0;r<ROWS;r++)seen.push(new Array(COLS).fill(false));for(let sr=1;sr<ROWS-1;sr++){for(let sc=1;sc<COLS-1;sc++){if(solid[sr][sc]||seen[sr][sc])continue;const q=[[sc,sr]];seen[sr][sc]=true;const boundary=[];while(q.length){const p=q.pop(),c=p[0],r=p[1];for(let k=0;k<4;k++){const nc=c+[1,-1,0,0][k],nr=r+[0,0,1,-1][k];if(nc<1||nc>COLS-2||nr<1||nr>ROWS-2)continue;if(!solid[nr][nc]){if(!seen[nr][nc]){seen[nr][nc]=true;q.push([nc,nr])}}else boundary.push([nc,nr])}}if(boundary.length>0){let allSteel=true,anySteel=false;for(let i=0;i<boundary.length;i++){const w=wallAt[boundary[i][1]][boundary[i][0]];if(w&&w.type==='steel')anySteel=true;else{allSteel=false;break}}if(allSteel&&anySteel){const b=boundary[0];const w=wallAt[b[1]][b[0]];if(w&&w.type==='steel'){w.type='brick';w.health=2;w.maxHealth=2;changed=true}}}}}}}
findClearSpot(px,py,minDist,tanks){const reqD=[minDist,Math.max(140,minDist*0.7),Math.max(100,minDist*0.45)];const reqT=[90,70,50];for(let pass=0;pass<3;pass++){for(let attempt=0;attempt<120;attempt++){const x=40+Math.random()*(canvas.width-80);const y=40+Math.random()*(canvas.height-80);if(dist(x,y,px,py)<reqD[pass])continue;let clear=true;for(let w of this.walls){if(w.dead)continue;if(x+18>w.x&&x-18<w.x+w.w&&y+18>w.y&&y-18<w.y+w.h){clear=false;break}}if(!clear)continue;let tc=true;for(let t of tanks){if(!t||t.dead)continue;if(dist(x,y,t.x,t.y)<reqT[pass]){tc=false;break}}if(!tc)continue;if(pass<2&&hasLineOfSight(x,y,px,py,this.walls))continue;return{x,y}}}for(let r=1;r<ROWS-1;r++){for(let c=1;c<COLS-1;c++){const x=c*TILE+TILE/2,y=r*TILE+TILE/2;if(dist(x,y,px,py)<Math.max(90,minDist*0.4))continue;let clear=true;for(let w of this.walls){if(w.dead)continue;if(x+18>w.x&&x-18<w.x+w.w&&y+18>w.y&&y-18<w.y+w.h){clear=false;break}}if(!clear)continue;let tc=true;for(let t of tanks){if(!t||t.dead)continue;if(dist(x,y,t.x,t.y)<45){tc=false;break}}if(!tc)continue;if(hasLineOfSight(x,y,px,py,this.walls))continue;return{x,y}}}const corners=[[80,80],[canvas.width-80,80],[80,canvas.height-80],[canvas.width-80,canvas.height-80]].sort((a,b)=>dist(b[0],b[1],px,py)-dist(a[0],a[1],px,py));for(const cc of corners){let clear=true;for(let w of this.walls){if(w.dead)continue;if(cc[0]+18>w.x&&cc[0]-18<w.x+w.w&&cc[1]+18>w.y&&cc[1]-18<w.y+w.h){clear=false;break}}if(!clear)continue;let tc=true;for(let t of tanks){if(!t||t.dead)continue;if(dist(cc[0],cc[1],t.x,t.y)<60){tc=false;break}}if(tc)return{x:cc[0],y:cc[1]}}return{x:px<canvas.width/2?canvas.width-80:80,y:py<canvas.height/2?canvas.height-80:80}}
spawnTanks(){this.tanks=[];const corners=[[80,80],[canvas.width-80,80],[80,canvas.height-80],[canvas.width-80,canvas.height-80]];const c=corners[Math.floor(Math.random()*4)];this.player=new Tank(c[0],c[1],true,null,this.playerStats);this.tanks.push(this.player);const aiCount=Math.min(2+this.level,8);for(let i=0;i<aiCount;i++){const spot=this.findClearSpot(this.player.x,this.player.y,240,this.tanks);this.tanks.push(new Tank(spot.x,spot.y,false,this.evolution))}}
evolve(){this.evolution.level=this.level;this.evolution.speedMul=Math.min(5,1+this.level*0.5);this.evolution.reactionMul=Math.min(6,1+this.level*0.8);this.evolution.dodgeSkill=Math.min(10,this.level*1.5);this.evolution.peekSkill=Math.min(5,Math.floor(this.level/2));this.evolution.accuracy=Math.min(8,this.level*1.2);}
addParticles(x,y,color,speed,count){for(let i=0;i<count;i++)this.particles.push(new Particle(x,y,color,speed,18+Math.random()*18))}
start(){this.mines=[];audio.init();audio.startBGM();document.getElementById('startScreen').classList.add('hidden');this.level=1;this.evolution={level:1,speedMul:1,reactionMul:1,dodgeSkill:0,peekSkill:0,accuracy:0};this.playerStats={maxHp:10,damage:1,fireRate:0,extraLives:0,maxBullets:8,ammo:{kill:0,bounce:0,mine:0,missile:0},selected:'normal'};this.startLevel()}
startLevel(){this.state='playing';this.bullets=[];this.particles=[];this.missiles=[];this.generateMap();this.spawnTanks();this.evolve();this.updateUI();this.updateAmmoHud()}
nextLevel(){audio.play('levelup');document.getElementById('levelScreen').classList.add('hidden');this.level++;this.startLevel()}
restart(){this.mines=[];document.getElementById('overScreen').classList.add('hidden');this.level=1;this.evolution={level:1,speedMul:1,reactionMul:1,dodgeSkill:0,peekSkill:0,accuracy:0};this.playerStats={maxHp:10,damage:1,fireRate:0,extraLives:0,maxBullets:8,ammo:{kill:0,bounce:0,mine:0,missile:0},selected:'normal'};this.startLevel()}
updateUI(){document.getElementById('levelNum').textContent=this.level;const enemies=this.tanks.filter(t=>!t.isPlayer&&!t.dead).length;document.getElementById('enemyCount').textContent=enemies;if(this.player){const hpPct=Math.max(0,(this.player.health/this.player.maxHealth)*100);const hpBar=document.getElementById('hpBar');hpBar.style.width=hpPct+'%';hpBar.style.background=hpPct>50?'linear-gradient(90deg,#22c55e,#4ade80)':hpPct>25?'linear-gradient(90deg,#f59e0b,#fbbf24)':'linear-gradient(90deg,#ef4444,#f87171)'}}
update(){if(this.state!=='playing')return;this.frame++;if(this.mouseDown&&this.frame%7===0&&this.player&&!this.player.dead)this.player.shoot();for(let t of this.tanks)t.update(this.walls,this.player,this.tanks,this.bullets);if(this.player&&this.player.invincible>0)this.player.invincible--;for(let b of this.bullets)b.update(this.walls,this.tanks);for(let i=this.bullets.length-1;i>=0;i--){if(this.bullets[i].dead){if(this.bullets[i].onDeath)this.bullets[i].onDeath();this.bullets.splice(i,1)}}for(let m of this.mines)m.update(this.walls,this.tanks);this.mines=this.mines.filter(m=>!m.dead);for(let m of this.missiles)m.update(this.walls,this.tanks);this.missiles=this.missiles.filter(m=>!m.dead);for(let p of this.particles)p.update();this.particles=this.particles.filter(p=>p.life>0);const aliveEnemies=this.tanks.filter(t=>!t.isPlayer&&!t.dead).length;if(aliveEnemies===0&&this.player&&!this.player.dead){this.state='reward';this.showRewardChoices();this.mouseDown=false}if(this.player&&this.player.dead){if(this.player.extraLives>0){this.player.extraLives--;game.playerStats.extraLives--;this.updateAmmoHud();this.player.dead=false;this.player.health=this.player.maxHealth;this.player.invincible=90;this.addParticles(this.player.x,this.player.y,'#4ade80',20,40);this.addParticles(this.player.x,this.player.y,'#ffffff',14,24);audio.play('levelup');this.shake=Math.max(this.shake,10)}else{this.state='over';document.getElementById('finalLevel').textContent=this.level;document.getElementById('overScreen').classList.remove('hidden');this.mouseDown=false}}if(this.shake>0)this.shake--;this.updateUI()}
draw(){const bg=ctx.createLinearGradient(0,0,0,canvas.height);bg.addColorStop(0,'#243349');bg.addColorStop(1,'#111a2c');ctx.fillStyle=bg;ctx.fillRect(0,0,canvas.width,canvas.height);ctx.strokeStyle='rgba(255,255,255,0.035)';ctx.lineWidth=1;for(let x=0;x<=canvas.width;x+=TILE){ctx.beginPath();ctx.moveTo(x,0);ctx.lineTo(x,canvas.height);ctx.stroke()}for(let y=0;y<=canvas.height;y+=TILE){ctx.beginPath();ctx.moveTo(0,y);ctx.lineTo(canvas.width,y);ctx.stroke()}ctx.save();if(this.shake>0){ctx.translate((Math.random()-0.5)*this.shake,(Math.random()-0.5)*this.shake)}for(let w of this.walls)w.draw(ctx);for(let b of this.bullets)b.draw(ctx);for(let t of this.tanks)t.draw(ctx);for(let p of this.particles)p.draw(ctx);if(this.player&&!this.player.dead){for(let t of this.tanks){if(t.isPlayer||t.dead)continue;if(t.lastSeenPlayerPos&&hasLineOfSight(t.x,t.y,t.lastSeenPlayerPos.x,t.lastSeenPlayerPos.y,this.walls)){ctx.strokeStyle='rgba(251,191,36,0.12)';ctx.lineWidth=1;ctx.setLineDash([3,5]);ctx.beginPath();ctx.moveTo(t.x,t.y);ctx.lineTo(t.lastSeenPlayerPos.x,t.lastSeenPlayerPos.y);ctx.stroke();ctx.setLineDash([])}}ctx.strokeStyle='rgba(74,222,128,0.12)';ctx.lineWidth=1;ctx.setLineDash([4,6]);ctx.beginPath();ctx.moveTo(this.player.x,this.player.y);ctx.lineTo(this.mouseX,this.mouseY);ctx.stroke();ctx.setLineDash([]);ctx.strokeStyle='rgba(74,222,128,0.35)';ctx.lineWidth=2;ctx.beginPath();ctx.arc(this.mouseX,this.mouseY,8,0,Math.PI*2);ctx.stroke()}for(let m of this.mines)m.draw(ctx);for(let m of this.missiles)m.draw(ctx);ctx.restore()}
loop(){this.update();this.draw();requestAnimationFrame(()=>this.loop())}
cycleAmmo(dir){const order=['normal','kill','bounce','mine','missile'];const ammo=this.playerStats.ammo;let idx=order.indexOf(this.playerStats.selected);for(let i=1;i<=order.length;i++){const next=(idx+i*dir+order.length*2)%order.length;const t=order[next];if(t==='normal'||ammo[t]>0){this.playerStats.selected=t;break}}if(this.player)this.player.selectedType=this.playerStats.selected;this.updateAmmoHud()}
updateAmmoHud(){const panel=document.getElementById('ammoPanel');if(!panel)return;const ammo=this.playerStats.ammo;if(this.playerStats.selected!=='normal'&&ammo[this.playerStats.selected]<=0){const order=['kill','bounce','mine','missile'];this.playerStats.selected='normal';for(const t of order){if(ammo[t]>0){this.playerStats.selected=t;break}}if(this.player)this.player.selectedType=this.playerStats.selected}const defs=[{t:'kill',icon:ICONS.kill,name:'必杀'},{t:'bounce',icon:ICONS.bounce,name:'反弹'},{t:'mine',icon:ICONS.mine,name:'地雷'},{t:'missile',icon:ICONS.missile,name:'导弹'}];let h='';if(this.playerStats.extraLives>0)h+='<div class="ammo-row"><img class="ammo-icon" src="'+ICONS.life+'" alt="" /><span class="ammo-name">命</span><span class="ammo-count">×'+this.playerStats.extraLives+'</span></div>';for(const d of defs){const n=ammo[d.t];if(n<=0)continue;h+='<div class="ammo-row'+(this.playerStats.selected===d.t?' active':'')+'"><img class="ammo-icon" src="'+d.icon+'" alt="" /><span class="ammo-name">'+d.name+'</span><span class="ammo-count">×'+n+'</span></div>'}panel.innerHTML=h;const icons={normal:ICONS.bullet,kill:ICONS.kill,bounce:ICONS.bounce,mine:ICONS.mine,missile:ICONS.missile};const cur=document.getElementById('ammoCurrent');if(cur)cur.innerHTML='<img src="'+(icons[this.playerStats.selected]||ICONS.bullet)+'" alt="" />'}
showRewardChoices(){this.pendingReward=null;const pool=REWARD_DEFS.slice();const picks=[];for(let i=0;i<3;i++){const idx=Math.floor(Math.random()*pool.length);picks.push(pool.splice(idx,1)[0])}const container=document.getElementById('rewardCards');container.innerHTML='';const confirmBtn=document.getElementById('rewardConfirm');confirmBtn.classList.remove('enabled');confirmBtn.disabled=true;picks.forEach(def=>{const card=document.createElement('div');card.className='reward-card';const r=def.gen();card.innerHTML='<img class="reward-icon" src="'+def.icon+'" alt="" /><div class="reward-name">'+def.name+'</div><div class="reward-val">'+r.label+'</div><div class="reward-desc">'+def.desc+'</div>';card.addEventListener('click',()=>{for(const c of container.children)c.classList.remove('selected');card.classList.add('selected');this.pendingReward=r.apply;confirmBtn.classList.add('enabled');confirmBtn.disabled=false});container.appendChild(card)});document.getElementById('rewardScreen').classList.remove('hidden')}
afterReward(){document.getElementById('rewardScreen').classList.add('hidden');document.getElementById('rewardConfirm').classList.remove('enabled');document.getElementById('rewardConfirm').disabled=true;this.pendingReward=null;this.updateAmmoHud();this.state='level';document.getElementById('nextLevel').textContent=this.level+1;document.getElementById('levelScreen').classList.remove('hidden');this.mouseDown=false;this.updateUI()}
}
const game=new Game();
function confirmReward(){if(!game.pendingReward)return;const apply=game.pendingReward;game.pendingReward=null;apply();game.afterReward()}
document.getElementById('rewardConfirm').addEventListener('click',confirmReward);
</script>
</body>
</html>
Binary file not shown.
@@ -0,0 +1 @@
{"asset":{"version":"2.0","generator":"Blockbench 5.1.6 glTF exporter"},"scenes":[{"nodes":[1,3,5,7,10,12,14,16,18,20],"name":"blockbench_export"}],"scene":0,"nodes":[{"translation":[0,-0.375,0.3125],"name":"head","mesh":0},{"translation":[0,0.375,-0.3125],"name":"head","children":[0]},{"translation":[0,-0.5625,0.375],"name":"top_gills","mesh":1},{"translation":[0,0.5625,-0.375],"name":"top_gills","children":[2]},{"translation":[-0.25,-0.375,0.375],"name":"left_gills","mesh":2},{"translation":[0.25,0.375,-0.375],"name":"left_gills","children":[4]},{"translation":[0.25,-0.375,0.375],"name":"right_gills","mesh":3},{"translation":[-0.25,0.375,-0.375],"name":"right_gills","children":[6]},{"translation":[0,-0.375,-0.25],"name":"body","mesh":4},{"translation":[0,-0.375,-0.25],"name":"body","mesh":5},{"translation":[0,0.375,0.25],"name":"body","children":[8,9]},{"translation":[-0.21875,-0.3125,-0.1875],"name":"leg1","mesh":6},{"rotation":[0.5372996083468239,0,0,0.8433914458128857],"translation":[0.225,0.3125,0.1875],"name":"leg1","children":[11]},{"translation":[0.21875,-0.3125,-0.1875],"name":"leg2","mesh":7},{"rotation":[0.5372996083468239,0,0,0.8433914458128857],"translation":[-0.21875,0.3125,0.1875],"name":"leg2","children":[13]},{"translation":[-0.21875,-0.3125,0.25],"name":"leg3","mesh":8},{"rotation":[0.5372996083468239,0,0,0.8433914458128857],"translation":[0.21875,0.3125,-0.25],"name":"leg3","children":[15]},{"translation":[0.21875,-0.3125,0.25],"name":"leg4","mesh":9},{"rotation":[0.5372996083468239,0,0,0.8433914458128857],"translation":[-0.21875,0.3125,-0.25],"name":"leg4","children":[17]},{"rotation":[0,-0.10886687485196457,0,0.9940563382223196],"translation":[0,-0.375,-0.3125],"name":"tail","mesh":10},{"translation":[0,0.375,0.3125],"name":"tail","children":[19]}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":288,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":576,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":768,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":840,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1128,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1416,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":1608,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":1680,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1968,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":2256,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":2448,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":2520,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":2808,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3096,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":3288,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":3360,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3648,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3936,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":4128,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":4200,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":4488,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":4776,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":4968,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":5040,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":5328,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":5616,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":5808,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":5880,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":6168,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":6456,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":6648,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":6720,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":7008,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":7296,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":7488,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":7560,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":7848,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":8136,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":8328,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":8400,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":8688,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":8976,"byteLength":192,"targLine truncated
@@ -0,0 +1,25 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
@font-face {
font-family: "codicon";
font-display: block;
src: url(./codicon.ttf) format("truetype");
}
.codicon[class*='codicon-'] {
font: normal normal normal 16px/1 codicon;
display: inline-block;
text-decoration: none;
text-rendering: auto;
text-align: center;
text-transform: none;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
user-select: none;
-webkit-user-select: none;
}
/* icon rules are dynamically created by the platform theme service (see iconsStyleSheet.ts) */
Binary file not shown.
@@ -0,0 +1 @@
define("vs/abap-D-t0cyap",["exports"],(function(e){"use strict";const t={comments:{lineComment:"*"},brackets:[["[","]"],["(",")"]]},n={defaultToken:"invalid",ignoreCase:!0,tokenPostfix:".abap",keywords:["abap-source","abbreviated","abstract","accept","accepting","according","activation","actual","add","add-corresponding","adjacent","after","alias","aliases","align","all","allocate","alpha","analysis","analyzer","and","append","appendage","appending","application","archive","area","arithmetic","as","ascending","aspect","assert","assign","assigned","assigning","association","asynchronous","at","attributes","authority","authority-check","avg","back","background","backup","backward","badi","base","before","begin","between","big","binary","bintohex","bit","black","blank","blanks","blob","block","blocks","blue","bound","boundaries","bounds","boxed","break-point","buffer","by","bypassing","byte","byte-order","call","calling","case","cast","casting","catch","center","centered","chain","chain-input","chain-request","change","changing","channels","character","char-to-hex","check","checkbox","ci_","circular","class","class-coding","class-data","class-events","class-methods","class-pool","cleanup","clear","client","clob","clock","close","coalesce","code","coding","col_background","col_group","col_heading","col_key","col_negative","col_normal","col_positive","col_total","collect","color","column","columns","comment","comments","commit","common","communication","comparing","component","components","compression","compute","concat","concat_with_space","concatenate","cond","condense","condition","connect","connection","constants","context","contexts","continue","control","controls","conv","conversion","convert","copies","copy","corresponding","country","cover","cpi","create","creating","critical","currency","currency_conversion","current","cursor","cursor-selection","customer","customer-function","dangerous","data","database","datainfo","dataset","date","dats_add_days","dats_add_months","dats_days_between","dats_is_valid","daylight","dd/mm/yy","dd/mm/yyyy","ddmmyy","deallocate","decimal_shift","decimals","declarations","deep","default","deferred","define","defining","definition","delete","deleting","demand","department","descending","describe","destination","detail","dialog","directory","disconnect","display","display-mode","distinct","divide","divide-corresponding","division","do","dummy","duplicate","duplicates","duration","during","dynamic","dynpro","edit","editor-call","else","elseif","empty","enabled","enabling","encoding","end","endat","endcase","endcatch","endchain","endclass","enddo","endenhancement","end-enhancement-section","endexec","endform","endfunction","endian","endif","ending","endinterface","end-lines","endloop","endmethod","endmodule","end-of-definition","end-of-editing","end-of-file","end-of-page","end-of-selection","endon","endprovide","endselect","end-test-injection","end-test-seam","endtry","endwhile","endwith","engineering","enhancement","enhancement-point","enhancements","enhancement-section","entries","entry","enum","environment","equiv","errormessage","errors","escaping","event","events","exact","except","exception","exceptions","exception-table","exclude","excluding","exec","execute","exists","exit","exit-command","expand","expanding","expiration","explicit","exponent","export","exporting","extend","extended","extension","extract","fail","fetch","field","field-groups","fields","field-symbol","field-symbols","file","filter","filters","filter-table","final","find","first","first-line","fixed-point","fkeq","fkge","flush","font","for","form","format","forward","found","frame","frames","free","friends","from","function","functionality","function-pool","further","gaps","generate","get","giving","gkeq","gkge","global","grant","green","group","groups","handle","handler","harmless","hashed","having","hdb","header","headers","heading","head-lines","help-id","help-request","hextobin","hide","high","hint","hold","hotspot","icon","id","identification","identifier","ids","if","ignore","ignoring","immediately","implementation","implementations","implemented","implicit","import","importing","in","inactive","incl","include","includes","including","increment","index","index-line","infotypes","inheriting","init","initial","initialization","inner","inout","input","insert","instance","instances","instr","intensified","interface","interface-pool","interfaces","internal","intervals","into","inverse","inverted-date","is","iso","job","join","keep","keeping","kernel","key","keys","keywords","kind","language","last","late","layout","leading","leave","left","left-justified","leftplus","leftspace","legacy","length","let","level","levels","like","line","lines","line-count","linefeed","line-selection","line-size","list","listbox","list-processing","little","llang","load","load-of-program","lob","local","locale","locator","logfile","logical","log-point","long","loop","low","lower","lpad","lpi","ltrim","mail","main","major-id","Line truncated
@@ -0,0 +1 @@
define("vs/apex-CcIm7xu6",["exports"],(function(s){"use strict";const o={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}},n=["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"],i=e=>e.charAt(0).toUpperCase()+e.substr(1);let t=[];n.forEach(e=>{t.push(e),t.push(e.toUpperCase()),t.push(i(e))});const a={defaultToken:"",tokenPostfix:".apex",keywords:t,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}};s.conf=o,s.language=a,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1,97 @@
(function(){"use strict";var ft,Re,ie;class zh{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Wt.isErrorNoTelemetry(e)?new Wt(e.message+`
`+e.stack):new Error(e.message+`
`+e.stack):e},0)}}emit(e){this.listeners.forEach(n=>{n(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const na=new zh;function Qn(t){ra(t)||na.onUnexpectedError(t)}function Ph(t){ra(t)||na.onUnexpectedExternalError(t)}function Yr(t){if(t instanceof Error){const{name:e,message:n,cause:r}=t,i=t.stacktrace||t.stack;return{$isError:!0,name:e,message:n,stack:i,noTelemetry:Wt.isErrorNoTelemetry(t),cause:r?Yr(r):void 0,code:t.code}}return t}const Qr="Canceled";function ra(t){return t instanceof ia?!0:t instanceof Error&&t.name===Qr&&t.message===Qr}class ia extends Error{constructor(){super(Qr),this.name=this.message}}class Wt extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof Wt)return e;const n=new Wt;return n.message=e.message,n.stack=e.stack,n}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class ue extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,ue.prototype)}}function Th(t,e="Unreachable"){throw new Error(e)}function Oh(t,e="unexpected state"){if(!t)throw typeof e=="string"?new ue(`Assertion Failed: ${e}`):e}function bn(t){if(!t()){debugger;t(),Qn(new ue("Assertion Failed"))}}function Kr(t,e){let n=0;for(;n<t.length-1;){const r=t[n],i=t[n+1];if(!e(r,i))return!1;n++}return!0}function Wh(t){return typeof t=="string"}function $h(t){return!!t&&typeof t[Symbol.iterator]=="function"}var Kn;(function(t){function e(D){return!!D&&typeof D=="object"&&typeof D[Symbol.iterator]=="function"}t.is=e;const n=Object.freeze([]);function r(){return n}t.empty=r;function*i(D){yield D}t.single=i;function s(D){return e(D)?D:i(D)}t.wrap=s;function a(D){return D??n}t.from=a;function*o(D){for(let R=D.length-1;R>=0;R--)yield D[R]}t.reverse=o;function l(D){return!D||D[Symbol.iterator]().next().done===!0}t.isEmpty=l;function c(D){return D[Symbol.iterator]().next().value}t.first=c;function d(D,R){let P=0;for(const U of D)if(R(U,P++))return!0;return!1}t.some=d;function u(D,R){let P=0;for(const U of D)if(!R(U,P++))return!1;return!0}t.every=u;function m(D,R){for(const P of D)if(R(P))return P}t.find=m;function*f(D,R){for(const P of D)R(P)&&(yield P)}t.filter=f;function*g(D,R){let P=0;for(const U of D)yield R(U,P++)}t.map=g;function*b(D,R){let P=0;for(const U of D)yield*R(U,P++)}t.flatMap=b;function*k(...D){for(const R of D)$h(R)?yield*R:yield R}t.concat=k;function F(D,R,P){let U=P;for(const L of D)U=R(U,L);return U}t.reduce=F;function N(D){let R=0;for(const P of D)R++;return R}t.length=N;function*_(D,R,P=D.length){for(R<-D.length&&(R=0),R<0&&(R+=D.length),P<0?P+=D.length:P>D.length&&(P=D.length);R<P;R++)yield D[R]}t.slice=_;function T(D,R=Number.POSITIVE_INFINITY){const P=[];if(R===0)return[P,D];const U=D[Symbol.iterator]();for(let L=0;L<R;L++){const C=U.next();if(C.done)return[P,t.empty()];P.push(C.value)}return[P,{[Symbol.iterator](){return U}}]}t.consume=T;async function O(D){const R=[];for await(const P of D)R.push(P);return R}t.asyncToArray=O;async function V(D){let R=[];for await(const P of D)R=R.concat(P);return R}t.asyncToArrayFlat=V})(Kn||(Kn={}));function wg(t,e){}function sa(t){if(Kn.is(t)){const e=[];for(const n of t)if(n)try{n.dispose()}catch(r){e.push(r)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function Vh(...t){return wn(()=>sa(t))}class Uh{constructor(e){this._isDisposed=!1,this._fn=e}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,this._fn()}}}function wn(t){return new Uh(t)}const qr=class qr{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{sa(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e||e===Et.None)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?qr.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}};qr.DISABLE_DISPOSED_WARNING=!1;let vn=qr;const Ks=class Ks{constructor(){this._store=new vn,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};Ks.None=Object.freeze({dispose(){}});let Et=Ks,ce=(ft=class{constructor(e){this.element=e,this.next=ft.Undefined,this.prev=ft.Undefined}},ft.Undefined=new ft(void 0),ft);class Bh{constructor(){this._first=ce.Undefined,this._last=ce.Undefine Line truncated
`).slice(2).join(`
`))}}class rr extends Error{constructor(e,n,r,i,s){super(s?`[${s}] potential listener LEAK detected, ${e}`:`potential listener LEAK detected, ${e}`),this.name="ListenerLeakError",this.kind=e,this.listenerCount=i,this.details=n,this.stack=r}static is(e){return e instanceof rr||e instanceof Error&&typeof e.kind=="string"&&typeof e.listenerCount=="number"}}class sd extends rr{constructor(e,n,r,i,s){super(e,n,r,i,s),this.name="ListenerRefusalError"}}class li{constructor(e){this.value=e}}const ad=2;class Ue{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new oi(e?.onListenerError??Qn,this._options?.leakWarningThreshold??id,this._options?.leakWarningName):void 0,this._perfMon=this._options?._profName?new ai(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,n,r)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const o=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(o);const l=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],c=l[1]/this._size>.3?"dominated":"popular",d=new sd(c,`${o}. HINT: Stack shows most frequent listener (${l[1]}-times)`,l[0],this._size,this._options?.leakWarningName);return(this._options?.onListenerError||Qn)(d),Et.None}if(this._disposed)return Et.None;n&&(e=e.bind(n));const i=new li(e);let s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(i.stack=nr.create(),s=this._leakageMon.check(i.stack,this._size+1)),this._listeners?this._listeners instanceof li?(this._deliveryQueue??=new od,this._listeners=[this._listeners,i]):this._listeners.push(i):(this._options?.onWillAddFirstListener?.(this),this._listeners=i,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;const a=wn(()=>{s?.(),this._removeListener(i)});return ci(a,r),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const n=this._listeners,r=n.indexOf(e);if(r===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,n[r]=void 0;const i=this._deliveryQueue.current===this;if(this._size*ad<=n.length){let s=0;for(let a=0;a<n.length;a++)n[a]?n[s++]=n[a]:i&&s<this._deliveryQueue.end&&(this._deliveryQueue.end--,s<this._deliveryQueue.i&&this._deliveryQueue.i--);n.length=s}}_deliver(e,n){if(!e)return;const r=this._options?.onListenerError||Qn;if(!r){e.value(n);return}try{e.value(n)}catch(i){r(i)}}_deliverQueue(e){const n=e.current._listeners;for(;e.i<e.end;)this._deliver(n[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof li)this._deliver(this._listeners,e);else{const n=this._deliveryQueue;n.enqueue(this,e,this._listeners.length),this._deliverQueue(n)}this._perfMon?.stop()}hasListeners(){return this._size>0}}class od{constructor(){this.i=-1,this.end=0}enqueue(e,n,r){this.i=0,this.end=r,this.current=e,this.value=n}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}function ci(t,e){e instanceof vn?e.add(t):Array.isArray(e)&&e.push(t)}function pa(t,e){if(e instanceof vn)e.delete(t);else if(Array.isArray(e)){const n=e.indexOf(t);n!==-1&&e.splice(n,1)}t.dispose()}function ld(t){return t}class cd{constructor(e,n){this.lastCache=void 0,this.lastArgKey=void 0,typeof e=="function"?(this._fn=e,this._computeKey=ld):(this._fn=n,this._computeKey=e.getCacheKey)}get(e){const n=this._computeKey(e);return this.lastArgKey!==n&&(this.lastArgKey=n,this.lastCache=this._fn(e)),this.lastCache}}var Ft;(function(t){t[t.Uninitialized=0]="Uninitialized",t[t.Running=1]="Running",t[t.Completed=2]="Completed"})(Ft||(Ft={}));class hi{constructor(e){this.executor=e,this._state=Ft.Uninitialized}get value(){if(this._state===Ft.Uninitialized){this._state=Ft.Running;try{this._value=this.executor()}catch(e){this._error=e}finally{this._state=Ft.Completed}}else if(this._state===Ft.Running)throw new Error("Cannot read the value of a lazy that is being initialized");if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}function hd(t){return t.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function dd(t){return t.source==="^"||t.source==="^$"||t.source==="$"||t.source==="^\\s*$"?!1:!!(t.exec("")&&t.lastIndex===0)}function ud(t){re Line truncated
`||t===" "}class kn{constructor(e,n,r){this.changes=e,this.moves=n,this.hitTimeout=r}}class Go{constructor(e,n){this.lineRangeMapping=e,this.changes=n}}function Cu(t,e,n=(r,i)=>r===i){if(t===e)return!0;if(!t||!e||t.length!==e.length)return!1;for(let r=0,i=t.length;r<i;r++)if(!n(t[r],e[r]))return!1;return!0}function*ku(t,e){let n,r;for(const i of t)r!==void 0&&e(r,i)?n.push(i):(n&&(yield n),n=[i]),r=i;n&&(yield n)}function _u(t,e){for(let n=0;n<=t.length;n++)e(n===0?void 0:t[n-1],n===t.length?void 0:t[n])}function Eu(t,e){for(let n=0;n<t.length;n++)e(n===0?void 0:t[n-1],t[n],n+1===t.length?void 0:t[n+1])}function Fu(t,e){for(const n of e)t.push(n)}var Ii;(function(t){function e(s){return s<0}t.isLessThan=e;function n(s){return s<=0}t.isLessThanOrEqual=n;function r(s){return s>0}t.isGreaterThan=r;function i(s){return s===0}t.isNeitherLessOrGreaterThan=i,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(Ii||(Ii={}));function Ht(t,e){return(n,r)=>e(t(n),t(r))}const _n=(t,e)=>t-e;function Ru(t){return(e,n)=>-t(e,n)}const fn=class fn{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(n=>(e.push(n),!0)),e}filter(e){return new fn(n=>this.iterate(r=>e(r)?n(r):!0))}map(e){return new fn(n=>this.iterate(r=>n(e(r))))}findLast(e){let n;return this.iterate(r=>(e(r)&&(n=r),!0)),n}findLastMaxBy(e){let n,r=!0;return this.iterate(i=>((r||Ii.isGreaterThan(e(i,n)))&&(r=!1,n=i),!0)),n}};fn.empty=new fn(e=>{});let Jo=fn;class j{static fromTo(e,n){return new j(e,n)}static addRange(e,n){let r=0;for(;r<n.length&&n[r].endExclusive<e.start;)r++;let i=r;for(;i<n.length&&n[i].start<=e.endExclusive;)i++;if(r===i)n.splice(r,0,e);else{const s=Math.min(e.start,n[r].start),a=Math.max(e.endExclusive,n[i-1].endExclusive);n.splice(r,i-r,new j(s,a))}}static tryCreate(e,n){if(!(e>n))return new j(e,n)}static ofLength(e){return new j(0,e)}static ofStartAndLength(e,n){return new j(e,e+n)}static emptyAt(e){return new j(e,e)}constructor(e,n){if(this.start=e,this.endExclusive=n,e>n)throw new ue(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new j(this.start+e,this.endExclusive+e)}deltaStart(e){return new j(this.start+e,this.endExclusive)}deltaEnd(e){return new j(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}containsRange(e){return this.start<=e.start&&e.endExclusive<=this.endExclusive}contains(e){return this.start<=e&&e<this.endExclusive}join(e){return new j(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);if(n<=r)return new j(n,r)}intersectionLength(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return Math.max(0,r-n)}intersects(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return n<r}intersectsOrTouches(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return n<=r}isBefore(e){return this.endExclusive<=e.start}isAfter(e){return this.start>=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new ue(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new ue(`Invalid clipping range: ${this.toString()}`);return e<this.start?this.endExclusive-(this.start-e)%this.length:e>=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let n=this.start;n<this.endExclusive;n++)e(n)}joinRightTouching(e){if(this.endExclusive!==e.start)throw new ue(`Invalid join: ${this.toString()} and ${e.toString()}`);return new j(this.start,e.endExclusive)}withMargin(e,n){return n===void 0&&(n=e),new j(this.start-e,this.endExclusive+n)}}function Gt(t,e){const n=Jt(t,e);return n===-1?void 0:t[n]}function Jt(t,e,n=0,r=t.length){let i=n,s=r;for(;i<s;){const a=Math.floor((i+s)/2);e(t[a])?i=a+1:s=a}return i-1}function Nu(t,e){const n=Di(t,e);return n===t.length?void 0:t[n]}function Di(t,e,n=0,r=t.length){let i=n,s=r;for(;i<s;){const a=Math.floor((i+s)/2);e(t[a])?s=a:i=a+1}return i}const Gr=class Gr{constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(Gr.assertInvariants){if(this._prevFindLastPredicate){for(const r of this._array)if(this._prevFindLastPredicate(r)&&!e(r))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=e}const n=Jt(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=n+1,n===-1?void 0:this._array[n]}};Gr.assertInvariants=!1;let hr=Gr;const Pe=class Pe{static ofLength(e,n){return new Pe(e,e+n)}static fromRange(e){return new Pe(e Line truncated
`?(n++,r=0):r++;return new He(n,r)}constructor(e,n){this.lineCount=e,this.columnCount=n}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}add(e){return e.lineCount===0?new He(this.lineCount,this.columnCount+e.columnCount):new He(this.lineCount+e.lineCount,e.columnCount)}createRange(e){return this.lineCount===0?new J(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new J(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}toRange(){return new J(1,1,this.lineCount+1,this.columnCount+1)}toLineRange(){return K.ofLength(1,this.lineCount+1)}addToPosition(e){return this.lineCount===0?new te(e.lineNumber,e.column+this.columnCount):new te(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}};He.zero=new He(0,0);let vt=He;class Iu{getOffsetRange(e){return new j(this.getOffset(e.getStartPosition()),this.getOffset(e.getEndPosition()))}getRange(e){return J.fromPositions(this.getPosition(e.start),this.getPosition(e.endExclusive))}getStringReplacement(e){return new Nt.deps.StringReplacement(this.getOffsetRange(e.range),e.text)}getTextReplacement(e){return new Nt.deps.TextReplacement(this.getRange(e.replaceRange),e.newText)}getTextEdit(e){const n=e.replacements.map(r=>this.getTextReplacement(r));return new Nt.deps.TextEdit(n)}}const Zs=class Zs{static get deps(){if(!this._deps)throw new Error("Dependencies not set. Call _setDependencies first.");return this._deps}};Zs._deps=void 0;let Nt=Zs;function Du(t){Nt._deps=t}class Xo extends Iu{constructor(e){super(),this.text=e}get lineStartOffsetByLineIdx(){return this._lineStartOffsetByLineIdx||this._computeLineOffsets(),this._lineStartOffsetByLineIdx}get lineEndOffsetByLineIdx(){return this._lineEndOffsetByLineIdx||this._computeLineOffsets(),this._lineEndOffsetByLineIdx}_computeLineOffsets(){this._lineStartOffsetByLineIdx=[],this._lineEndOffsetByLineIdx=[],this._lineStartOffsetByLineIdx.push(0);for(let e=0;e<this.text.length;e++)this.text.charAt(e)===`
`&&(this._lineStartOffsetByLineIdx.push(e+1),e>0&&this.text.charAt(e-1)==="\r"?this._lineEndOffsetByLineIdx.push(e-1):this._lineEndOffsetByLineIdx.push(e));this._lineEndOffsetByLineIdx.push(this.text.length)}getOffset(e){const n=this._validatePosition(e);return this.lineStartOffsetByLineIdx[n.lineNumber-1]+n.column-1}_validatePosition(e){if(e.lineNumber<1)return new te(1,1);const n=this.textLength.lineCount+1;if(e.lineNumber>n){const i=this.getLineLength(n);return new te(n,i+1)}if(e.column<1)return new te(e.lineNumber,1);const r=this.getLineLength(e.lineNumber);return e.column-1>r?new te(e.lineNumber,r+1):e}getPosition(e){const n=Jt(this.lineStartOffsetByLineIdx,s=>s<=e),r=n+1,i=e-this.lineStartOffsetByLineIdx[n]+1;return new te(r,i)}get textLength(){const e=this.lineStartOffsetByLineIdx.length-1;return new Nt.deps.TextLength(e,this.text.length-this.lineStartOffsetByLineIdx[e])}getLineLength(e){return this.lineEndOffsetByLineIdx[e-1]-this.lineStartOffsetByLineIdx[e-1]}}class Yo{constructor(){this._transformer=void 0}get endPositionExclusive(){return this.length.addToPosition(new te(1,1))}get lineRange(){return this.length.toLineRange()}getValue(){return this.getValueOfRange(this.length.toRange())}getValueOfOffsetRange(e){return this.getValueOfRange(this.getTransformer().getRange(e))}getLineLength(e){return this.getValueOfRange(new J(e,1,e,Number.MAX_SAFE_INTEGER)).length}getTransformer(){return this._transformer||(this._transformer=new Xo(this.getValue())),this._transformer}getLineAt(e){return this.getValueOfRange(new J(e,1,e,Number.MAX_SAFE_INTEGER))}}class Lu extends Yo{constructor(e,n){Oh(n>=1),super(),this._getLineContent=e,this._lineCount=n}getValueOfRange(e){if(e.startLineNumber===e.endLineNumber)return this._getLineContent(e.startLineNumber).substring(e.startColumn-1,e.endColumn-1);let n=this._getLineContent(e.startLineNumber).substring(e.startColumn-1);for(let r=e.startLineNumber+1;r<e.endLineNumber;r++)n+=`
`+this._getLineContent(r);return n+=`
`+this._getLineContent(e.endLineNumber).substring(0,e.endColumn-1),n}getLineLength(e){return this._getLineContent(e).length}get length(){const e=this._getLineContent(this._lineCount);return new vt(this._lineCount-1,e.length)}}class dr extends Lu{constructor(e){super(n=>e[n-1],e.length)}}class ur extends Yo{constructor(e){super(),this.value=e,this._t=new Xo(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}getTransformer(){return this._t}}let Au=class ea{static fromStringEdit(e,n){const r=e.replacements.map(i=>qe.fromStringReplacement(i,n));return new ea(r)}static fromParallelReplacementsUnsorted(e){const n=e.slice().sort(Ht(r=>r.range,J.compareRangesUsingStarts));return new ea(n)}constructor(e){this.replacements=e,bn(()=>Kr(e,(n,r)=>n.range.getEndPosition().isBeforeOrEqual(r.range.getStartPosition())))}mapPosition(e){let n=0,r=0,i=0;for(const s of this.replacements){const a=s.range.getStartPosition();if(e.isBeforeOrEqual(a))break;const o=s.range.getEndPosition(),l=vt.ofText(s.text);if(e.isBefore(o)){const c=new te(a.lineNumber+n,a.column+(a.lineNumber+n===r?i:0)),d=l.addToPosition(c);return pr(c,d)}a.lineNumber+n!==r&&(i=0),n+=l.lineCount-(s.range.endLineNumber-s.range.startLineNumber),l.lineCount===0?o.lineNumber!==a.lineNumber?i+=l.columnCount-(o.column-1):i+=l.columnCount-(o.column-a.column):i=l.columnCount,r=o.lineNumber+n}return new te(e.lineNumber+n,e.column+(e.lineNumber+n===r?i:0))}mapRange(e){function n(a){return a instanceof te?a:a.getStartPosition()}function r(a){return a instanceof te?a:a.getEndPosition()}const i=n(this.mapPosition(e.getStartPosition())),s=r(this.mapPosition(e.getEndPosition()));return pr(i,s)}apply(e){let n="",r=new te(1,1);for(const s of this.replacements){const a=s.range,o=a.getStartPosition(),l=a.getEndPosition(),c=pr(r,o);c.isEmpty()||(n+=e.getValueOfRange(c)),n+=s.text,r=l}const i=pr(r,e.endPositionExclusive);return i.isEmpty()||(n+=e.getValueOfRange(i)),n}applyToString(e){const n=new ur(e);return this.apply(n)}getNewRanges(){const e=[];let n=0,r=0,i=0;for(const s of this.replacements){const a=vt.ofText(s.text),o=te.lift({lineNumber:s.range.startLineNumber+r,column:s.range.startColumn+(s.range.startLineNumber===n?i:0)}),l=a.createRange(o);e.push(l),r=l.endLineNumber-s.range.endLineNumber,i=l.endColumn-s.range.endColumn,n=s.range.endLineNumber}return e}toReplacement(e){if(this.replacements.length===0)throw new ue;if(this.replacements.length===1)return this.replacements[0];const n=this.replacements[0].range.getStartPosition(),r=this.replacements[this.replacements.length-1].range.getEndPosition();let i="";for(let s=0;s<this.replacements.length;s++){const a=this.replacements[s];if(i+=a.text,s<this.replacements.length-1){const o=this.replacements[s+1],l=J.fromPositions(a.range.getEndPosition(),o.range.getStartPosition()),c=e.getValueOfRange(l);i+=c}}return new qe(J.fromPositions(n,r),i)}toString(e){return e===void 0?this.replacements.map(n=>n.toString()).join(`
`):typeof e=="string"?this.toString(new ur(e)):this.replacements.length===0?"":this.replacements.map(n=>{const i=e.getValueOfRange(n.range),s=J.fromPositions(new te(Math.max(1,n.range.startLineNumber-1),1),n.range.getStartPosition());let a=e.getValueOfRange(s);a.length>10&&(a="..."+a.substring(a.length-10));const o=J.fromPositions(n.range.getEndPosition(),new te(n.range.endLineNumber+1,1));let l=e.getValueOfRange(o);l.length>10&&(l=l.substring(0,10)+"...");let c=i;if(c.length>10){const u=Math.floor(5);c=c.substring(0,u)+"..."+c.substring(c.length-u)}let d=n.text;if(d.length>10){const u=Math.floor(5);d=d.substring(0,u)+"..."+d.substring(d.length-u)}return c.length===0?`${a}❰${d}❱${l}`:`${a}❰${c}↦${d}❱${l}`}).join(`
`)}};class qe{static joinReplacements(e,n){if(e.length===0)throw new ue;if(e.length===1)return e[0];const r=e[0].range.getStartPosition(),i=e[e.length-1].range.getEndPosition();let s="";for(let a=0;a<e.length;a++){const o=e[a];if(s+=o.text,a<e.length-1){const l=e[a+1],c=J.fromPositions(o.range.getEndPosition(),l.range.getStartPosition()),d=n.getValueOfRange(c);s+=d}}return new qe(J.fromPositions(r,i),s)}static fromStringReplacement(e,n){return new qe(n.getTransformer().getRange(e.replaceRange),e.newText)}static delete(e){return new qe(e,"")}constructor(e,n){this.range=e,this.text=n}get isEmpty(){return this.range.isEmpty()&&this.text.length===0}static equals(e,n){return e.range.equalsRange(n.range)&&e.text===n.text}equals(e){return qe.equals(this,e)}removeCommonPrefixAndSuffix(e){return this.removeCommonPrefix(e).removeCommonSuffix(e)}removeCommonPrefix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
`,`
`),r=this.text.replaceAll(`\r
`,`
`),i=di(n,r),s=vt.ofText(n.substring(0,i)).addToPosition(this.range.getStartPosition()),a=r.substring(i),o=J.fromPositions(s,this.range.getEndPosition());return new qe(o,a)}removeCommonSuffix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
`,`
`),r=this.text.replaceAll(`\r
`,`
`),i=ui(n,r),s=vt.ofText(n.substring(0,n.length-i)).addToPosition(this.range.getStartPosition()),a=r.substring(0,r.length-i),o=J.fromPositions(this.range.getStartPosition(),s);return new qe(o,a)}toString(){const e=this.range.getStartPosition(),n=this.range.getEndPosition();return`(${e.lineNumber},${e.column} -> ${n.lineNumber},${n.column}): "${this.text}"`}}function pr(t,e){if(t.lineNumber===e.lineNumber&&t.column===Number.MAX_SAFE_INTEGER)return J.fromPositions(e,e);if(!t.isBeforeOrEqual(e))throw new ue("start must be before end");return new J(t.lineNumber,t.column,e.lineNumber,e.column)}class Le{static inverse(e,n,r){const i=[];let s=1,a=1;for(const l of e){const c=new Le(new K(s,l.original.startLineNumber),new K(a,l.modified.startLineNumber));c.modified.isEmpty||i.push(c),s=l.original.endLineNumberExclusive,a=l.modified.endLineNumberExclusive}const o=new Le(new K(s,n+1),new K(a,r+1));return o.modified.isEmpty||i.push(o),i}static clip(e,n,r){const i=[];for(const s of e){const a=s.original.intersect(n),o=s.modified.intersect(r);a&&!a.isEmpty&&o&&!o.isEmpty&&i.push(new Le(a,o))}return i}constructor(e,n){this.original=e,this.modified=n}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new Le(this.modified,this.original)}join(e){return new Le(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),n=this.modified.toInclusiveRange();if(e&&n)return new Ae(e,n);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new ue("not a valid diff");return new Ae(new J(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new J(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new Ae(new J(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new J(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,n){if(Qo(this.original.endLineNumberExclusive,e)&&Qo(this.modified.endLineNumberExclusive,n))return new Ae(new J(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new J(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new Ae(J.fromPositions(new te(this.original.startLineNumber,1),Xt(new te(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),J.fromPositions(new te(this.modified.startLineNumber,1),Xt(new te(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new Ae(J.fromPositions(Xt(new te(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),Xt(new te(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),J.fromPositions(Xt(new te(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),n),Xt(new te(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));throw new ue}}function Xt(t,e){if(t.lineNumber<1)return new te(1,1);if(t.lineNumber>e.length)return new te(e.length,e[e.length-1].length+1);const n=e[t.lineNumber-1];return t.column>n.length+1?new te(t.lineNumber,n.length+1):t}function Qo(t,e){return t>=1&&t<=e.length}class st extends Le{static fromRangeMappings(e){const n=K.join(e.map(i=>K.fromRangeInclusive(i.originalRange))),r=K.join(e.map(i=>K.fromRangeInclusive(i.modifiedRange)));return new st(n,r,e)}constructor(e,n,r){super(e,n),this.innerChanges=r}flip(){return new st(this.modified,this.original,this.innerChanges?.map(e=>e.flip()))}withInnerChangesFromLineRanges(){return new st(this.original,this.modified,[this.toRangeMapping()])}}class Ae{static fromEdit(e){const n=e.getNewRanges();return e.replacements.map((i,s)=>new Ae(i.range,n[s]))}static assertSorted(e){for(let n=1;n<e.length;n++){const r=e[n-1],i=e[n];if(!(r.originalRange.getEndPosition().isBeforeOrEqual(i.originalRange.getStartPosition())&&r.modifiedRange.getEndPosition().isBeforeOrEqual(i.modifiedRange.getStartPosition())))throw new ue("Range mappings must be sorted")}}constructor(e,n){this.originalRange=e,this.modifiedRange=n}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new Ae(this.modifiedRange,this.originalRange)}toTextEdit(e){const n=e.getValueOfRange(this.modifiedRange);return new qe(this.originalRange,n)}}function Li(t,e,n,r=!1){const i=[];for(const s of ku(t.map(a=>Mu(a,e,n)),(a,o)=>a.original.intersectsOrTouches(o.original)||a.modified.intersectsOrTouches(o.modified))){const a=s[0],o=s[s.length-1];i.push(new st(a.original.join(o.original),a.modified.join(o.modified),s.map(l=>l.innerChanges[0])))}return bn(()=>!r&&i.length>0&&(i[0].modified.startLineNumber!==i[0].original.startLineNumber||n.length.lineCount-i[i.length-1].modified.endLineNumberExclusive! Line truncated
`);this.histogram[o]=(this.histogram[o]||0)+1}this.totalCount=i}computeSimilarity(e){let n=0;const r=Math.max(this.histogram.length,e.histogram.length);for(let i=0;i<r;i++)n+=Math.abs((this.histogram[i]??0)-(e.histogram[i]??0));return 1-n/(this.totalCount+e.totalCount)}};Jn.chrKeys=new Map;let mr=Jn;class Vu{compute(e,n,r=Fn.instance,i){if(e.length===0||n.length===0)return at.trivial(e,n);const s=new zi(e.length,n.length),a=new zi(e.length,n.length),o=new zi(e.length,n.length);for(let g=0;g<e.length;g++)for(let b=0;b<n.length;b++){if(!r.isValid())return at.trivialTimedOut(e,n);const k=g===0?0:s.get(g-1,b),F=b===0?0:s.get(g,b-1);let N;e.getElement(g)===n.getElement(b)?(g===0||b===0?N=0:N=s.get(g-1,b-1),g>0&&b>0&&a.get(g-1,b-1)===3&&(N+=o.get(g-1,b-1)),N+=i?i(g,b):1):N=-1;const _=Math.max(k,F,N);if(_===N){const T=g>0&&b>0?o.get(g-1,b-1):0;o.set(g,b,T+1),a.set(g,b,3)}else _===k?(o.set(g,b,0),a.set(g,b,1)):_===F&&(o.set(g,b,0),a.set(g,b,2));s.set(g,b,_)}const l=[];let c=e.length,d=n.length;function u(g,b){(g+1!==c||b+1!==d)&&l.push(new he(new j(g+1,c),new j(b+1,d))),c=g,d=b}let m=e.length-1,f=n.length-1;for(;m>=0&&f>=0;)a.get(m,f)===3?(u(m,f),m--,f--):a.get(m,f)===1?m--:f--;return u(-1,-1),l.reverse(),new at(l,!1)}}class tl{compute(e,n,r=Fn.instance){if(e.length===0||n.length===0)return at.trivial(e,n);const i=e,s=n;function a(b,k){for(;b<i.length&&k<s.length&&i.getElement(b)===s.getElement(k);)b++,k++;return b}let o=0;const l=new Uu;l.set(0,a(0,0));const c=new Bu;c.set(0,l.get(0)===0?null:new nl(null,0,0,l.get(0)));let d=0;e:for(;;){if(o++,!r.isValid())return at.trivialTimedOut(i,s);const b=-Math.min(o,s.length+o%2),k=Math.min(o,i.length+o%2);for(d=b;d<=k;d+=2){const F=d===k?-1:l.get(d+1),N=d===b?-1:l.get(d-1)+1,_=Math.min(Math.max(F,N),i.length),T=_-d;if(_>i.length||T>s.length)continue;const O=a(_,T);l.set(d,O);const V=_===F?c.get(d+1):c.get(d-1);if(c.set(d,O!==_?new nl(V,_,T,O-_):V),l.get(d)===i.length&&l.get(d)-d===s.length)break e}}let u=c.get(d);const m=[];let f=i.length,g=s.length;for(;;){const b=u?u.x+u.length:0,k=u?u.y+u.length:0;if((b!==f||k!==g)&&m.push(new he(new j(b,f),new j(k,g))),!u)break;f=u.x,g=u.y,u=u.prev}return m.reverse(),new at(m,!1)}}class nl{constructor(e,n,r,i){this.prev=e,this.x=n,this.y=r,this.length=i}}class Uu{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const r=this.negativeArr;this.negativeArr=new Int32Array(r.length*2),this.negativeArr.set(r)}this.negativeArr[e]=n}else{if(e>=this.positiveArr.length){const r=this.positiveArr;this.positiveArr=new Int32Array(r.length*2),this.positiveArr.set(r)}this.positiveArr[e]=n}}}class Bu{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){e<0?(e=-e-1,this.negativeArr[e]=n):this.positiveArr[e]=n}}class fr{constructor(e,n,r){this.lines=e,this.range=n,this.considerWhitespaceChanges=r,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let i=this.range.startLineNumber;i<=this.range.endLineNumber;i++){let s=e[i-1],a=0;i===this.range.startLineNumber&&this.range.startColumn>1&&(a=this.range.startColumn-1,s=s.substring(a)),this.lineStartOffsets.push(a);let o=0;if(!r){const c=s.trimStart();o=s.length-c.length,s=c.trimEnd()}this.trimmedWsLengthsByLineIdx.push(o);const l=i===this.range.endLineNumber?Math.min(this.range.endColumn-1-a-o,s.length):s.length;for(let c=0;c<l;c++)this.elements.push(s.charCodeAt(c));i<this.range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new j(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map(n=>String.fromCharCode(n)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const n=sl(e>0?this.elements[e-1]:-1),r=sl(e<this.elements.length?this.elements[e]:-1);if(n===7&&r===8)return 0;if(n===8)return 150;let i=0;return n!==r&&(i+=10,n===0&&r===1&&(i+=1)),i+=il(n),i+=il(r),i}translateOffset(e,n="right"){const r=Jt(this.firstElementOffsetByLineIdx,s=>s<=e),i=e-this.firstElementOffsetByLineIdx[r];return new te(this.range.startLineNumber+r,1+this.lineStartOffsets[r]+i+(i===0&&n==="left"?0:this.trimmedWsLengthsByLineIdx[r]))}translateRange(e){const n=this.translateOffset(e.start,"right"),r=this.translateOffset(e.endExclusive,"left");return r.isBefore(n)?J.fromPositions(r,r):J.fromPositions(n,r)}findWordContaining(e){if(e<0||e>=this.elements.length||!Qt(this.elements[e]))return;let n=e;for(;n>0&&Qt(this.elements[n-1]);)n--;let r=e;for(;r<this.elements.length&&Qt(this.elements[r]);)r++;return new j(n,r)}findSubWordContaining(e){if(e<0||e>=this.elements.length||!Qt(this.elements[e]))retur Line truncated
`).length>=15&&Hu(u,f=>f.length>=2)>=2}),a=Yu(t,a),a}function Hu(t,e){let n=0;for(const r of t)e(r)&&n++;return n}function Gu(t,e,n,r){const i=[],s=t.filter(l=>l.modified.isEmpty&&l.original.length>=3).map(l=>new mr(l.original,e,l)),a=new Set(t.filter(l=>l.original.isEmpty&&l.modified.length>=3).map(l=>new mr(l.modified,n,l))),o=new Set;for(const l of s){let c=-1,d;for(const u of a){const m=l.computeSimilarity(u);m>c&&(c=m,d=u)}if(c>.9&&d&&(a.delete(d),i.push(new Le(l.range,d.range)),o.add(l.source),o.add(d.source)),!r.isValid())return{moves:i,excludedChanges:o}}return{moves:i,excludedChanges:o}}function Ju(t,e,n,r,i,s){const a=[],o=new uu;for(const m of t)for(let f=m.original.startLineNumber;f<m.original.endLineNumberExclusive-2;f++){const g=`${e[f-1]}:${e[f+1-1]}:${e[f+2-1]}`;o.add(g,{range:new K(f,f+3)})}const l=[];t.sort(Ht(m=>m.modified.startLineNumber,_n));for(const m of t){let f=[];for(let g=m.modified.startLineNumber;g<m.modified.endLineNumberExclusive-2;g++){const b=`${n[g-1]}:${n[g+1-1]}:${n[g+2-1]}`,k=new K(g,g+3),F=[];o.forEach(b,({range:N})=>{for(const T of f)if(T.originalLineRange.endLineNumberExclusive+1===N.endLineNumberExclusive&&T.modifiedLineRange.endLineNumberExclusive+1===k.endLineNumberExclusive){T.originalLineRange=new K(T.originalLineRange.startLineNumber,N.endLineNumberExclusive),T.modifiedLineRange=new K(T.modifiedLineRange.startLineNumber,k.endLineNumberExclusive),F.push(T);return}const _={modifiedLineRange:k,originalLineRange:N};l.push(_),F.push(_)}),f=F}if(!s.isValid())return[]}l.sort(Ru(Ht(m=>m.modifiedLineRange.length,_n)));const c=new Je,d=new Je;for(const m of l){const f=m.modifiedLineRange.startLineNumber-m.originalLineRange.startLineNumber,g=c.subtractFrom(m.modifiedLineRange),b=d.subtractFrom(m.originalLineRange).getWithDelta(f),k=g.getIntersection(b);for(const F of k.ranges){if(F.length<3)continue;const N=F,_=F.delta(-f);a.push(new Le(_,N)),c.addRange(N),d.addRange(_)}}a.sort(Ht(m=>m.original.startLineNumber,_n));const u=new hr(t);for(let m=0;m<a.length;m++){const f=a[m],g=u.findLastMonotonous(V=>V.original.startLineNumber<=f.original.startLineNumber),b=Gt(t,V=>V.modified.startLineNumber<=f.modified.startLineNumber),k=Math.max(f.original.startLineNumber-g.original.startLineNumber,f.modified.startLineNumber-b.modified.startLineNumber),F=u.findLastMonotonous(V=>V.original.startLineNumber<f.original.endLineNumberExclusive),N=Gt(t,V=>V.modified.startLineNumber<f.modified.endLineNumberExclusive),_=Math.max(F.original.endLineNumberExclusive-f.original.endLineNumberExclusive,N.modified.endLineNumberExclusive-f.modified.endLineNumberExclusive);let T;for(T=0;T<k;T++){const V=f.original.startLineNumber-T-1,D=f.modified.startLineNumber-T-1;if(V>r.length||D>i.length||c.contains(D)||d.contains(V)||!al(r[V-1],i[D-1],s))break}T>0&&(d.addRange(new K(f.original.startLineNumber-T,f.original.startLineNumber)),c.addRange(new K(f.modified.startLineNumber-T,f.modified.startLineNumber)));let O;for(O=0;O<_;O++){const V=f.original.endLineNumberExclusive+O,D=f.modified.endLineNumberExclusive+O;if(V>r.length||D>i.length||c.contains(D)||d.contains(V)||!al(r[V-1],i[D-1],s))break}O>0&&(d.addRange(new K(f.original.endLineNumberExclusive,f.original.endLineNumberExclusive+O)),c.addRange(new K(f.modified.endLineNumberExclusive,f.modified.endLineNumberExclusive+O))),(T>0||O>0)&&(a[m]=new Le(new K(f.original.startLineNumber-T,f.original.endLineNumberExclusive+O),new K(f.modified.startLineNumber-T,f.modified.endLineNumberExclusive+O)))}return a}function al(t,e,n){if(t.trim()===e.trim())return!0;if(t.length>300&&e.length>300)return!1;const i=new tl().compute(new fr([t],new J(1,1,1,t.length),!1),new fr([e],new J(1,1,1,e.length),!1),n);let s=0;const a=he.invert(i.diffs,t.length);for(const d of a)d.seq1Range.forEach(u=>{Pi(t.charCodeAt(u))||s++});function o(d){let u=0;for(let m=0;m<t.length;m++)Pi(d.charCodeAt(m))||u++;return u}const l=o(t.length>e.length?t:e);return s/l>.6&&l>10}function Xu(t){if(t.length===0)return t;t.sort(Ht(n=>n.original.startLineNumber,_n));const e=[t[0]];for(let n=1;n<t.length;n++){const r=e[e.length-1],i=t[n],s=i.original.startLineNumber-r.original.endLineNumberExclusive,a=i.modified.startLineNumber-r.modified.endLineNumberExclusive;if(s>=0&&a>=0&&s+a<=2){e[e.length-1]=r.join(i);continue}e.push(i)}return e}function Yu(t,e){const n=new hr(t);return e=e.filter(r=>{const i=n.findLastMonotonous(o=>o.original.startLineNumber<r.original.endLineNumberExclusive)||new Le(new K(1,1),new K(1,1)),s=Gt(t,o=>o.modified.startLineNumber<r.modified.endLineNumberExclusive);return i!==s}),e}function ol(t,e,n){let r=n;return r=ll(t,e,r),r=ll(t,e,r),r=Qu(t,e,r),r}function ll(t,e,n){if(n.length===0)return n;const r=[];r.push(n[0]);for(let s=1;s<n.length;s++){const a=r[r.length-1];let o=n[s];if(o.seq1Range.isEmpty||o.seq2Range.isEmpty){const l=o.seq1Range.start-a.seq1Range.endExclusive;let c;for(c=1;c<=l&&!(t.getElement(o.seq1Range.start-c)!==t.getElement(o.seq1Range.endExclusive-c)||e.getElement(o.seq2Range Line truncated
`)}isStronglyEqual(e,n){return this.lines[e]===this.lines[n]}}function ul(t){let e=0;for(;e<t.length&&(t.charCodeAt(e)===32||t.charCodeAt(e)===9);)e++;return e}class np{constructor(){this.dynamicProgrammingDiffing=new Vu,this.myersDiffingAlgorithm=new tl}computeDiff(e,n,r){if(e.length<=1&&Cu(e,n,(D,R)=>D===R))return new kn([],[],!1);if(e.length===1&&e[0].length===0||n.length===1&&n[0].length===0)return new kn([new st(new K(1,e.length+1),new K(1,n.length+1),[new Ae(new J(1,1,e.length,e[e.length-1].length+1),new J(1,1,n.length,n[n.length-1].length+1))])],[],!1);const i=r.maxComputationTimeMs===0?Fn.instance:new $u(r.maxComputationTimeMs),s=!r.ignoreTrimWhitespace,a=new Map;function o(D){let R=a.get(D);return R===void 0&&(R=a.size,a.set(D,R)),R}const l=e.map(D=>o(D.trim())),c=n.map(D=>o(D.trim())),d=new dl(l,e),u=new dl(c,n),m=d.length+u.length<1700?this.dynamicProgrammingDiffing.compute(d,u,i,(D,R)=>e[D]===n[R]?n[R].length===0?.1:1+Math.log(1+n[R].length):.99):this.myersDiffingAlgorithm.compute(d,u,i);let f=m.diffs,g=m.hitTimeout;f=ol(d,u,f),f=ep(d,u,f);const b=[],k=D=>{if(s)for(let R=0;R<D;R++){const P=F+R,U=N+R;if(e[P]!==n[U]){const L=this.refineDiff(e,n,new he(new j(P,P+1),new j(U,U+1)),i,s,r);for(const C of L.mappings)b.push(C);L.hitTimeout&&(g=!0)}}};let F=0,N=0;for(const D of f){bn(()=>D.seq1Range.start-F===D.seq2Range.start-N);const R=D.seq1Range.start-F;k(R),F=D.seq1Range.endExclusive,N=D.seq2Range.endExclusive;const P=this.refineDiff(e,n,D,i,s,r);P.hitTimeout&&(g=!0);for(const U of P.mappings)b.push(U)}k(e.length-F);const _=new dr(e),T=new dr(n),O=Li(b,_,T);let V=[];return r.computeMoves&&(V=this.computeMoves(O,e,n,l,c,i,s,r)),bn(()=>{function D(P,U){if(P.lineNumber<1||P.lineNumber>U.length)return!1;const L=U[P.lineNumber-1];return!(P.column<1||P.column>L.length+1)}function R(P,U){return!(P.startLineNumber<1||P.startLineNumber>U.length+1||P.endLineNumberExclusive<1||P.endLineNumberExclusive>U.length+1)}for(const P of O){if(!P.innerChanges)return!1;for(const U of P.innerChanges)if(!(D(U.modifiedRange.getStartPosition(),n)&&D(U.modifiedRange.getEndPosition(),n)&&D(U.originalRange.getStartPosition(),e)&&D(U.originalRange.getEndPosition(),e)))return!1;if(!R(P.modified,n)||!R(P.original,e))return!1}return!0}),new kn(O,V,g)}computeMoves(e,n,r,i,s,a,o,l){return ju(e,n,r,i,s,a).map(u=>{const m=this.refineDiff(n,r,new he(u.original.toOffsetRange(),u.modified.toOffsetRange()),a,o,l),f=Li(m.mappings,new dr(n),new dr(r),!0);return new Go(u,f)})}refineDiff(e,n,r,i,s,a){const l=rp(r).toRangeMapping2(e,n),c=new fr(e,l.originalRange,s),d=new fr(n,l.modifiedRange,s),u=c.length+d.length<500?this.dynamicProgrammingDiffing.compute(c,d,i):this.myersDiffingAlgorithm.compute(c,d,i);let m=u.diffs;return m=ol(c,d,m),m=hl(c,d,m,(g,b)=>g.findWordContaining(b)),a.extendToSubwords&&(m=hl(c,d,m,(g,b)=>g.findSubWordContaining(b),!0)),m=Ku(c,d,m),m=tp(c,d,m),{mappings:m.map(g=>new Ae(c.translateRange(g.seq1Range),d.translateRange(g.seq2Range))),hitTimeout:u.hitTimeout}}}function rp(t){return new Le(new K(t.seq1Range.start+1,t.seq1Range.endExclusive+1),new K(t.seq2Range.start+1,t.seq2Range.endExclusive+1))}var yt;(function(t){t.inMemory="inmemory",t.vscode="vscode",t.internal="private",t.walkThrough="walkThrough",t.walkThroughSnippet="walkThroughSnippet",t.http="http",t.https="https",t.file="file",t.mailto="mailto",t.untitled="untitled",t.data="data",t.command="command",t.vscodeRemote="vscode-remote",t.vscodeRemoteResource="vscode-remote-resource",t.vscodeManagedRemoteResource="vscode-managed-remote-resource",t.vscodeUserData="vscode-userdata",t.vscodeCustomEditor="vscode-custom-editor",t.vscodeNotebookCell="vscode-notebook-cell",t.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",t.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",t.vscodeNotebookCellOutput="vscode-notebook-cell-output",t.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",t.vscodeNotebookMetadata="vscode-notebook-metadata",t.vscodeInteractiveInput="vscode-interactive-input",t.vscodeSettings="vscode-settings",t.vscodeWorkspaceTrust="vscode-workspace-trust",t.vscodeTerminal="vscode-terminal",t.vscodeImageCarousel="vscode-image-carousel",t.vscodeChatCodeBlock="vscode-chat-code-block",t.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",t.vscodeChatEditor="vscode-chat-editor",t.vscodeChatInput="chatSessionInput",t.vscodeLocalChatSession="vscode-chat-session",t.webviewPanel="webview-panel",t.vscodeWebview="vscode-webview",t.vscodeBrowser="vscode-browser",t.extension="extension",t.vscodeFileResource="vscode-file",t.tmp="tmp",t.vsls="vsls",t.vscodeSourceControl="vscode-scm",t.commentsInput="comment",t.codeSetting="code-setting",t.outputChannel="output",t.accessibleView="accessible-view",t.chatEditingSnapshotScheme="chat-editing-snapshot-text-model",t.chatEditingModel="chat-editing-text-model",t.copilotPr="copilot-pr"})(yt||(yt={}));const ip="tkn";class sp{constructor(){this._hosts=Object.create(null),this._ports=Object.cre Line truncated
`)),s=new ur(n.join(`
`)),a=this._computer.computeDiff(i.value,s.value,{ignoreTrimWhitespace:!0,computeMoves:r.computeMoves,extendToSubwords:r.extendToSubwords}),o=i.getTransformer(),l=s.getTransformer(),c=[];let d=0;for(const f of a.edits.replacements){const g=f.range.start+d,b=g+f.newText.length,k=o.getRange(new j(f.range.start,f.range.endExclusive)),F=l.getRange(new j(g,b));c.push(new Ae(k,F)),d+=f.newText.length-(f.range.endExclusive-f.range.start)}const u=Li(c,i,s),m=[];if(r.computeMoves)for(const f of a.moves){const g=o.getPosition(f.range.original.start),b=o.getPosition(f.range.original.endExclusive),k=l.getPosition(f.range.modified.start),F=l.getPosition(f.range.modified.endExclusive),N=new K(g.lineNumber,b.lineNumber),_=new K(k.lineNumber,F.lineNumber);m.push(new Go(new Le(N,_),[]))}return new kn(u,m,a.hitTimeout)}}const br={getLegacy:()=>new Pu,getDefault:()=>new np,getAdvancedExternal:()=>fl(!1),getAdvancedWasm:()=>fl(!0)};function St(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}class y{constructor(e,n,r,i=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,n))|0,this.b=Math.min(255,Math.max(0,r))|0,this.a=St(Math.max(Math.min(1,i),0),3)}static equals(e,n){return e.r===n.r&&e.g===n.g&&e.b===n.b&&e.a===n.a}}class Te{constructor(e,n,r,i){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=St(Math.max(Math.min(1,n),0),3),this.l=St(Math.max(Math.min(1,r),0),3),this.a=St(Math.max(Math.min(1,i),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.l===n.l&&e.a===n.a}static fromRGBA(e){const n=e.r/255,r=e.g/255,i=e.b/255,s=e.a,a=Math.max(n,r,i),o=Math.min(n,r,i);let l=0,c=0;const d=(o+a)/2,u=a-o;if(u>0){switch(c=Math.min(d<=.5?u/(2*d):u/(2-2*d),1),a){case n:l=(r-i)/u+(r<i?6:0);break;case r:l=(i-n)/u+2;break;case i:l=(n-r)/u+4;break}l*=60,l=Math.round(l)}return new Te(l,c,d,s)}static _hue2rgb(e,n,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(n-e)*6*r:r<1/2?n:r<2/3?e+(n-e)*(2/3-r)*6:e}static toRGBA(e){const n=e.h/360,{s:r,l:i,a:s}=e;let a,o,l;if(r===0)a=o=l=i;else{const c=i<.5?i*(1+r):i+r-i*r,d=2*i-c;a=Te._hue2rgb(d,c,n+1/3),o=Te._hue2rgb(d,c,n),l=Te._hue2rgb(d,c,n-1/3)}return new y(Math.round(a*255),Math.round(o*255),Math.round(l*255),s)}}class Kt{constructor(e,n,r,i){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=St(Math.max(Math.min(1,n),0),3),this.v=St(Math.max(Math.min(1,r),0),3),this.a=St(Math.max(Math.min(1,i),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.v===n.v&&e.a===n.a}static fromRGBA(e){const n=e.r/255,r=e.g/255,i=e.b/255,s=Math.max(n,r,i),a=Math.min(n,r,i),o=s-a,l=s===0?0:o/s;let c;return o===0?c=0:s===n?c=((r-i)/o%6+6)%6:s===r?c=(i-n)/o+2:c=(n-r)/o+4,new Kt(Math.round(c*60),l,s,e.a)}static toRGBA(e){const{h:n,s:r,v:i,a:s}=e,a=i*r,o=a*(1-Math.abs(n/60%2-1)),l=i-a;let[c,d,u]=[0,0,0];return n<60?(c=a,d=o):n<120?(c=o,d=a):n<180?(d=a,u=o):n<240?(d=o,u=a):n<300?(c=o,u=a):n<=360&&(c=a,u=o),c=Math.round((c+l)*255),d=Math.round((d+l)*255),u=Math.round((u+l)*255),new y(c,d,u,s)}}let wr=(ie=class{static fromHex(e){return ie.Format.CSS.parseHex(e)||ie.red}static equals(e,n){return!e&&!n?!0:!e||!n?!1:e.equals(n)}get hsla(){return this._hsla?this._hsla:Te.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:Kt.fromRGBA(this.rgba)}constructor(e){if(e)if(e instanceof y)this.rgba=e;else if(e instanceof Te)this._hsla=e,this.rgba=Te.toRGBA(e);else if(e instanceof Kt)this._hsva=e,this.rgba=Kt.toRGBA(e);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(e){return!!e&&y.equals(this.rgba,e.rgba)&&Te.equals(this.hsla,e.hsla)&&Kt.equals(this.hsva,e.hsva)}getRelativeLuminance(){const e=ie._relativeLuminanceForComponent(this.rgba.r),n=ie._relativeLuminanceForComponent(this.rgba.g),r=ie._relativeLuminanceForComponent(this.rgba.b),i=.2126*e+.7152*n+.0722*r;return St(i,4)}static _relativeLuminanceForComponent(e){const n=e/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){const n=this.getRelativeLuminance(),r=e.getRelativeLuminance();return n>r}isDarkerThan(e){const n=this.getRelativeLuminance(),r=e.getRelativeLuminance();return n<r}lighten(e){return new ie(new Te(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*e,this.hsla.a))}darken(e){return new ie(new Te(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*e,this.hsla.a))}transparent(e){const{r:n,g:r,b:i,a:s}=this.rgba;return new ie(new y(n,r,i,s*e))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new ie(new y(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}mix(e,n=.5){const r=Math.min(Math.max(n,0),1),i=this.rgba,s=e.rgba,a=i.r+(s.r-i.r)*r,o=i.g+(s.g-i.g)*r,l=i.b+(s.b-i.b)*r,c=i.a+(s.a-i.a)*r;return new ie(new y(a,o,l,c))}makeOpaque(e){if(this.isOpaque()||e.rgba.a!==1)return this;const{r:n,g:r,b:i,a:s}=this.rgba;return new ie(new y(e.rgba.r-s*(e.rgba.r-n),e.rgba.g-s*(e.rgba.g-r),e.rgba. Line truncated
`);s.lastIndex=0;let d;for(;(d=s.exec(c))!==null;){const u=c.substring(0,d.index),m=(u.match(/\n/g)||[]).length,f=a+m,g=d[0].split(`
`),b=g.length,k=f+b-1,F=u.lastIndexOf(`
`)+1,N=d.index-F+1,_=g[g.length-1],T=b===1?N+d[0].length:_.length+1,O={startLineNumber:f,startColumn:N,endLineNumber:k,endColumn:T},V=(d.groups??{}).label??"",D=((d.groups??{}).separator??"")!=="",R={range:O,text:V,hasSeparatorLine:D,shouldBeInComments:!0};(R.text||R.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<R.range.startLineNumber)&&n.push(R),s.lastIndex=d.index+d[0].length}}return n}function _p(t){t=t.trim();const e=t.startsWith("-");return t=t.replace(yp,""),{text:t,hasSeparatorLine:e}}class yl{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,n)=>{this.completeCallback=e,this.errorCallback=n})}complete(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.completeCallback(e),this.outcome={outcome:0,value:e},n()})}error(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.errorCallback(e),this.outcome={outcome:1,value:e},n()})}cancel(){return this.error(new ia)}}var xl;(function(t){async function e(r){let i;const s=await Promise.all(r.map(a=>a.then(o=>o,o=>{i||(i=o)})));if(typeof i<"u")throw i;return s}t.settled=e;function n(r){return new Promise(async(i,s)=>{try{await r(i,s)}catch(a){s(a)}})}t.withAsyncBody=n})(xl||(xl={}));class Ep{constructor(){this._unsatisfiedConsumers=[],this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(e){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){const n=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(n,e)}else this._unconsumedValues.push(e)}produceFinal(e){this._ensureNoFinalValue(),this._finalValue=e;for(const n of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(n,e);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new ue("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(e,n){n.ok?e.complete(n.value):e.error(n.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){const e=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return e.ok?Promise.resolve(e.value):Promise.reject(e.error)}else{const e=new yl;return this._unsatisfiedConsumers.push(e),e.p}}}const Ee=class Ee{constructor(e,n){this._onReturn=n,this._producerConsumer=new Ep,this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async r=>(this._finishError(r),{done:!0,value:void 0})},queueMicrotask(async()=>{const r=e({emitOne:i=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:i}}),emitMany:i=>{for(const s of i)this._producerConsumer.produce({ok:!0,value:{done:!1,value:s}})},reject:i=>this._finishError(i)});if(!this._producerConsumer.hasFinalValue)try{await r,this._finishOk()}catch(i){this._finishError(i)}})}static fromArray(e){return new Ee(n=>{n.emitMany(e)})}static fromPromise(e){return new Ee(async n=>{n.emitMany(await e)})}static fromPromisesResolveOrder(e){return new Ee(async n=>{await Promise.all(e.map(async r=>n.emitOne(await r)))})}static merge(e){return new Ee(async n=>{await Promise.all(e.map(async r=>{for await(const i of r)n.emitOne(i)}))})}static map(e,n){return new Ee(async r=>{for await(const i of e)r.emitOne(n(i))})}static tee(e){let n,r;const i=new yl,s=async()=>{if(!(!n||!r))try{for await(const l of e)n.emitOne(l),r.emitOne(l)}catch(l){n.reject(l),r.reject(l)}finally{i.complete()}},a=new Ee(async l=>(n=l,s(),i.p)),o=new Ee(async l=>(r=l,s(),i.p));return[a,o]}map(e){return Ee.map(this,e)}static coalesce(e){return Ee.filter(e,n=>!!n)}coalesce(){return Ee.coalesce(this)}static filter(e,n){return new Ee(async r=>{for await(const i of e)n(i)&&r.emitOne(i)})}filter(e){return Ee.filter(this,e)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(e){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:e})}[Symbol.asyncIterator](){return this._iterator}};Ee.EMPTY=Ee.fromArray([]);let Sl=Ee;class Fp{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,n){e=qt(e);const r=this.values,i=this.prefixSum,s=n.length;return s===0?!1:(this.values=new Uint32Array(r.length+s),this.values.set(r.subarray(0,e),0),this.values.set(r.subarray(e),e+s),this.values.set(n,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,n){return e=qt(e),n=qt(n),this.values[e]===n?!1:(this.values[e]=n,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,n){e=qt(e),n=qt(n);const r=this.values,i=this.prefixSum;if(e>=r.length)return!1;const s=r.length-e;return n>=s&&(n=s),n===0?!1:(this.values=new Uint32Array(r.length Line truncated
`),!0}return!1}_escape(e,n){let r=this.stream.peekChar();if(r===ji){this.stream.advance(1),r=this.stream.peekChar();let i=0;for(;i<6&&(r>=In&&r<=Dn||r>=vr&&r<=kl||r>=yr&&r<=El);)this.stream.advance(1),r=this.stream.peekChar(),i++;if(i>0){try{const s=parseInt(this.stream.substring(this.stream.pos()-i),16);s&&e.push(String.fromCharCode(s))}catch{}return r===Hi||r===Gi?this.stream.advance(1):this._newline([]),!0}if(r!==en&&r!==An&&r!==Zt)return this.stream.advance(1),e.push(String.fromCharCode(r)),!0;if(n)return this._newline(e)}return!1}_stringChar(e,n){const r=this.stream.peekChar();return r!==0&&r!==e&&r!==ji&&r!==en&&r!==An&&r!==Zt?(this.stream.advance(1),n.push(String.fromCharCode(r)),!0):!1}_string(e){if(this.stream.peekChar()===Al||this.stream.peekChar()===Ll){const n=this.stream.nextChar();for(e.push(String.fromCharCode(n));this._stringChar(n,e)||this._escape(e,!0););return this.stream.peekChar()===n?(this.stream.nextChar(),e.push(String.fromCharCode(n)),p.String):p.BadString}return null}_unquotedChar(e){const n=this.stream.peekChar();return n!==0&&n!==ji&&n!==Al&&n!==Ll&&n!==Nl&&n!==Il&&n!==Hi&&n!==Gi&&n!==Zt&&n!==An&&n!==en?(this.stream.advance(1),e.push(String.fromCharCode(n)),!0):!1}_unquotedString(e){let n=!1;for(;this._unquotedChar(e)||this._escape(e);)n=!0;return n}_whitespace(){return this.stream.advanceWhileChar(n=>n===Hi||n===Gi||n===Zt||n===An||n===en)>0}_name(e){let n=!1;for(;this._identChar(e)||this._escape(e);)n=!0;return n}ident(e){const n=this.stream.pos();if(this._minus(e)){if(this._minus(e)||this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}}else if(this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}return this.stream.goBackTo(n),!1}_identFirstChar(e){const n=this.stream.peekChar();return n===Rl||n>=vr&&n<=_l||n>=yr&&n<=Fl||n>=128&&n<=65535?(this.stream.advance(1),e.push(String.fromCharCode(n)),!0):!1}_minus(e){const n=this.stream.peekChar();return n===It?(this.stream.advance(1),e.push(String.fromCharCode(n)),!0):!1}_identChar(e){const n=this.stream.peekChar();return n===Rl||n===It||n>=vr&&n<=_l||n>=yr&&n<=Fl||n>=In&&n<=Dn||n>=128&&n<=65535?(this.stream.advance(1),e.push(String.fromCharCode(n)),!0):!1}_unicodeRange(){if(this.stream.advanceIfChar(Kp)){const e=r=>r>=In&&r<=Dn||r>=vr&&r<=kl||r>=yr&&r<=El,n=this.stream.advanceWhileChar(e)+this.stream.advanceWhileChar(r=>r===Qp);if(n>=1&&n<=6)if(this.stream.advanceIfChar(It)){const r=this.stream.advanceWhileChar(e);if(r>=1&&r<=6)return!0}else return!0}return!1}}function fe(t,e){if(t.length<e.length)return!1;for(let n=0;n<e.length;n++)if(t[n]!==e[n])return!1;return!0}function Pl(t,e){let n=t.length-e.length;return n>0?t.lastIndexOf(e)===n:n===0?t===e:!1}function Zp(t,e,n=4){let r=Math.abs(t.length-e.length);if(r>n)return 0;let i=[],s=[],a,o;for(a=0;a<e.length+1;++a)s.push(0);for(a=0;a<t.length+1;++a)i.push(s);for(a=1;a<t.length+1;++a)for(o=1;o<e.length+1;++o)t[a-1]===e[o-1]?i[a][o]=i[a-1][o-1]+1:i[a][o]=Math.max(i[a-1][o],i[a][o-1]);return i[t.length][e.length]-Math.sqrt(r)}function Tl(t,e=!0){return t?t.length<140?t:t.slice(0,140)+(e?"…":""):""}function em(t,e){const n=e.exec(t);return n&&n[0].length?t.substr(0,t.length-n[0].length):t}function Ol(t,e){let n="";for(;e>0;)(e&1)===1&&(n+=t),t+=t,e=e>>>1;return n}var v;(function(t){t[t.Undefined=0]="Undefined",t[t.Identifier=1]="Identifier",t[t.Stylesheet=2]="Stylesheet",t[t.Ruleset=3]="Ruleset",t[t.Selector=4]="Selector",t[t.SimpleSelector=5]="SimpleSelector",t[t.SelectorInterpolation=6]="SelectorInterpolation",t[t.SelectorCombinator=7]="SelectorCombinator",t[t.SelectorCombinatorParent=8]="SelectorCombinatorParent",t[t.SelectorCombinatorSibling=9]="SelectorCombinatorSibling",t[t.SelectorCombinatorAllSiblings=10]="SelectorCombinatorAllSiblings",t[t.SelectorCombinatorShadowPiercingDescendant=11]="SelectorCombinatorShadowPiercingDescendant",t[t.Page=12]="Page",t[t.PageBoxMarginBox=13]="PageBoxMarginBox",t[t.ClassSelector=14]="ClassSelector",t[t.IdentifierSelector=15]="IdentifierSelector",t[t.ElementNameSelector=16]="ElementNameSelector",t[t.PseudoSelector=17]="PseudoSelector",t[t.AttributeSelector=18]="AttributeSelector",t[t.Declaration=19]="Declaration",t[t.Declarations=20]="Declarations",t[t.Property=21]="Property",t[t.Expression=22]="Expression",t[t.BinaryExpression=23]="BinaryExpression",t[t.Term=24]="Term",t[t.Operator=25]="Operator",t[t.Value=26]="Value",t[t.StringLiteral=27]="StringLiteral",t[t.URILiteral=28]="URILiteral",t[t.EscapedValue=29]="EscapedValue",t[t.Function=30]="Function",t[t.NumericValue=31]="NumericValue",t[t.HexColorValue=32]="HexColorValue",t[t.RatioValue=33]="RatioValue",t[t.MixinDeclaration=34]="MixinDeclaration",t[t.MixinReference=35]="MixinReference",t[t.VariableName=36]="VariableName",t[t.VariableDeclaration=37]="VariableDeclaration",t[t.Prio=38]="Prio",t[t.Interpolation=39]="Interpolation",t[t.NestedProperties=40]="NestedProperties",t[t.ExtendsReference=41]="ExtendsReference",t Line truncated
`,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
`&&i++}r&&n.length>0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return _e.create(0,e);for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return _e.create(s,e-n[s])}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}};var S;(function(t){const e=Object.prototype.toString;function n(f){return typeof f<"u"}t.defined=n;function r(f){return typeof f>"u"}t.undefined=r;function i(f){return f===!0||f===!1}t.boolean=i;function s(f){return e.call(f)==="[object String]"}t.string=s;function a(f){return e.call(f)==="[object Number]"}t.number=a;function o(f,g,b){return e.call(f)==="[object Number]"&&g<=f&&f<=b}t.numberRange=o;function l(f){return e.call(f)==="[object Number]"&&-2147483648<=f&&f<=2147483647}t.integer=l;function c(f){return e.call(f)==="[object Number]"&&0<=f&&f<=2147483647}t.uinteger=c;function d(f){return e.call(f)==="[object Function]"}t.func=d;function u(f){return f!==null&&typeof f=="object"}t.objectLiteral=u;function m(f,g){return Array.isArray(f)&&f.every(g)}t.typedArray=m})(S||(S={}));class Un{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){for(let r of e)if(Un.isIncremental(r)){const i=Vc(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let c=this._lineOffsets;const d=$c(r.text,!1,s);if(l-o===d.length)for(let m=0,f=d.length;m<f;m++)c[m+o+1]=d[m];else d.length<1e4?c.splice(o+1,l-o,...d):this._lineOffsets=c=c.slice(0,o+1).concat(d,c.slice(l+1));const u=r.text.length-(a-s);if(u!==0)for(let m=o+1+d.length,f=c.length;m<f;m++)c[m]=c[m]+u}else if(Un.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=$c(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return{line:s,character:e-n[s]}}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var Ss;(function(t){function e(i,s,a,o){return new Un(i,s,a,o)}t.create=e;function n(i,s,a){if(i instanceof Un)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){let a=i.getText(),o=Cs(s.map($m),(d,u)=>{let m=d.range.start.line-u.range.start.line;return m===0?d.range.start.character-u.range.start.character:m}),l=0;const c=[];for(const d of o){let u=i.offsetAt(d.range.start);if(u<l)throw new Error("Overlapping edit");u>l&&c.push(a.substring(l,u)),d.newText.length&&c.push(d.newText),l=i.offsetAt(d.range.end)}return c.push(a.substr(l)),c.join("")}t.applyEdits=r})(Ss||(Ss={}));function Cs(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);Cs(r,e),Cs(i,e);let s=0,a=0,o=0;for(;s<r.length&&a<i.length;)e(r[s],i[a])<=0?t[o++]=r[s++]:t[o++]=i[a++];for(;s<r.length;)t[o++]=r[s++];for(;a<i.length;)t[o++]=i[a++];return t}function $c(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);(s===13||s===10)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function Vc(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function $m(t){const e=Vc(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var Uc;(function(t){t.LATEST={textDocument:{completion:{completionItem:{documentationFormat:[Ye.Markdown,Ye.PlainText]}},hover:{contentFormat:[Ye.Markdown,Ye.PlainText]}}}})(Uc||(Uc={}));var Bn;(function(t){t[t.Unknown=0]="Unknown",t[t.File=1]="File",t[t.Directory=2]="Directory",t[t.SymbolicLink=64]="SymbolicLink"})(Bn||(Bn={}));const Bc={E:"Edge",FF:"Firefox", Line truncated
`;case"nonstandard":return`🚨️ Property is nonstandard. Avoid using it.
`;case"obsolete":return`🚨️️️ Property is obsolete. Avoid using it.
`;default:return""}}function Ct(t,e,n){let r;if(e?r={kind:"markdown",value:Um(t,n)}:r={kind:"plaintext",value:Vm(t,n)},r.value!=="")return r}function Lr(t){return t=t.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&"),t.replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Vm(t,e){if(!t.description||t.description==="")return"";if(typeof t.description!="string")return t.description.value;let n="";if(e?.documentation!==!1){t.status&&(n+=qc(t.status)),n+=t.description;const r=jc(t.browsers);r&&(n+=`
(`+r+")"),"syntax"in t&&(n+=`
Syntax: ${t.syntax}`)}return t.references&&t.references.length>0&&e?.references!==!1&&(n.length>0&&(n+=`
`),n+=t.references.map(r=>`${r.name}: ${r.url}`).join(" | ")),n}function Um(t,e){if(!t.description||t.description==="")return"";let n="";if(e?.documentation!==!1){t.status&&(n+=qc(t.status)),typeof t.description=="string"?n+=Lr(t.description):n+=t.description.kind===Ye.Markdown?t.description.value:Lr(t.description.value);const r=jc(t.browsers);r&&(n+=`
(`+Lr(r)+")"),"syntax"in t&&t.syntax&&(n+=`
Syntax: ${Lr(t.syntax)}`)}return t.references&&t.references.length>0&&e?.references!==!1&&(n.length>0&&(n+=`
`),n+=t.references.map(r=>`[${r.name}](${r.url})`).join(" | ")),n}function jc(t=[]){return t.length===0?null:t.map(e=>{let n="";const r=e.match(/([A-Z]+)(\d+)?/),i=r[1],s=r[2];return i in Bc&&(n+=Bc[i]),s&&(n+=" "+s),n}).join(", ")}const Bm=/(^#([0-9A-F]{3}){1,2}$)|(^#([0-9A-F]{4}){1,2}$)/i,qm=[{label:"rgb",func:"rgb($red, $green, $blue)",insertText:"rgb(${1:red}, ${2:green}, ${3:blue})",desc:w("Creates a Color from red, green, and blue values.")},{label:"rgba",func:"rgba($red, $green, $blue, $alpha)",insertText:"rgba(${1:red}, ${2:green}, ${3:blue}, ${4:alpha})",desc:w("Creates a Color from red, green, blue, and alpha values.")},{label:"rgb relative",func:"rgb(from $color $red $green $blue)",insertText:"rgb(from ${1:color} ${2:r} ${3:g} ${4:b})",desc:w("Creates a Color from the red, green, and blue values of another Color.")},{label:"hsl",func:"hsl($hue, $saturation, $lightness)",insertText:"hsl(${1:hue}, ${2:saturation}, ${3:lightness})",desc:w("Creates a Color from hue, saturation, and lightness values.")},{label:"hsla",func:"hsla($hue, $saturation, $lightness, $alpha)",insertText:"hsla(${1:hue}, ${2:saturation}, ${3:lightness}, ${4:alpha})",desc:w("Creates a Color from hue, saturation, lightness, and alpha values.")},{label:"hsl relative",func:"hsl(from $color $hue $saturation $lightness)",insertText:"hsl(from ${1:color} ${2:h} ${3:s} ${4:l})",desc:w("Creates a Color from the hue, saturation, and lightness values of another Color.")},{label:"hwb",func:"hwb($hue $white $black)",insertText:"hwb(${1:hue} ${2:white} ${3:black})",desc:w("Creates a Color from hue, white, and black values.")},{label:"hwb relative",func:"hwb(from $color $hue $white $black)",insertText:"hwb(from ${1:color} ${2:h} ${3:w} ${4:b})",desc:w("Creates a Color from the hue, white, and black values of another Color.")},{label:"lab",func:"lab($lightness $a $b)",insertText:"lab(${1:lightness} ${2:a} ${3:b})",desc:w("Creates a Color from lightness, a, and b values.")},{label:"lab relative",func:"lab(from $color $lightness $a $b)",insertText:"lab(from ${1:color} ${2:l} ${3:a} ${4:b})",desc:w("Creates a Color from the lightness, a, and b values of another Color.")},{label:"oklab",func:"oklab($lightness $a $b)",insertText:"oklab(${1:lightness} ${2:a} ${3:b})",desc:w("Creates a Color from lightness, a, and b values.")},{label:"oklab relative",func:"oklab(from $color $lightness $a $b)",insertText:"oklab(from ${1:color} ${2:l} ${3:a} ${4:b})",desc:w("Creates a Color from the lightness, a, and b values of another Color.")},{label:"lch",func:"lch($lightness $chroma $hue)",insertText:"lch(${1:lightness} ${2:chroma} ${3:hue})",desc:w("Creates a Color from lightness, chroma, and hue values.")},{label:"lch relative",func:"lch(from $color $lightness $chroma $hue)",insertText:"lch(from ${1:color} ${2:l} ${3:c} ${4:h})",desc:w("Creates a Color from the lightness, chroma, and hue values of another Color.")},{label:"oklch",func:"oklch($lightness $chroma $hue)",insertText:"oklch(${1:lightness} ${2:chroma} ${3:hue})",desc:w("Creates a Color from lightness, chroma, and hue values.")},{label:"oklch relative",func:"oklch(from $color $lightness $chroma $hue)",insertText:"oklch(from ${1:color} ${2:l} ${3:c} ${4:h})",desc:w("Creates a Color from the lightness, chroma, and hue values of another Color.")},{label:"color",func:"color($color-space $red $green $blue)",insertText:"color(${1|srgb,srgb-linear,display-p3,a98-rgb,prophoto-rgb,rec2020,xyx,xyz-d50,xyz-d65|} ${2:red} ${3:green} ${4:blue})",desc:w("Creates a Color in a specific color space from red, green, and blue values.")},{label:"color relative",func:"color(from $color $color-space $red $green $blue)",insertText:"color(from ${1:color} ${2|srgb,srgb-linear,display-p3,a98-rgb,prophoto-rgb,rec2020,xyx,xyz-d50,xyz-d65|} ${3:r} ${4:g} ${5:b})",desc:w("Creates a Color in a specific color space from the red, green, and blue values of another Color.")},{label:"color-mix",func:"color-mix(in $color-space, $color $percentage, $color $percentage)",insertText:"color-mix(in ${1|srgb,srgb-linear,lab,oklab,xyz,xyz-d50,xyz-d65|}, ${3:color} ${4:percentage}, ${5:color} ${6:percentage})",desc:w("Mix two colors together in a rectangular color space.")},{label:"color-mix hue",func:"color-mix(in $color-space $interpolation-method hue, $color $percentage, $color $percentage)",insertText:"color-mix(in ${1|hsl,hwb,lch,oklch|} ${2|shorter hue,longer hue,increasing hue,decreasing hue|}, ${3:color} ${4:percentage}, ${5:color} ${6:percentage})",desc:w("Mix two colors together in a polar color space.")}],jm=/^(rgb|rgba|hsl|hsla|hwb)$/i,Ar={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:" Line truncated
\r":{[()]},*>+`.indexOf(r.charAt(n))===-1;)n--;return r.substring(n+1,e)}let Ds=class ta{constructor(){this.parent=null,this.children=null,this.attributes=null}findAttribute(e){if(this.attributes){for(const n of this.attributes)if(n.name===e)return n.value}return null}addChild(e){e instanceof ta&&(e.parent=this),this.children||(this.children=[]),this.children.push(e)}append(e){if(this.attributes){const n=this.attributes[this.attributes.length-1];n.value=n.value+e}}prepend(e){if(this.attributes){const n=this.attributes[0];n.value=e+n.value}}findRoot(){let e=this;for(;e.parent&&!(e.parent instanceof ln);)e=e.parent;return e}removeChild(e){if(this.children){const n=this.children.indexOf(e);if(n!==-1)return this.children.splice(n,1),!0}return!1}addAttr(e,n){this.attributes||(this.attributes=[]);for(const r of this.attributes)if(r.name===e){r.value+=" "+n;return}this.attributes.push({name:e,value:n})}clone(e=!0){const n=new ta;if(this.attributes){n.attributes=[];for(const r of this.attributes)n.addAttr(r.name,r.value)}if(e&&this.children){n.children=[];for(let r=0;r<this.children.length;r++)n.addChild(this.children[r].clone())}return n}cloneWithParent(){const e=this.clone(!1);return this.parent&&!(this.parent instanceof ln)&&this.parent.cloneWithParent().addChild(e),e}};class ln extends Ds{}class Ls extends Ds{constructor(e){super(),this.addAttr("name",e)}}class ph{constructor(e){this.quote=e,this.result=[]}print(e,n){this.result=[],e instanceof ln?e.children&&this.doPrint(e.children,0):this.doPrint([e],0);let r;return n?r=`${n.text}
… `+this.result.join(`
`):r=this.result.join(`
`),[{language:"html",value:r}]}doPrint(e,n){for(const r of e)this.doPrintElement(r,n),r.children&&this.doPrint(r.children,n+1)}writeLine(e,n){const r=new Array(e+1).join(" ");this.result.push(r+n)}doPrintElement(e,n){const r=e.findAttribute("name");if(e instanceof Ls||r==="…"){this.writeLine(n,r);return}const i=["<"];if(r?i.push(r):i.push("element"),e.attributes){for(const s of e.attributes)if(s.name!=="name"){i.push(" "),i.push(s.name);const a=s.value;a&&(i.push("="),i.push(ht.ensure(a,this.quote)))}}i.push(">"),this.writeLine(n,i.join(""))}}var ht;(function(t){function e(r,i){return i+n(r)+i}t.ensure=e;function n(r){const i=r.match(/^['"](.*)["']$/);return i?i[1]:r}t.remove=n})(ht||(ht={}));class As{constructor(){this.id=0,this.attr=0,this.tag=0}}function mh(t,e){let n=new Ds;for(const r of t.getChildren())switch(r.type){case v.SelectorCombinator:if(e){const o=r.getText().split("&");if(o.length===1){n.addAttr("name",o[0]);break}n=e.cloneWithParent(),o[0]&&n.findRoot().prepend(o[0]);for(let l=1;l<o.length;l++){if(l>1){const c=e.cloneWithParent();n.addChild(c.findRoot()),n=c}n.append(o[l])}}break;case v.SelectorPlaceholder:if(r.matches("@at-root"))return n;case v.ElementNameSelector:const i=r.getText();n.addAttr("name",i==="*"?"element":Ve(i));break;case v.ClassSelector:n.addAttr("class",Ve(r.getText().substring(1)));break;case v.IdentifierSelector:n.addAttr("id",Ve(r.getText().substring(1)));break;case v.MixinDeclaration:n.addAttr("class",r.getName());break;case v.PseudoSelector:n.addAttr(Ve(r.getText()),"");break;case v.AttributeSelector:const s=r,a=s.getIdentifier();if(a){const o=s.getValue(),l=s.getOperator();let c;if(o&&l)switch(Ve(l.getText())){case"|=":c=`${ht.remove(Ve(o.getText()))}-…`;break;case"^=":c=`${ht.remove(Ve(o.getText()))}…`;break;case"$=":c=`…${ht.remove(Ve(o.getText()))}`;break;case"~=":c=` … ${ht.remove(Ve(o.getText()))} … `;break;case"*=":c=`…${ht.remove(Ve(o.getText()))}…`;break;default:c=ht.remove(Ve(o.getText()));break}n.addAttr(Ve(a.getText()),c)}break}return n}function Ve(t){const e=new Mn;e.setSource(t);const n=e.scanUnquotedString();return n?n.text:t}class wf{constructor(e){this.cssDataManager=e}selectorToMarkedString(e,n){const r=xf(e);if(r){const i=new ph('"').print(r,n);return i.push(this.selectorToSpecificityMarkedString(e)),i}else return[]}simpleSelectorToMarkedString(e){const n=mh(e),r=new ph('"').print(n);return r.push(this.selectorToSpecificityMarkedString(e)),r}isPseudoElementIdentifier(e){const n=e.match(/^::?([\w-]+)/);return n?!!this.cssDataManager.getPseudoElement("::"+n[1]):!1}selectorToSpecificityMarkedString(e){const n=s=>{const a=new As;let o=new As;for(const l of s)for(const c of l.getChildren()){const d=r(c);if(d.id>o.id){o=d;continue}else if(d.id<o.id)continue;if(d.attr>o.attr){o=d;continue}else if(d.attr<o.attr)continue;if(d.tag>o.tag){o=d;continue}}return a.id+=o.id,a.attr+=o.attr,a.tag+=o.tag,a},r=s=>{const a=new As;e:for(const o of s.getChildren()){switch(o.type){case v.IdentifierSelector:a.id++;break;case v.ClassSelector:case v.AttributeSelector:a.attr++;break;case v.ElementNameSelector:if(o.matches("*"))break;a.tag++;break;case v.PseudoSelector:const l=o.getText(),c=o.getChildren();if(this.isPseudoElementIdentifier(l)){if(l.match(/^::slotted/i)&&c.length>0){a.tag++;let d=n(c);a.id+=d.id,a.attr+=d.attr,a.tag+=d.tag;continue e}a.tag++;continue e}if(l.match(/^:where/i))continue e;if(l.match(/^:(?:not|has|is)/i)&&c.length>0){let d=n(c);a.id+=d.id,a.attr+=d.attr,a.tag+=d.tag;continue e}if(l.match(/^:(?:host|host-context)/i)&&c.length>0){a.attr++;let d=n(c);a.id+=d.id,a.attr+=d.attr,a.tag+=d.tag;continue e}if(l.match(/^:(?:nth-child|nth-last-child)/i)&&c.length>0){if(a.attr++,c.length===3&&c[1].type===23){let g=n(c[2].getChildren());a.id+=g.id,a.attr+=g.attr,a.tag+=g.tag;continue e}const d=new Pr,u=c[1].getText();d.scanner.setSource(u);const m=d.scanner.scan(),f=d.scanner.scan();if(m.text==="n"||m.text==="-n"&&f.text==="of"){const g=[],k=u.slice(f.offset+2).split(",");for(const N of k){const _=d.internalParse(N,d._parseSelector);_&&g.push(_)}let F=n(g);a.id+=F.id,a.attr+=F.attr,a.tag+=F.tag;continue e}continue e}a.attr++;continue e}if(o.getChildren().length>0){const l=r(o);a.id+=l.id,a.attr+=l.attr,a.tag+=l.tag}}return a},i=r(e);return`[${w("Selector Specificity")}](https://developer.mozilla.org/docs/Web/CSS/Specificity): (${i.id}, ${i.attr}, ${i.tag})`}}class vf{constructor(e){this.prev=null,this.element=e}processSelector(e){let n=null;if(!(this.element instanceof ln)&&e.getChildren().some(r=>r.hasChildren()&&r.getChild(0).type===v.SelectorCombinator)){const r=this.element.findRoot();r.parent instanceof ln&&(n=this.element,this.element=r.parent,this.element.removeChild(r),this.prev=null)}for(const r of e.getChildren()){if(r instanceof tn){if(this.prev instanceof tn){const a=new Ls("…");this.element.addChild(a),this.element=a}else this.prev&&(this.prev.matches("+")||this.prev.matches("~"))&&this.element.parent&&(this.element=this.element. Line truncated
$0
}`,insertTextFormat:ze.Snippet,kind:G.Keyword},{label:"@for",documentation:w("For loop that repeatedly outputs a set of styles for each `$var` in the `from/through` or `from/to` clause."),insertText:"@for \\$${1:var} from ${2:start} ${3|to,through|} ${4:end} {\n $0\n}",insertTextFormat:ze.Snippet,kind:G.Keyword},{label:"@each",documentation:w("Each loop that sets `$var` to each item in the list or map, then outputs the styles it contains using that value of `$var`."),insertText:"@each \\$${1:var} in ${2:list} {\n $0\n}",insertTextFormat:ze.Snippet,kind:G.Keyword},{label:"@while",documentation:w("While loop that takes an expression and repeatedly outputs the nested styles until the statement evaluates to `false`."),insertText:`@while \${1:condition} {
$0
}`,insertTextFormat:ze.Snippet,kind:G.Keyword},{label:"@mixin",documentation:w("Defines styles that can be re-used throughout the stylesheet with `@include`."),insertText:`@mixin \${1:name} {
$0
}`,insertTextFormat:ze.Snippet,kind:G.Keyword},{label:"@include",documentation:w("Includes the styles defined by another mixin into the current rule."),kind:G.Keyword},{label:"@function",documentation:w("Defines complex operations that can be re-used throughout stylesheets."),kind:G.Keyword}],ve.scssModuleLoaders=[{label:"@use",documentation:w("Loads mixins, functions, and variables from other Sass stylesheets as 'modules', and combines CSS from multiple stylesheets together."),references:[{name:pt,url:"https://sass-lang.com/documentation/at-rules/use"}],insertText:"@use $0;",insertTextFormat:ze.Snippet,kind:G.Keyword},{label:"@forward",documentation:w("Loads a Sass stylesheet and makes its mixins, functions, and variables available when this stylesheet is loaded with the @use rule."),references:[{name:pt,url:"https://sass-lang.com/documentation/at-rules/forward"}],insertText:"@forward $0;",insertTextFormat:ze.Snippet,kind:G.Keyword}],ve.scssModuleBuiltIns=[{label:"sass:math",documentation:w("Provides functions that operate on numbers."),references:[{name:pt,url:"https://sass-lang.com/documentation/modules/math"}]},{label:"sass:string",documentation:w("Makes it easy to combine, search, or split apart strings."),references:[{name:pt,url:"https://sass-lang.com/documentation/modules/string"}]},{label:"sass:color",documentation:w("Generates new colors based on existing ones, making it easy to build color themes."),references:[{name:pt,url:"https://sass-lang.com/documentation/modules/color"}]},{label:"sass:list",documentation:w("Lets you access and modify values in lists."),references:[{name:pt,url:"https://sass-lang.com/documentation/modules/list"}]},{label:"sass:map",documentation:w("Makes it possible to look up the value associated with a key in a map, and much more."),references:[{name:pt,url:"https://sass-lang.com/documentation/modules/map"}]},{label:"sass:selector",documentation:w("Provides access to Sass’s powerful selector engine."),references:[{name:pt,url:"https://sass-lang.com/documentation/modules/selector"}]},{label:"sass:meta",documentation:w("Exposes the details of Sass’s inner workings."),references:[{name:pt,url:"https://sass-lang.com/documentation/modules/meta"}]}];function Eh(t){t.forEach(e=>{if(e.documentation&&e.references&&e.references.length>0){const n=typeof e.documentation=="string"?{kind:"markdown",value:e.documentation}:{kind:"markdown",value:e.documentation.value};n.value+=`
`,n.value+=e.references.map(r=>`[${r.name}](${r.url})`).join(" | "),e.documentation=n}})}const Fh=47,Bf=10,qf=13,jf=12,Hs=96,Gs=46;let Hf=p.CustomToken;const Js=Hf++;class Rh extends Mn{scanNext(e){const n=this.escapedJavaScript();return n!==null?this.finishToken(e,n):this.stream.advanceIfChars([Gs,Gs,Gs])?this.finishToken(e,Js):super.scanNext(e)}comment(){return super.comment()?!0:!this.inURL&&this.stream.advanceIfChars([Fh,Fh])?(this.stream.advanceWhileChar(e=>{switch(e){case Bf:case qf:case jf:return!1;default:return!0}}),!0):!1}escapedJavaScript(){return this.stream.peekChar()===Hs?(this.stream.advance(1),this.stream.advanceWhileChar(n=>n!==Hs),this.stream.advanceIfChar(Hs)?p.EscapedJavaScript:p.BadEscapedJavaScript):null}}class Gf extends Pr{constructor(){super(new Rh)}_parseStylesheetStatement(e=!1){return this.peek(p.AtKeyword)?this._parseVariableDeclaration()||this._parsePlugin()||super._parseStylesheetAtStatement(e):this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseFunction()||this._parseRuleset(!0)}_parseImport(){if(!this.peekKeyword("@import")&&!this.peekKeyword("@import-once"))return null;const e=this.create(Zi);if(this.consumeToken(),this.accept(p.ParenthesisL)){if(!this.accept(p.Ident))return this.finish(e,x.IdentifierExpected,[p.SemiColon]);do if(!this.accept(p.Comma))break;while(this.accept(p.Ident));if(!this.accept(p.ParenthesisR))return this.finish(e,x.RightParenthesisExpected,[p.SemiColon])}return!e.addChild(this._parseURILiteral())&&!e.addChild(this._parseStringLiteral())?this.finish(e,x.URIOrStringExpected,[p.SemiColon]):(!this.peek(p.SemiColon)&&!this.peek(p.EOF)&&e.setMedialist(this._parseMediaQueryList()),this._completeParseImport(e))}_parsePlugin(){if(!this.peekKeyword("@plugin"))return null;const e=this.createNode(v.Plugin);return this.consumeToken(),e.addChild(this._parseStringLiteral())?this.accept(p.SemiColon)?this.finish(e):this.finish(e,x.SemiColonExpected):this.finish(e,x.StringLiteralExpected)}_parseMediaQuery(){const e=super._parseMediaQuery();if(!e){const n=this.create(ql);return n.addChild(this._parseVariable())?this.finish(n):null}return e}_parseMediaDeclaration(e=!1){return this._tryParseRuleset(e)||this._tryToParseDeclaration()||this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseDetachedRuleSetMixin()||this._parseStylesheetStatement(e)}_parseMediaFeatureName(){return this._parseIdent()||this._parseVariable()}_parseVariableDeclaration(e=[]){const n=this.create(Cr),r=this.mark();if(!n.setVariable(this._parseVariable(!0)))return null;if(this.accept(p.Colon)){if(this.prevToken&&(n.colonPosition=this.prevToken.offset),n.setValue(this._parseDetachedRuleSet()))n.needsSemicolon=!1;else if(!n.setValue(this._parseExpr()))return this.finish(n,x.VariableValueExpected,[],e);n.addChild(this._parsePrio())}else return this.restoreAtMark(r),null;return this.peek(p.SemiColon)&&(n.semicolonPosition=this.token.offset),this.finish(n)}_parseDetachedRuleSet(){let e=this.mark();if(this.peekDelim("#")||this.peekDelim("."))if(this.consumeToken(),!this.hasWhitespace()&&this.accept(p.ParenthesisL)){let r=this.create(Wn);if(r.getParameters().addChild(this._parseMixinParameter()))for(;(this.accept(p.Comma)||this.accept(p.SemiColon))&&!this.peek(p.ParenthesisR);)r.getParameters().addChild(this._parseMixinParameter())||this.markError(r,x.IdentifierExpected,[],[p.ParenthesisR]);if(!this.accept(p.ParenthesisR))return this.restoreAtMark(e),null}else return this.restoreAtMark(e),null;if(!this.peek(p.CurlyL))return null;const n=this.create(le);return this._parseBody(n,this._parseDetachedRuleSetBody.bind(this)),this.finish(n)}_parseDetachedRuleSetBody(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()}_addLookupChildren(e){if(!e.addChild(this._parseLookupValue()))return!1;let n=!1;for(;this.peek(p.BracketL)&&(n=!0),!!e.addChild(this._parseLookupValue());)n=!1;return!n}_parseLookupValue(){const e=this.create(W),n=this.mark();return this.accept(p.BracketL)?(e.addChild(this._parseVariable(!1,!0))||e.addChild(this._parsePropertyIdentifier()))&&this.accept(p.BracketR)||this.accept(p.BracketR)?e:(this.restoreAtMark(n),null):(this.restoreAtMark(n),null)}_parseVariable(e=!1,n=!1){const r=!e&&this.peekDelim("$");if(!this.peekDelim("@")&&!r&&!this.peek(p.AtKeyword))return null;const i=this.create(as),s=this.mark();for(;this.acceptDelim("@")||!e&&this.acceptDelim("$");)if(this.hasWhitespace())return this.restoreAtMark(s),null;return!this.accept(p.AtKeyword)&&!this.accept(p.Ident)?(this.restoreAtMark(s),null):!n&&this.peek(p.BracketL)&&!this._addLookupChildren(i)?(this.restoreAtMark(s),null):i}_parseTermExpression(){return this._parseVariable()||this._parseEscaped()||super._parseTermExpression()||this._tryParseMixinReference(!1)}_parseEscaped(){if(this.peek(p.EscapedJavaScript)||this.peek(p.BadEscapedJavaScript)){const e=this.createNode(v.EscapedValue);return this.consumeToken(),this.finish(e)}if(this.peekDelim("~")){const e=this.createNode( Line truncated
`);c!==-1?this.__character_count=l.length-c:this.__character_count+=l.length},s.prototype.pop=function(){var l=null;return this.is_empty()||(l=this.__items.pop(),this.__character_count-=l.length),l},s.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},s.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},s.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},s.prototype.toString=function(){var l="";return this.is_empty()?this.__parent.indent_empty_lines&&(l=this.__parent.get_indent_string(this.__indent_count)):(l=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),l+=this.__items.join("")),l};function a(l,c){this.__cache=[""],this.__indent_size=l.indent_size,this.__indent_string=l.indent_char,l.indent_with_tabs||(this.__indent_string=new Array(l.indent_size+1).join(l.indent_char)),c=c||"",l.indent_level>0&&(c=new Array(l.indent_level+1).join(this.__indent_string)),this.__base_string=c,this.__base_string_length=c.length}a.prototype.get_indent_size=function(l,c){var d=this.__base_string_length;return c=c||0,l<0&&(d=0),d+=l*this.__indent_size,d+=c,d},a.prototype.get_indent_string=function(l,c){var d=this.__base_string;return c=c||0,l<0&&(l=0,d=""),c+=l*this.__indent_size,this.__ensure_cache(c),d+=this.__cache[c],d},a.prototype.__ensure_cache=function(l){for(;l>=this.__cache.length;)this.__add_column()},a.prototype.__add_column=function(){var l=this.__cache.length,c=0,d="";this.__indent_size&&l>=this.__indent_size&&(c=Math.floor(l/this.__indent_size),l-=c*this.__indent_size,d=new Array(c+1).join(this.__indent_string)),l&&(d+=new Array(l+1).join(" ")),this.__cache.push(d)};function o(l,c){this.__indent_cache=new a(l,c),this.raw=!1,this._end_with_newline=l.end_with_newline,this.indent_size=l.indent_size,this.wrap_line_length=l.wrap_line_length,this.indent_empty_lines=l.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new s(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}o.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},o.prototype.get_line_number=function(){return this.__lines.length},o.prototype.get_indent_string=function(l,c){return this.__indent_cache.get_indent_string(l,c)},o.prototype.get_indent_size=function(l,c){return this.__indent_cache.get_indent_size(l,c)},o.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},o.prototype.add_new_line=function(l){return this.is_empty()||!l&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},o.prototype.get_code=function(l){this.trim(!0);var c=this.current_line.pop();c&&(c[c.length-1]===`
`&&(c=c.replace(/\n+$/g,"")),this.current_line.push(c)),this._end_with_newline&&this.__add_outputline();var d=this.__lines.join(`
`);return l!==`
`&&(d=d.replace(/[\n]/g,l)),d},o.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},o.prototype.set_indent=function(l,c){return l=l||0,c=c||0,this.next_line.set_indent(l,c),this.__lines.length>1?(this.current_line.set_indent(l,c),!0):(this.current_line.set_indent(),!1)},o.prototype.add_raw_token=function(l){for(var c=0;c<l.newlines;c++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(l.whitespace_before),this.current_line.push(l.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},o.prototype.add_token=function(l){this.__add_space_before_token(),this.current_line.push(l),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},o.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},o.prototype.remove_indent=function(l){for(var c=this.__lines.length;l<c;)this.__lines[l]._remove_indent(),l++;this.current_line._remove_wrap_indent()},o.prototype.trim=function(l){for(l=l===void 0?!1:l,this.current_line.trim();l&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},o.prototype.just_added_newline=function(){return this.current_line.is_empty()},o.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},o.prototype.ensure_empty_line_above=function(l,c){for(var d=this.__lines.length-2;d>=0;){var u=this.__lines[d];if(u.is_empty())break;if(u.item(0).indexOf(l)!==0&&u.item(-1)!==c){this.__lines.splice(d+1,0,new s(this)),this.previous_line=this.__lines[this.__lines.length-2];break}d--}},i.exports.Output=o}),,,,(function(i){function s(l,c){this.raw_options=a(l,c),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}s.prototype._get_array=function(l,c){var d=this.raw_options[l],u=c||[];return typeof d=="object"?d!==null&&typeof d.concat=="function"&&(u=d.concat()):typeof d=="string"&&(u=d.split(/[^a-zA-Z0-9_\/\-]+/)),u},s.prototype._get_boolean=function(l,c){var d=this.raw_options[l],u=d===void 0?!!c:!!d;return u},s.prototype._get_characters=function(l,c){var d=this.raw_options[l],u=c||"";return typeof d=="string"&&(u=d.replace(/\\r/,"\r").replace(/\\n/,`
`).replace(/\\t/," ")),u},s.prototype._get_number=function(l,c){var d=this.raw_options[l];c=parseInt(c,10),isNaN(c)&&(c=0);var u=parseInt(d,10);return isNaN(u)&&(u=c),u},s.prototype._get_selection=function(l,c,d){var u=this._get_selection_list(l,c,d);if(u.length!==1)throw new Error("Invalid Option Value: The option '"+l+`' can only be one of the following values:
`+c+`
You passed in: '`+this.raw_options[l]+"'");return u[0]},s.prototype._get_selection_list=function(l,c,d){if(!c||c.length===0)throw new Error("Selection list cannot be empty.");if(d=d||[c[0]],!this._is_valid_selection(d,c))throw new Error("Invalid Default Value!");var u=this._get_array(l,d);if(!this._is_valid_selection(u,c))throw new Error("Invalid Option Value: The option '"+l+`' can contain only the following values:
`+c+`
You passed in: '`+this.raw_options[l]+"'");return u},s.prototype._is_valid_selection=function(l,c){return l.length&&c.length&&!l.some(function(d){return c.indexOf(d)===-1})};function a(l,c){var d={};l=o(l);var u;for(u in l)u!==c&&(d[u]=l[u]);if(c&&l[c])for(u in l[c])d[u]=l[c][u];return d}function o(l){var c={},d;for(d in l){var u=d.replace(/-/g,"_");c[u]=l[d]}return c}i.exports.Options=s,i.exports.normalizeOpts=o,i.exports.mergeOpts=a}),,(function(i){var s=RegExp.prototype.hasOwnProperty("sticky");function a(o){this.__input=o||"",this.__input_length=this.__input.length,this.__position=0}a.prototype.restart=function(){this.__position=0},a.prototype.back=function(){this.__position>0&&(this.__position-=1)},a.prototype.hasNext=function(){return this.__position<this.__input_length},a.prototype.next=function(){var o=null;return this.hasNext()&&(o=this.__input.charAt(this.__position),this.__position+=1),o},a.prototype.peek=function(o){var l=null;return o=o||0,o+=this.__position,o>=0&&o<this.__input_length&&(l=this.__input.charAt(o)),l},a.prototype.__match=function(o,l){o.lastIndex=l;var c=o.exec(this.__input);return c&&!(s&&o.sticky)&&c.index!==l&&(c=null),c},a.prototype.test=function(o,l){return l=l||0,l+=this.__position,l>=0&&l<this.__input_length?!!this.__match(o,l):!1},a.prototype.testChar=function(o,l){var c=this.peek(l);return o.lastIndex=0,c!==null&&o.test(c)},a.prototype.match=function(o){var l=this.__match(o,this.__position);return l?this.__position+=l[0].length:l=null,l},a.prototype.read=function(o,l,c){var d="",u;return o&&(u=this.match(o),u&&(d+=u[0])),l&&(u||!o)&&(d+=this.readUntil(l,c)),d},a.prototype.readUntil=function(o,l){var c="",d=this.__position;o.lastIndex=this.__position;var u=o.exec(this.__input);return u?(d=u.index,l&&(d+=u[0].length)):d=this.__input_length,c=this.__input.substring(this.__position,d),this.__position=d,c},a.prototype.readUntilAfter=function(o){return this.readUntil(o,!0)},a.prototype.get_regexp=function(o,l){var c=null,d="g";return l&&s&&(d="y"),typeof o=="string"&&o!==""?c=new RegExp(o,d):o&&(c=new RegExp(o.source,d)),c},a.prototype.get_literal_regexp=function(o){return RegExp(o.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},a.prototype.peekUntilAfter=function(o){var l=this.__position,c=this.readUntilAfter(o);return this.__position=l,c},a.prototype.lookBack=function(o){var l=this.__position-1;return l>=o.length&&this.__input.substring(l-o.length,l).toLowerCase()===o},i.exports.InputScanner=a}),,,,,(function(i){function s(a,o){a=typeof a=="string"?a:a.source,o=typeof o=="string"?o:o.source,this.__directives_block_pattern=new RegExp(a+/ beautify( \w+[:]\w+)+ /.source+o,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(a+/\sbeautify\signore:end\s/.source+o,"g")}s.prototype.get_directives=function(a){if(!a.match(this.__directives_block_pattern))return null;var o={};this.__directive_pattern.lastIndex=0;for(var l=this.__directive_pattern.exec(a);l;)o[l[1]]=l[2],l=this.__directive_pattern.exec(a);return o},s.prototype.readIgnored=function(a){return a.readUntilAfter(this.__directives_end_ignore_pattern)},i.exports.Directives=s}),,(function(i,s,a){var o=a(16).Beautifier,l=a(17).Options;function c(d,u){var m=new o(d,u);return m.beautify()}i.exports=c,i.exports.defaultOptions=function(){return new l}}),(function(i,s,a){var o=a(17).Options,l=a(2).Output,c=a(8).InputScanner,d=a(13).Directives,u=new d(/\/\*/,/\*\//),m=/\r\n|[\r\n]/,f=/\r\n|[\r\n]/g,g=/\s/,b=/(?:\s|\n)+/g,k=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,F=/\/\/(?:[^\n\r\u2028\u2029]*)/g;function N(_,T){this._source_text=_||"",this._options=new o(T),this._ch=null,this._input=null,this.NESTED_AT_RULE={page:!0,"font-face":!0,keyframes:!0,media:!0,supports:!0,document:!0},this.CONDITIONAL_GROUP_RULE={media:!0,supports:!0,document:!0},this.NON_SEMICOLON_NEWLINE_PROPERTY=["grid-template-areas","grid-template"]}N.prototype.eatString=function(_){var T="";for(this._ch=this._input.next();this._ch;){if(T+=this._ch,this._ch==="\\")T+=this._input.next();else if(_.indexOf(this._ch)!==-1||this._ch===`
`)break;this._ch=this._input.next()}return T},N.prototype.eatWhitespace=function(_){for(var T=g.test(this._input.peek()),O=0;g.test(this._input.peek());)this._ch=this._input.next(),_&&this._ch===`
`&&(O===0||O<this._options.max_preserve_newlines)&&(O++,this._output.add_new_line(!0));return T},N.prototype.foundNestedPseudoClass=function(){for(var _=0,T=1,O=this._input.peek(T);O;){if(O==="{")return!0;if(O==="(")_+=1;else if(O===")"){if(_===0)return!1;_-=1}else if(O===";"||O==="}")return!1;T++,O=this._input.peek(T)}return!1},N.prototype.print_string=function(_){this._output.set_indent(this._indentLevel),this._output.non_breaking_space=!0,this._output.add_token(_)},N.prototype.preserveSingleSpace=function(_){_&&(this._output.space_before_token=!0)},N.prototype.indent=function(){this._indentLevel++},N.prototype.outdent=function(){this._indentLevel>0&&this._indentLevel--},N.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var _=this._source_text,T=this._options.eol;T==="auto"&&(T=`
`,_&&m.test(_||"")&&(T=_.match(m)[0])),_=_.replace(f,`
`);var O=_.match(/^[\t ]*/)[0];this._output=new l(this._options,O),this._input=new c(_),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var V=0,D=!1,R=!1,P=!1,U=!1,L=!1,C=this._ch,I=!1,E,z,A;E=this._input.read(b),z=E!=="",A=C,this._ch=this._input.next(),this._ch==="\\"&&this._input.hasNext()&&(this._ch+=this._input.next()),C=this._ch,this._ch;)if(this._ch==="/"&&this._input.peek()==="*"){this._output.add_new_line(),this._input.back();var M=this._input.read(k),$=u.get_directives(M);$&&$.ignore==="start"&&(M+=u.readIgnored(this._input)),this.print_string(M),this.eatWhitespace(!0),this._output.add_new_line()}else if(this._ch==="/"&&this._input.peek()==="/")this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(F)),this.eatWhitespace(!0);else if(this._ch==="$"){this.preserveSingleSpace(z),this.print_string(this._ch);var B=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);B.match(/[ :]$/)&&(B=this.eatString(": ").replace(/\s+$/,""),this.print_string(B),this._output.space_before_token=!0),V===0&&B.indexOf(":")!==-1&&(R=!0,this.indent())}else if(this._ch==="@")if(this.preserveSingleSpace(z),this._input.peek()==="{")this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var Y=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);Y.match(/[ :]$/)&&(Y=this.eatString(": ").replace(/\s+$/,""),this.print_string(Y),this._output.space_before_token=!0),V===0&&Y.indexOf(":")!==-1?(R=!0,this.indent()):Y in this.NESTED_AT_RULE?(this._nestedLevel+=1,Y in this.CONDITIONAL_GROUP_RULE&&(P=!0)):V===0&&!R&&(U=!0)}else if(this._ch==="#"&&this._input.peek()==="{")this.preserveSingleSpace(z),this.print_string(this._ch+this.eatString("}"));else if(this._ch==="{")R&&(R=!1,this.outdent()),U=!1,P?(P=!1,D=this._indentLevel>=this._nestedLevel):D=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&D&&this._output.previous_line&&this._output.previous_line.item(-1)!=="{"&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,this._options.brace_style==="expand"?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):(A==="("?this._output.space_before_token=!1:A!==","&&this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line();else if(this._ch==="}")this.outdent(),this._output.add_new_line(),A==="{"&&this._output.trim(!0),R&&(this.outdent(),R=!1),this.print_string(this._ch),D=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&this._input.peek()!=="}"&&this._output.add_new_line(!0),this._input.peek()===")"&&(this._output.trim(!0),this._options.brace_style==="expand"&&this._output.add_new_line(!0));else if(this._ch===":"){for(var ne=0;ne<this.NON_SEMICOLON_NEWLINE_PROPERTY.length;ne++)if(this._input.lookBack(this.NON_SEMICOLON_NEWLINE_PROPERTY[ne])){I=!0;break}(D||P)&&!(this._input.lookBack("&")||this.foundNestedPseudoClass())&&!this._input.lookBack("(")&&!U&&V===0?(this.print_string(":"),R||(R=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):(this._input.lookBack(" ")&&(this._output.space_before_token=!0),this._input.peek()===":"?(this._ch=this._input.next(),this.print_string("::")):this.print_string(":"))}else if(this._ch==='"'||this._ch==="'"){var ye=A==='"'||A==="'";this.preserveSingleSpace(ye||z),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)}else if(this._ch===";")I=!1,V===0?(R&&(this.outdent(),R=!1),U=!1,this.print_string(this._ch),this.eatWhitespace(!0),this._input.peek()!=="/"&&this._output.add_new_line()):(this.print_string(this._ch),this.eatWhitespace(!0),this._output.space_before_token=!0);else if(this._ch==="(")if(this._input.lookBack("url"))this.print_string(this._ch),this.eatWhitespace(),V++,this.indent(),this._ch=this._input.next(),this._ch===")"||this._ch==='"'||this._ch==="'"?this._input.back():this._ch&&(this.print_string(this._ch+this.eatString(")")),V&&(V--,this.outdent()));else{var ge=!1;this._input.lookBack("with")&&(ge=!0),this.preserveSingleSpace(z||ge),this.print_string(this._ch),R&&A==="$"&&this._options.selector_separator_newline?(this._output.add_new_line(),L=!0):(this.eatWhitespace(),V++,this.indent())}else if(this._ch===")")V&&(V--,this.outdent()),L&&this._input.peek()===";"&&this._options.selector_separator_newline&&(L=!1,this.outdent(),this._output.add_new_line()),this.print_string(this._ch);else if(this._ch===",")this.print_string(this._ch),this.eatWhitespace(!0),this._options.selector_separator_newline&&(!R||L)&&V===0&&!U?this._output.add_new_line():this._output.space_before_token=!0;else if((this._ch===">"||this._ch==="+"||this._ch==="~")&&!R&&V===0)this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace( Line truncated
`&&I&&this._output.add_new_line()}var gt=this._output.get_code(T);return gt},i.exports.Beautifier=N}),(function(i,s,a){var o=a(6).Options;function l(c){o.call(this,c,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var d=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||d;var u=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_style="collapse";for(var m=0;m<u.length;m++)u[m]!=="expand"?this.brace_style="collapse":this.brace_style=u[m]}l.prototype=new o,i.exports.Options=l})],e={};function n(i){var s=e[i];if(s!==void 0)return s.exports;var a=e[i]={exports:{}};return t[i](a,a.exports,n),a.exports}var r=n(15);Ih=r})();var Qf=Ih;function Kf(t,e,n){let r=t.getText(),i=!0,s=0,a=!1;const o=n.tabSize||4;if(e){let d=t.offsetAt(e.start),u=d;for(;u>0&&Ah(r,u-1);)u--;u===0||Lh(r,u-1)?d=u:u<d&&(d=u+1);let m=t.offsetAt(e.end),f=m;for(;f<r.length&&Ah(r,f);)f++;if((f===r.length||Lh(r,f))&&(m=f),e=ee.create(t.positionAt(d),t.positionAt(m)),a=tg(r,d),i=m===r.length,r=r.substring(d,m),d!==0){const g=t.offsetAt(_e.create(e.start.line,0));s=ng(t.getText(),g,n)}a&&(r=`{
${Dh(r)}`)}else e=ee.create(_e.create(0,0),t.positionAt(r.length));const l={indent_size:o,indent_char:n.insertSpaces?" ":" ",end_with_newline:i&&mt(n,"insertFinalNewline",!1),selector_separator_newline:mt(n,"newlineBetweenSelectors",!0),newline_between_rules:mt(n,"newlineBetweenRules",!0),space_around_selector_separator:mt(n,"spaceAroundSelectorSeparator",!1),brace_style:mt(n,"braceStyle","collapse"),indent_empty_lines:mt(n,"indentEmptyLines",!1),max_preserve_newlines:mt(n,"maxPreserveNewLines",void 0),preserve_newlines:mt(n,"preserveNewLines",!0),wrap_line_length:mt(n,"wrapLineLength",void 0),eol:`
`};let c=Qf(r,l);if(a&&(c=Dh(c.substring(2))),s>0){const d=n.insertSpaces?Ol(" ",o*s):Ol(" ",s);c=c.split(`
`).join(`
`+d),e.start.character===0&&(c=d+c)}return[{range:e,newText:c}]}function Dh(t){return t.replace(/^\s+/,"")}const Zf=123,eg=125;function tg(t,e){for(;e>=0;){const n=t.charCodeAt(e);if(n===Zf)return!0;if(n===eg)return!1;e--}return!1}function mt(t,e,n){if(t&&t.hasOwnProperty(e)){const r=t[e];if(r!==null)return r}return n}function ng(t,e,n){let r=e,i=0;const s=n.tabSize||4;for(;r<t.length;){const a=t.charAt(r);if(a===" ")i++;else if(a===" ")i+=s;else break;r++}return Math.floor(i/s)}function Lh(t,e){return`\r
`.indexOf(t.charAt(e))!==-1}function Ah(t,e){return" ".indexOf(t.charAt(e))!==-1}const rg={version:1.1,properties:[{name:"additive-symbols",browsers:["FF33"],atRule:"@counter-style",syntax:"[ <integer> && <symbol> ]#",relevance:50,description:"@counter-style descriptor. Specifies the symbols used by the marker-construction algorithm specified by the system descriptor. Needs to be specified if the counter system is 'additive'.",restrictions:["integer","string","image","identifier"]},{name:"align-content",browsers:["E12","FF28","S9","C29","IE11","O16"],values:[{name:"center",description:"Lines are packed toward the center of the flex container."},{name:"flex-end",description:"Lines are packed toward the end of the flex container."},{name:"flex-start",description:"Lines are packed toward the start of the flex container."},{name:"space-around",description:"Lines are evenly distributed in the flex container, with half-size spaces on either end."},{name:"space-between",description:"Lines are evenly distributed in the flex container."},{name:"stretch",description:"Lines stretch to take up the remaining space."},{name:"start"},{name:"end"},{name:"normal"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"space-around"},{name:"space-between"},{name:"space-evenly"},{name:"stretch"},{name:"safe"},{name:"unsafe"}],syntax:"normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>",relevance:66,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/align-content"}],description:"Aligns a flex container's lines within the flex container when there is extra space in the cross-axis, similar to how 'justify-content' aligns individual items within the main-axis.",restrictions:["enum"]},{name:"align-items",browsers:["E12","FF20","S9","C29","IE11","O16"],values:[{name:"baseline",description:"If the flex item's inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item's margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"normal"},{name:"start"},{name:"end"},{name:"self-start"},{name:"self-end"},{name:"first baseline"},{name:"last baseline"},{name:"stretch"},{name:"safe"},{name:"unsafe"}],syntax:"normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]",relevance:87,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/align-items"}],description:"Aligns flex items along the cross axis of the current line of the flex container.",restrictions:["enum"]},{name:"justify-items",browsers:["E12","FF20","S9","C52","IE11","O12.1"],values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"safe"},{name:"unsafe"},{name:"legacy"}],syntax:"normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]",relevance:53,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/justify-items"}],description:"Defines the default justify-self for all items of the box, giving them the default way of justifying each box along the appropriate axis",restrictions:["enum"]},{name:"justify-self",browsers:["E16","FF45","S10.1","C57","IE10","O44"],values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in Line truncated
This feature is available since Firefox 55, but is only currently supported with SVG images loaded via chrome:// or resource:// URLs. To experiment with the feature in SVG on the Web it is necessary to set the svg.context-properties.content.enabled pref to true.`},{name:"-moz-float-edge",status:"obsolete",syntax:"border-box | content-box | margin-box | padding-box",values:[{name:"border-box"},{name:"content-box"},{name:"margin-box"},{name:"padding-box"}],relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge"}],description:"The non-standard -moz-float-edge CSS property specifies whether the height and width properties of the element include the margin, border, or padding thickness."},{name:"-moz-force-broken-image-icon",status:"obsolete",syntax:"0 | 1",values:[{name:"0"},{name:"1"}],relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon"}],description:"The -moz-force-broken-image-icon extended CSS property can be used to force the broken image icon to be shown even when a broken image has an alt attribute."},{name:"-moz-image-region",status:"nonstandard",syntax:"<shape> | auto",relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-image-region"}],description:"For certain XUL elements and pseudo-elements that use an image from the list-style-image property, this property specifies a region of the image that is used in place of the whole image. This allows elements to use different pieces of the same image to improve performance."},{name:"-moz-orient",status:"nonstandard",syntax:"inline | block | horizontal | vertical",values:[{name:"inline"},{name:"block"},{name:"horizontal"},{name:"vertical"}],relevance:0,browsers:["FF6"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-orient"}],description:"The -moz-orient CSS property specifies the orientation of the element to which it's applied."},{name:"-moz-outline-radius",status:"nonstandard",syntax:"<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?",relevance:0,description:"In Mozilla applications like Firefox, the -moz-outline-radius CSS property can be used to give an element's outline rounded corners."},{name:"-moz-outline-radius-bottomleft",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-bottomleft CSS property can be used to round the bottom-left corner of an element's outline."},{name:"-moz-outline-radius-bottomright",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-bottomright CSS property can be used to round the bottom-right corner of an element's outline."},{name:"-moz-outline-radius-topleft",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-topleft CSS property can be used to round the top-left corner of an element's outline."},{name:"-moz-outline-radius-topright",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-topright CSS property can be used to round the top-right corner of an element's outline."},{name:"-moz-stack-sizing",status:"nonstandard",syntax:"ignore | stretch-to-fit",values:[{name:"ignore"},{name:"stretch-to-fit"}],relevance:0,description:"-moz-stack-sizing is an extended CSS property. Normally, a stack will change its size so that all of its child elements are completely visible. For example, moving a child of the stack far to the right will widen the stack so the child remains visible."},{name:"-moz-text-blink",status:"nonstandard",syntax:"none | blink",values:[{name:"none"},{name:"blink"}],relevance:0,description:"The -moz-text-blink non-standard Mozilla CSS extension specifies the blink mode."},{name:"-moz-user-input",status:"obsolete",syntax:"auto | none | enabled | disabled",values:[{name:"auto"},{name:"none"},{name:"enabled"},{name:"disabled"}],relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-user-input"}],description:"In Mozilla applications, -moz-user-input determines if an element will accept user input."},{name:"-moz-user-modify",status:"nonstandard",syntax:"read-only | read-write | write-only",values:[{name:"read-only"},{name:"read-write"},{name:"write-only"}],relevance:0,description:"The -moz-user-modify property has no effect. It was originally planned to determine whether or not the content of an element can be edited by a user."},{name:"-moz-window-dragging",status:"nonstandard",syntax:"drag | no-drag",values:[{name:"drag"},{name:"no-drag"}],relevance:0,description:"The -moz-window-dragging CSS property specifies whether a window is draggable or not. It only works in Chrome code, and only on Mac OS X."},{name:"-moz-window-s Line truncated
This property is a shorthand for mask-border-source, mask-border-slice, mask-border-width, mask-border-outset, mask-border-repeat, and mask-border-mode. As with all shorthand properties, any omitted sub-values will be set to their initial value.`},{name:"mask-border-mode",syntax:"luminance | alpha",values:[{name:"luminance"},{name:"alpha"}],relevance:50,description:"The mask-border-mode CSS property specifies the blending mode used in a mask border."},{name:"mask-border-outset",syntax:"[ <length> | <number> ]{1,4}",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-outset"}],description:"The mask-border-outset CSS property specifies the distance by which an element's mask border is set out from its border box."},{name:"mask-border-repeat",syntax:"[ stretch | repeat | round | space ]{1,2}",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat"}],description:"The mask-border-repeat CSS property defines how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border."},{name:"mask-border-slice",syntax:"<number-percentage>{1,4} fill?",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-slice"}],description:"The mask-border-slice CSS property divides the image specified by mask-border-source into regions. These regions are used to form the components of an element's mask border."},{name:"mask-border-source",syntax:"none | <image>",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-source"}],description:`The mask-border-source CSS property specifies the source image used to create an element's mask border.
The mask-border-slice property is used to divide the source image into regions, which are then dynamically applied to the final mask border.`},{name:"mask-border-width",syntax:"[ <length-percentage> | <number> | auto ]{1,4}",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-width"}],description:"The mask-border-width CSS property specifies the width of an element's mask border."},{name:"mask-clip",syntax:"[ <geometry-box> | no-clip ]#",relevance:50,browsers:["E120","FF53","S15.4","C120","O106"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-clip"}],description:"The mask-clip CSS property determines the area, which is affected by a mask. The painted content of an element must be restricted to this area."},{name:"mask-composite",syntax:"<compositing-operator>#",relevance:50,browsers:["E18","FF53","S15.4","C120","O106"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-composite"}],description:"The mask-composite CSS property represents a compositing operation used on the current mask layer with the mask layers below it."},{name:"masonry-auto-flow",status:"experimental",syntax:"[ pack | next ] || [ definite-first | ordered ]",relevance:50,browsers:["Spreview"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/masonry-auto-flow"}],description:"The masonry-auto-flow CSS property modifies how items are placed when using masonry in CSS Grid Layout."},{name:"math-depth",syntax:"auto-add | add(<integer>) | <integer>",relevance:50,browsers:["E109","FF117","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/math-depth"}],description:'Describe a notion of "depth" for each element of a mathematical formula, with respect to the top-level container of that formula.'},{name:"math-shift",syntax:"normal | compact",values:[{name:"normal"},{name:"compact"}],relevance:50,browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/math-shift"}],description:"Used for positioning superscript during the layout of MathML scripted elements."},{name:"math-style",syntax:"normal | compact",values:[{name:"normal"},{name:"compact"}],relevance:50,browsers:["E109","FF117","S14.1","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/math-style"}],description:"The math-style property indicates whether MathML equations should render with normal or compact height."},{name:"max-lines",status:"experimental",syntax:"none | <integer>",relevance:50,description:"The max-lines property forces a break after a set number of lines"},{name:"offset",syntax:"[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?",relevance:50,browsers:["E79","FF72","S16","C55","O42"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset"}],description:"The offset CSS property is a shorthand property for animating an element along a defined path."},{name:"offset-anchor",syntax:"auto | <position>",relevance:50,browsers:["E116","FF72","S16","C116","O102"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-anchor"}],description:"Defines an anchor point of the box positioned along the path. The anchor point specifies the point of the box which is to be considered as the point that is moved along the path."},{name:"offset-distance",syntax:"<length-percentage>",relevance:50,browsers:["E79","FF72","S16","C55","O42"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-distance"}],description:"The offset-distance CSS property specifies a position along an offset-path."},{name:"offset-path",syntax:"none | <offset-path> || <coord-box>",relevance:50,browsers:["E79","FF72","S15.4","C55","O45"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-path"}],description:`The offset-path CSS property specifies the offset path where the element gets positioned. The exact element’s position on the offset path is determined by the offset-distance property. An offset path is either a specified path with one or multiple sub-paths or the geometry of a not-styled basic shape. Each shape or path must define an initial position for the computed value of "0" for offset-distance and an initial direction which specifies the rotation of the object to the initial position.
In this specification, a direction (or rotation) of 0 degrees is equivalent to the direction of the positive x-axis in the object’s local coordinate system. In other words, a rotation of 0 degree points to the right side of the UA if the object and its ancestors have no transformation applied.`},{name:"offset-position",syntax:"normal | auto | <position>",relevance:50,browsers:["E116","FF122","S16","C116","O102"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-position"}],description:"Specifies the initial position of the offset path. If position is specified with static, offset-position would be ignored."},{name:"offset-rotate",syntax:"[ auto | reverse ] || <angle>",relevance:50,browsers:["E79","FF72","S16","C56","O43"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-rotate"}],description:"The offset-rotate CSS property defines the direction of the element while positioning along the offset path."},{name:"overflow-anchor",syntax:"auto | none",values:[{name:"auto"},{name:"none"}],relevance:52,browsers:["E79","FF66","Spreview","C56","O43"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-anchor"}],description:"The overflow-anchor CSS property provides a way to opt out browser scroll anchoring behavior which adjusts scroll position to minimize content shifts."},{name:"overflow-block",syntax:"visible | hidden | clip | scroll | auto",values:[{name:"visible"},{name:"hidden"},{name:"clip"},{name:"scroll"},{name:"auto"}],relevance:50,browsers:["FF69"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-block"}],description:"The overflow-block CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the block axis."},{name:"overflow-clip-box",status:"nonstandard",syntax:"padding-box | content-box",values:[{name:"padding-box"},{name:"content-box"}],relevance:0,description:"The overflow-clip-box CSS property specifies relative to which box the clipping happens when there is an overflow. It is short hand for the overflow-clip-box-inline and overflow-clip-box-block properties."},{name:"overflow-clip-margin",syntax:"<visual-box> || <length [0,∞]>",relevance:50,browsers:["E90","FF102","C90","O76"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-clip-margin"}],description:"The overflow-clip-margin CSS property determines how far outside its bounds an element with overflow: clip may be painted before being clipped."},{name:"overflow-inline",syntax:"visible | hidden | clip | scroll | auto",values:[{name:"visible"},{name:"hidden"},{name:"clip"},{name:"scroll"},{name:"auto"}],relevance:50,browsers:["FF69"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-inline"}],description:"The overflow-inline CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the inline axis."},{name:"overlay",status:"experimental",syntax:"none | auto",values:[{name:"none"},{name:"auto"}],relevance:50,browsers:["E117","C117","O103"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overlay"}],description:'The overlay CSS property specifies whether an element appearing in the top layer (for example, a shown popover or modal {{htmlelement("dialog")}} element) is actually rendered in the top layer. This property is only relevant within a list of transition-property values, and only if allow-discrete is set as the transition-behavior.'},{name:"overscroll-behavior",syntax:"[ contain | none | auto ]{1,2}",relevance:50,browsers:["E18","FF59","S16","C63","O50"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior"}],description:"The overscroll-behavior CSS property is shorthand for the overscroll-behavior-x and overscroll-behavior-y properties, which allow you to control the browser's scroll overflow behavior — what happens when the boundary of a scrolling area is reached."},{name:"overscroll-behavior-block",syntax:"contain | none | auto",values:[{name:"contain"},{name:"none"},{name:"auto"}],relevance:50,browsers:["E79","FF73","S16","C77","O64"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block"}],description:"The overscroll-behavior-block CSS property sets the browser's behavior when the block direction boundary of a scrolling area is reached."},{name:"overscroll-behavior-inline",syntax:"contain | none | auto",values:[{name:"contain"},{name:"none"},{name:"auto"}],relevance:50,browsers:["E79","FF73","S16","C77","O64"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline"}],description:"The overscroll-behavior-inline CSS property sets the browser's behavior when the inline direction Line truncated
Specifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.`},{name:"scroll-snap-type-y",status:"obsolete",syntax:"none | mandatory | proximity",values:[{name:"none"},{name:"mandatory"},{name:"proximity"}],relevance:0,description:`The scroll-snap-type-y CSS property defines how strictly snap points are enforced on the vertical axis of the scroll container in case there is one.
Specifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.`},{name:"scroll-timeline",status:"experimental",syntax:"[ <'scroll-timeline-name'> <'scroll-timeline-axis'>? ]#",relevance:50,browsers:["E115","FF111","C115","O101"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/scroll-timeline"}],description:"Defines a name that can be used to identify the source element of a scroll timeline, along with the scrollbar axis that should provide the timeline."},{name:"scroll-timeline-axis",status:"experimental",syntax:"[ block | inline | x | y ]#",relevance:50,browsers:["E115","FF111","C115","O101"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-axis"}],description:"Specifies the scrollbar that will be used to provide the timeline for a scroll-timeline animation"},{name:"scroll-timeline-name",status:"experimental",syntax:"none | <dashed-ident>#",relevance:50,browsers:["E115","FF111","C115","O101"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-name"}],description:"Defines a name that can be used to identify an element as the source of a scroll-timeline."},{name:"text-combine-upright",syntax:"none | all | [ digits <integer>? ]",relevance:50,browsers:["E79","FF48","S15.4","C48","IE11","O35"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-combine-upright"}],description:`The text-combine-upright CSS property specifies the combination of multiple characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes.
This is used to produce an effect that is known as tate-chū-yoko (縦中横) in Japanese, or as 直書橫向 in Chinese.`},{name:"text-decoration-skip",status:"experimental",syntax:"none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]",relevance:52,browsers:["S12.1","C57","O44"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip"}],description:"The text-decoration-skip CSS property specifies what parts of the element’s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors."},{name:"text-decoration-skip-ink",syntax:"auto | all | none",values:[{name:"auto"},{name:"all"},{name:"none"}],relevance:51,browsers:["E79","FF70","S15.4","C64","O50"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink"}],description:"The text-decoration-skip-ink CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders."},{name:"text-decoration-thickness",syntax:"auto | from-font | <length> | <percentage> ",relevance:50,browsers:["E89","FF70","S12.1","C89","O75"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness"}],description:"The text-decoration-thickness CSS property sets the thickness, or width, of the decoration line that is used on text in an element, such as a line-through, underline, or overline."},{name:"text-emphasis",syntax:"<'text-emphasis-style'> || <'text-emphasis-color'>",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis"}],description:"The text-emphasis CSS property is a shorthand property for setting text-emphasis-style and text-emphasis-color in one declaration. This property will apply the specified emphasis mark to each character of the element's text, except separator characters, like spaces, and control characters."},{name:"text-emphasis-color",syntax:"<color>",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color"}],description:"The text-emphasis-color CSS property defines the color used to draw emphasis marks on text being rendered in the HTML document. This value can also be set and reset using the text-emphasis shorthand."},{name:"text-emphasis-position",syntax:"[ over | under ] && [ right | left ]",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position"}],description:"The text-emphasis-position CSS property describes where emphasis marks are drawn at. The effect of emphasis marks on the line height is the same as for ruby text: if there isn't enough place, the line height is increased."},{name:"text-emphasis-style",syntax:"none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style"}],description:"The text-emphasis-style CSS property defines the type of emphasis used. It can also be set, and reset, using the text-emphasis shorthand."},{name:"text-size-adjust",status:"experimental",syntax:"none | auto | <percentage>",relevance:57,browsers:["E79","C54","O41"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-size-adjust"}],description:"The text-size-adjust CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property."},{name:"text-underline-offset",syntax:"auto | <length> | <percentage> ",relevance:51,browsers:["E87","FF70","S12.1","C87","O73"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-underline-offset"}],description:"The text-underline-offset CSS property sets the offset distance of an underline text decoration line (applied using text-decoration) from its original position."},{name:"text-wrap",syntax:"wrap | nowrap | balance | stable | pretty",values:[{name:"wrap"},{name:"nowrap"},{name:"balance"},{name:"stable"},{name:"pretty"}],relevance:54,browsers:["E114","FF121","Spreview","C114","O100"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-wrap"}],description:"The text-wrap CSS property controls how text inside an element is wrapped."},{name:"timeline-scope",status:"experimental",syntax:"none | <dashed-ident>#",relevance:50,browsers:["E116","C116","O102"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/timeline-scope"}],description:"The timeline-scope CSS property modifies the scope of a named animation tim Line truncated
In order to let ::-webkit-progress-value take effect, -webkit-appearance needs to be set to none on the <progress> element.`},{name:"::grammar-error",status:"experimental",browsers:["E121","Spreview","C121"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::grammar-error"}],description:"The ::grammar-error CSS pseudo-element represents a text segment which the user agent has flagged as grammatically incorrect."},{name:"::marker",browsers:["E86","FF68","S11.1","C86","O72"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::marker"}],description:"The ::marker CSS pseudo-element selects the marker box of a list item, which typically contains a bullet or number. It works on any element or pseudo-element set to display: list-item, such as the <li> and <summary> elements."},{name:"::part",status:"experimental",browsers:["E79","FF72","S13.1","C73","O60"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::part"}],description:"The ::part CSS pseudo-element represents any element within a shadow tree that has a matching part attribute."},{name:"::placeholder",browsers:["E79","FF51","S10.1","C57","O44"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::placeholder"}],description:"The ::placeholder CSS pseudo-element represents the placeholder text of a form element."},{name:"::slotted",browsers:["E79","FF63","S10","C50","O37"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::slotted"}],description:"The :slotted() CSS pseudo-element represents any element that has been placed into a slot inside an HTML template."},{name:"::spelling-error",status:"experimental",browsers:["E121","Spreview","C121"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::spelling-error"}],description:"The ::spelling-error CSS pseudo-element represents a text segment which the user agent has flagged as incorrectly spelled."},{name:"::view-transition",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition"}],description:"The ::view-transition CSS pseudo-element represents the root of the view transitions overlay, which contains all view transitions and sits over the top of all other page content."},{name:"::view-transition-group",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-group"}],description:"The ::view-transition-group CSS pseudo-element represents a single view transition group."},{name:"::view-transition-image-pair",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-image-pair"}],description:`The ::view-transition-image-pair CSS pseudo-element represents a container for a view transition's "old" and "new" view states — before and after the transition.`},{name:"::view-transition-new",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-new"}],description:'The ::view-transition-new CSS pseudo-element represents the "new" view state of a view transition — a live representation of the new view, after the transition.'},{name:"::view-transition-old",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-old"}],description:'The ::view-transition-old CSS pseudo-element represents the "old" view state of a view transition — a static screenshot of the old view, before the transition.'}]};class Mh{constructor(e){this._properties=[],this._atDirectives=[],this._pseudoClasses=[],this._pseudoElements=[],this.addData(e)}provideProperties(){return this._properties}provideAtDirectives(){return this._atDirectives}providePseudoClasses(){return this._pseudoClasses}providePseudoElements(){return this._pseudoElements}addData(e){if(Array.isArray(e.properties))for(const n of e.properties)ig(n)&&this._properties.push(n);if(Array.isArray(e.atDirectives))for(const n of e.atDirectives)sg(n)&&this._atDirectives.push(n);if(Array.isArray(e.pseudoClasses))for(const n of e.pseudoClasses)ag(n)&&this._pseudoClasses.push(n);if(Array.isArray(e.pseudoElements))for(const n of e.pseudoElements)og(n)&&this._pseudoElements.push(n)}}function ig(t){return typeof t.name=="string"}function sg(t){return typeof t.name=="string"}function ag(t){return typeof t.name=="string"}function og(t){return typeof t.name=="string"}class Xs{constructor(e){this.dataProviders=[],this._propertySet={},this._atDirectiveSet={},this._pseudoClassSet={},this._pseudoElementSet={},this._properties=[],this._atDirectives=[],this._pseudoClasses=[],this._pseudoElements=[],this.setDataProviders(e?.useDefaultDataProviLine truncated
@@ -0,0 +1,30 @@
(function(){"use strict";class wi{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?ze.isErrorNoTelemetry(e)?new ze(e.message+`
`+e.stack):new Error(e.message+`
`+e.stack):e},0)}}emit(e){this.listeners.forEach(n=>{n(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const Yn=new wi;function Ct(t){Zn(t)||Yn.onUnexpectedError(t)}function xi(t){Zn(t)||Yn.onUnexpectedExternalError(t)}function en(t){if(t instanceof Error){const{name:e,message:n,cause:r}=t,s=t.stacktrace||t.stack;return{$isError:!0,name:e,message:n,stack:s,noTelemetry:ze.isErrorNoTelemetry(t),cause:r?en(r):void 0,code:t.code}}return t}const tn="Canceled";function Zn(t){return t instanceof Kn?!0:t instanceof Error&&t.name===tn&&t.message===tn}class Kn extends Error{constructor(){super(tn),this.name=this.message}}class ze extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof ze)return e;const n=new ze;return n.message=e.message,n.stack=e.stack,n}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class Y extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,Y.prototype)}}function yi(t,e="Unreachable"){throw new Error(e)}function Li(t,e="unexpected state"){if(!t)throw typeof e=="string"?new Y(`Assertion Failed: ${e}`):e}function ht(t){if(!t()){debugger;t(),Ct(new Y("Assertion Failed"))}}function nn(t,e){let n=0;for(;n<t.length-1;){const r=t[n],s=t[n+1];if(!e(r,s))return!1;n++}return!0}function _i(t){return typeof t=="string"}function vi(t){return!!t&&typeof t[Symbol.iterator]=="function"}var At;(function(t){function e(x){return!!x&&typeof x=="object"&&typeof x[Symbol.iterator]=="function"}t.is=e;const n=Object.freeze([]);function r(){return n}t.empty=r;function*s(x){yield x}t.single=s;function i(x){return e(x)?x:s(x)}t.wrap=i;function o(x){return x??n}t.from=o;function*l(x){for(let y=x.length-1;y>=0;y--)yield x[y]}t.reverse=l;function u(x){return!x||x[Symbol.iterator]().next().done===!0}t.isEmpty=u;function c(x){return x[Symbol.iterator]().next().value}t.first=c;function h(x,y){let S=0;for(const V of x)if(y(V,S++))return!0;return!1}t.some=h;function m(x,y){let S=0;for(const V of x)if(!y(V,S++))return!1;return!0}t.every=m;function f(x,y){for(const S of x)if(y(S))return S}t.find=f;function*p(x,y){for(const S of x)y(S)&&(yield S)}t.filter=p;function*g(x,y){let S=0;for(const V of x)yield y(V,S++)}t.map=g;function*d(x,y){let S=0;for(const V of x)yield*y(V,S++)}t.flatMap=d;function*w(...x){for(const y of x)vi(y)?yield*y:yield y}t.concat=w;function _(x,y,S){let V=S;for(const U of x)V=y(V,U);return V}t.reduce=_;function v(x){let y=0;for(const S of x)y++;return y}t.length=v;function*L(x,y,S=x.length){for(y<-x.length&&(y=0),y<0&&(y+=x.length),S<0?S+=x.length:S>x.length&&(S=x.length);y<S;y++)yield x[y]}t.slice=L;function k(x,y=Number.POSITIVE_INFINITY){const S=[];if(y===0)return[S,x];const V=x[Symbol.iterator]();for(let U=0;U<y;U++){const B=V.next();if(B.done)return[S,t.empty()];S.push(B.value)}return[S,{[Symbol.iterator](){return V}}]}t.consume=k;async function D(x){const y=[];for await(const S of x)y.push(S);return y}t.asyncToArray=D;async function W(x){let y=[];for await(const S of x)y=y.concat(S);return y}t.asyncToArrayFlat=W})(At||(At={}));function x1(t,e){}function er(t){if(At.is(t)){const e=[];for(const n of t)if(n)try{n.dispose()}catch(r){e.push(r)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function Ni(...t){return mt(()=>er(t))}class Si{constructor(e){this._isDisposed=!1,this._fn=e}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,this._fn()}}}function mt(t){return new Si(t)}const Qt=class Qt{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{er(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e||e===Ie.None)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Qt.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}};Qt.DISABLE_DISPOSED_WARNING=!1;let ft=Qt;const Qn=class Qn{constructor(){this._store=new ft,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};Qn.None=Object.freeze({dispose(){}});let Ie=Qn;const it=class it{constructor(e){this.element=e,this.next=it.Undefined,this.prev=it.Undefined}};it.Undefined=new it(void 0);let X=it;class Ri{constructor(){this._first=X.Undefined,this._last=X.Unde Line truncated
`).slice(2).join(`
`))}}class Tt extends Error{constructor(e,n,r,s,i){super(i?`[${i}] potential listener LEAK detected, ${e}`:`potential listener LEAK detected, ${e}`),this.name="ListenerLeakError",this.kind=e,this.listenerCount=s,this.details=n,this.stack=r}static is(e){return e instanceof Tt||e instanceof Error&&typeof e.kind=="string"&&typeof e.listenerCount=="number"}}class Wi extends Tt{constructor(e,n,r,s,i){super(e,n,r,s,i),this.name="ListenerRefusalError"}}class fn{constructor(e){this.value=e}}const Hi=2;class ge{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new mn(e?.onListenerError??Ct,this._options?.leakWarningThreshold??$i,this._options?.leakWarningName):void 0,this._perfMon=this._options?._profName?new hn(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,n,r)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const l=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(l);const u=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],c=u[1]/this._size>.3?"dominated":"popular",h=new Wi(c,`${l}. HINT: Stack shows most frequent listener (${u[1]}-times)`,u[0],this._size,this._options?.leakWarningName);return(this._options?.onListenerError||Ct)(h),Ie.None}if(this._disposed)return Ie.None;n&&(e=e.bind(n));const s=new fn(e);let i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(s.stack=Pt.create(),i=this._leakageMon.check(s.stack,this._size+1)),this._listeners?this._listeners instanceof fn?(this._deliveryQueue??=new zi,this._listeners=[this._listeners,s]):this._listeners.push(s):(this._options?.onWillAddFirstListener?.(this),this._listeners=s,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;const o=mt(()=>{i?.(),this._removeListener(s)});return dn(o,r),o},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const n=this._listeners,r=n.indexOf(e);if(r===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,n[r]=void 0;const s=this._deliveryQueue.current===this;if(this._size*Hi<=n.length){let i=0;for(let o=0;o<n.length;o++)n[o]?n[i++]=n[o]:s&&i<this._deliveryQueue.end&&(this._deliveryQueue.end--,i<this._deliveryQueue.i&&this._deliveryQueue.i--);n.length=i}}_deliver(e,n){if(!e)return;const r=this._options?.onListenerError||Ct;if(!r){e.value(n);return}try{e.value(n)}catch(s){r(s)}}_deliverQueue(e){const n=e.current._listeners;for(;e.i<e.end;)this._deliver(n[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof fn)this._deliver(this._listeners,e);else{const n=this._deliveryQueue;n.enqueue(this,e,this._listeners.length),this._deliverQueue(n)}this._perfMon?.stop()}hasListeners(){return this._size>0}}class zi{constructor(){this.i=-1,this.end=0}enqueue(e,n,r){this.i=0,this.end=r,this.current=e,this.value=n}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}function dn(t,e){e instanceof ft?e.add(t):Array.isArray(e)&&e.push(t)}function lr(t,e){if(e instanceof ft)e.delete(t);else if(Array.isArray(e)){const n=e.indexOf(t);n!==-1&&e.splice(n,1)}t.dispose()}function Oi(t){return t}class ji{constructor(e,n){this.lastCache=void 0,this.lastArgKey=void 0,typeof e=="function"?(this._fn=e,this._computeKey=Oi):(this._fn=n,this._computeKey=e.getCacheKey)}get(e){const n=this._computeKey(e);return this.lastArgKey!==n&&(this.lastArgKey=n,this.lastCache=this._fn(e)),this.lastCache}}var Ve;(function(t){t[t.Uninitialized=0]="Uninitialized",t[t.Running=1]="Running",t[t.Completed=2]="Completed"})(Ve||(Ve={}));class gn{constructor(e){this.executor=e,this._state=Ve.Uninitialized}get value(){if(this._state===Ve.Uninitialized){this._state=Ve.Running;try{this._value=this.executor()}catch(e){this._error=e}finally{this._state=Ve.Completed}}else if(this._state===Ve.Running)throw new Error("Cannot read the value of a lazy that is being initialized");if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}function Gi(t){return t.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Xi(t){return t.source==="^"||t.source==="^$"||t.source==="$"||t.source==="^\\s*$"?!1:!!(t.exec("")&&t.lastIndex===0)}function Qi(t){re Line truncated
`||t===" "}class wt{constructor(e,n,r){this.changes=e,this.moves=n,this.hitTimeout=r}}class Ws{constructor(e,n){this.lineRangeMapping=e,this.changes=n}}function ao(t,e,n=(r,s)=>r===s){if(t===e)return!0;if(!t||!e||t.length!==e.length)return!1;for(let r=0,s=t.length;r<s;r++)if(!n(t[r],e[r]))return!1;return!0}function*oo(t,e){let n,r;for(const s of t)r!==void 0&&e(r,s)?n.push(s):(n&&(yield n),n=[s]),r=s;n&&(yield n)}function lo(t,e){for(let n=0;n<=t.length;n++)e(n===0?void 0:t[n-1],n===t.length?void 0:t[n])}function uo(t,e){for(let n=0;n<t.length;n++)e(n===0?void 0:t[n-1],t[n],n+1===t.length?void 0:t[n+1])}function co(t,e){for(const n of e)t.push(n)}var Dn;(function(t){function e(i){return i<0}t.isLessThan=e;function n(i){return i<=0}t.isLessThanOrEqual=n;function r(i){return i>0}t.isGreaterThan=r;function s(i){return i===0}t.isNeitherLessOrGreaterThan=s,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(Dn||(Dn={}));function Ye(t,e){return(n,r)=>e(t(n),t(r))}const xt=(t,e)=>t-e;function ho(t){return(e,n)=>-t(e,n)}const ut=class ut{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(n=>(e.push(n),!0)),e}filter(e){return new ut(n=>this.iterate(r=>e(r)?n(r):!0))}map(e){return new ut(n=>this.iterate(r=>n(e(r))))}findLast(e){let n;return this.iterate(r=>(e(r)&&(n=r),!0)),n}findLastMaxBy(e){let n,r=!0;return this.iterate(s=>((r||Dn.isGreaterThan(e(s,n)))&&(r=!1,n=s),!0)),n}};ut.empty=new ut(e=>{});let Hs=ut;class T{static fromTo(e,n){return new T(e,n)}static addRange(e,n){let r=0;for(;r<n.length&&n[r].endExclusive<e.start;)r++;let s=r;for(;s<n.length&&n[s].start<=e.endExclusive;)s++;if(r===s)n.splice(r,0,e);else{const i=Math.min(e.start,n[r].start),o=Math.max(e.endExclusive,n[s-1].endExclusive);n.splice(r,s-r,new T(i,o))}}static tryCreate(e,n){if(!(e>n))return new T(e,n)}static ofLength(e){return new T(0,e)}static ofStartAndLength(e,n){return new T(e,e+n)}static emptyAt(e){return new T(e,e)}constructor(e,n){if(this.start=e,this.endExclusive=n,e>n)throw new Y(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new T(this.start+e,this.endExclusive+e)}deltaStart(e){return new T(this.start+e,this.endExclusive)}deltaEnd(e){return new T(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}containsRange(e){return this.start<=e.start&&e.endExclusive<=this.endExclusive}contains(e){return this.start<=e&&e<this.endExclusive}join(e){return new T(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);if(n<=r)return new T(n,r)}intersectionLength(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return Math.max(0,r-n)}intersects(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return n<r}intersectsOrTouches(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return n<=r}isBefore(e){return this.endExclusive<=e.start}isAfter(e){return this.start>=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new Y(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new Y(`Invalid clipping range: ${this.toString()}`);return e<this.start?this.endExclusive-(this.start-e)%this.length:e>=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let n=this.start;n<this.endExclusive;n++)e(n)}joinRightTouching(e){if(this.endExclusive!==e.start)throw new Y(`Invalid join: ${this.toString()} and ${e.toString()}`);return new T(this.start,e.endExclusive)}withMargin(e,n){return n===void 0&&(n=e),new T(this.start-e,this.endExclusive+n)}}function Ze(t,e){const n=Ke(t,e);return n===-1?void 0:t[n]}function Ke(t,e,n=0,r=t.length){let s=n,i=r;for(;s<i;){const o=Math.floor((s+i)/2);e(t[o])?s=o+1:i=o}return s-1}function mo(t,e){const n=In(t,e);return n===t.length?void 0:t[n]}function In(t,e,n=0,r=t.length){let s=n,i=r;for(;s<i;){const o=Math.floor((s+i)/2);e(t[o])?i=o:s=o+1}return s}const Zt=class Zt{constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(Zt.assertInvariants){if(this._prevFindLastPredicate){for(const r of this._array)if(this._prevFindLastPredicate(r)&&!e(r))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=e}const n=Ke(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=n+1,n===-1?void 0:this._array[n]}};Zt.assertInvariants=!1;let Ut=Zt;const me=class me{static ofLength(e,n){return new me(e,e+n)}static fromRange(e){return new me(e.sta Line truncated
`?(n++,r=0):r++;return new we(n,r)}constructor(e,n){this.lineCount=e,this.columnCount=n}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}add(e){return e.lineCount===0?new we(this.lineCount,this.columnCount+e.columnCount):new we(this.lineCount+e.lineCount,e.columnCount)}createRange(e){return this.lineCount===0?new R(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new R(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}toRange(){return new R(1,1,this.lineCount+1,this.columnCount+1)}toLineRange(){return z.ofLength(1,this.lineCount+1)}addToPosition(e){return this.lineCount===0?new q(e.lineNumber,e.column+this.columnCount):new q(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}};we.zero=new we(0,0);let Pe=we;class fo{getOffsetRange(e){return new T(this.getOffset(e.getStartPosition()),this.getOffset(e.getEndPosition()))}getRange(e){return R.fromPositions(this.getPosition(e.start),this.getPosition(e.endExclusive))}getStringReplacement(e){return new qe.deps.StringReplacement(this.getOffsetRange(e.range),e.text)}getTextReplacement(e){return new qe.deps.TextReplacement(this.getRange(e.replaceRange),e.newText)}getTextEdit(e){const n=e.replacements.map(r=>this.getTextReplacement(r));return new qe.deps.TextEdit(n)}}const Jn=class Jn{static get deps(){if(!this._deps)throw new Error("Dependencies not set. Call _setDependencies first.");return this._deps}};Jn._deps=void 0;let qe=Jn;function go(t){qe._deps=t}class zs extends fo{constructor(e){super(),this.text=e}get lineStartOffsetByLineIdx(){return this._lineStartOffsetByLineIdx||this._computeLineOffsets(),this._lineStartOffsetByLineIdx}get lineEndOffsetByLineIdx(){return this._lineEndOffsetByLineIdx||this._computeLineOffsets(),this._lineEndOffsetByLineIdx}_computeLineOffsets(){this._lineStartOffsetByLineIdx=[],this._lineEndOffsetByLineIdx=[],this._lineStartOffsetByLineIdx.push(0);for(let e=0;e<this.text.length;e++)this.text.charAt(e)===`
`&&(this._lineStartOffsetByLineIdx.push(e+1),e>0&&this.text.charAt(e-1)==="\r"?this._lineEndOffsetByLineIdx.push(e-1):this._lineEndOffsetByLineIdx.push(e));this._lineEndOffsetByLineIdx.push(this.text.length)}getOffset(e){const n=this._validatePosition(e);return this.lineStartOffsetByLineIdx[n.lineNumber-1]+n.column-1}_validatePosition(e){if(e.lineNumber<1)return new q(1,1);const n=this.textLength.lineCount+1;if(e.lineNumber>n){const s=this.getLineLength(n);return new q(n,s+1)}if(e.column<1)return new q(e.lineNumber,1);const r=this.getLineLength(e.lineNumber);return e.column-1>r?new q(e.lineNumber,r+1):e}getPosition(e){const n=Ke(this.lineStartOffsetByLineIdx,i=>i<=e),r=n+1,s=e-this.lineStartOffsetByLineIdx[n]+1;return new q(r,s)}get textLength(){const e=this.lineStartOffsetByLineIdx.length-1;return new qe.deps.TextLength(e,this.text.length-this.lineStartOffsetByLineIdx[e])}getLineLength(e){return this.lineEndOffsetByLineIdx[e-1]-this.lineStartOffsetByLineIdx[e-1]}}class Os{constructor(){this._transformer=void 0}get endPositionExclusive(){return this.length.addToPosition(new q(1,1))}get lineRange(){return this.length.toLineRange()}getValue(){return this.getValueOfRange(this.length.toRange())}getValueOfOffsetRange(e){return this.getValueOfRange(this.getTransformer().getRange(e))}getLineLength(e){return this.getValueOfRange(new R(e,1,e,Number.MAX_SAFE_INTEGER)).length}getTransformer(){return this._transformer||(this._transformer=new zs(this.getValue())),this._transformer}getLineAt(e){return this.getValueOfRange(new R(e,1,e,Number.MAX_SAFE_INTEGER))}}class po extends Os{constructor(e,n){Li(n>=1),super(),this._getLineContent=e,this._lineCount=n}getValueOfRange(e){if(e.startLineNumber===e.endLineNumber)return this._getLineContent(e.startLineNumber).substring(e.startColumn-1,e.endColumn-1);let n=this._getLineContent(e.startLineNumber).substring(e.startColumn-1);for(let r=e.startLineNumber+1;r<e.endLineNumber;r++)n+=`
`+this._getLineContent(r);return n+=`
`+this._getLineContent(e.endLineNumber).substring(0,e.endColumn-1),n}getLineLength(e){return this._getLineContent(e).length}get length(){const e=this._getLineContent(this._lineCount);return new Pe(this._lineCount-1,e.length)}}class $t extends po{constructor(e){super(n=>e[n-1],e.length)}}class Wt extends Os{constructor(e){super(),this.value=e,this._t=new zs(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}getTransformer(){return this._t}}class Ht{static fromStringEdit(e,n){const r=e.replacements.map(s=>be.fromStringReplacement(s,n));return new Ht(r)}static fromParallelReplacementsUnsorted(e){const n=e.slice().sort(Ye(r=>r.range,R.compareRangesUsingStarts));return new Ht(n)}constructor(e){this.replacements=e,ht(()=>nn(e,(n,r)=>n.range.getEndPosition().isBeforeOrEqual(r.range.getStartPosition())))}mapPosition(e){let n=0,r=0,s=0;for(const i of this.replacements){const o=i.range.getStartPosition();if(e.isBeforeOrEqual(o))break;const l=i.range.getEndPosition(),u=Pe.ofText(i.text);if(e.isBefore(l)){const c=new q(o.lineNumber+n,o.column+(o.lineNumber+n===r?s:0)),h=u.addToPosition(c);return zt(c,h)}o.lineNumber+n!==r&&(s=0),n+=u.lineCount-(i.range.endLineNumber-i.range.startLineNumber),u.lineCount===0?l.lineNumber!==o.lineNumber?s+=u.columnCount-(l.column-1):s+=u.columnCount-(l.column-o.column):s=u.columnCount,r=l.lineNumber+n}return new q(e.lineNumber+n,e.column+(e.lineNumber+n===r?s:0))}mapRange(e){function n(o){return o instanceof q?o:o.getStartPosition()}function r(o){return o instanceof q?o:o.getEndPosition()}const s=n(this.mapPosition(e.getStartPosition())),i=r(this.mapPosition(e.getEndPosition()));return zt(s,i)}apply(e){let n="",r=new q(1,1);for(const i of this.replacements){const o=i.range,l=o.getStartPosition(),u=o.getEndPosition(),c=zt(r,l);c.isEmpty()||(n+=e.getValueOfRange(c)),n+=i.text,r=u}const s=zt(r,e.endPositionExclusive);return s.isEmpty()||(n+=e.getValueOfRange(s)),n}applyToString(e){const n=new Wt(e);return this.apply(n)}getNewRanges(){const e=[];let n=0,r=0,s=0;for(const i of this.replacements){const o=Pe.ofText(i.text),l=q.lift({lineNumber:i.range.startLineNumber+r,column:i.range.startColumn+(i.range.startLineNumber===n?s:0)}),u=o.createRange(l);e.push(u),r=u.endLineNumber-i.range.endLineNumber,s=u.endColumn-i.range.endColumn,n=i.range.endLineNumber}return e}toReplacement(e){if(this.replacements.length===0)throw new Y;if(this.replacements.length===1)return this.replacements[0];const n=this.replacements[0].range.getStartPosition(),r=this.replacements[this.replacements.length-1].range.getEndPosition();let s="";for(let i=0;i<this.replacements.length;i++){const o=this.replacements[i];if(s+=o.text,i<this.replacements.length-1){const l=this.replacements[i+1],u=R.fromPositions(o.range.getEndPosition(),l.range.getStartPosition()),c=e.getValueOfRange(u);s+=c}}return new be(R.fromPositions(n,r),s)}toString(e){return e===void 0?this.replacements.map(n=>n.toString()).join(`
`):typeof e=="string"?this.toString(new Wt(e)):this.replacements.length===0?"":this.replacements.map(n=>{const s=e.getValueOfRange(n.range),i=R.fromPositions(new q(Math.max(1,n.range.startLineNumber-1),1),n.range.getStartPosition());let o=e.getValueOfRange(i);o.length>10&&(o="..."+o.substring(o.length-10));const l=R.fromPositions(n.range.getEndPosition(),new q(n.range.endLineNumber+1,1));let u=e.getValueOfRange(l);u.length>10&&(u=u.substring(0,10)+"...");let c=s;if(c.length>10){const m=Math.floor(5);c=c.substring(0,m)+"..."+c.substring(c.length-m)}let h=n.text;if(h.length>10){const m=Math.floor(5);h=h.substring(0,m)+"..."+h.substring(h.length-m)}return c.length===0?`${o}❰${h}❱${u}`:`${o}❰${c}↦${h}❱${u}`}).join(`
`)}}class be{static joinReplacements(e,n){if(e.length===0)throw new Y;if(e.length===1)return e[0];const r=e[0].range.getStartPosition(),s=e[e.length-1].range.getEndPosition();let i="";for(let o=0;o<e.length;o++){const l=e[o];if(i+=l.text,o<e.length-1){const u=e[o+1],c=R.fromPositions(l.range.getEndPosition(),u.range.getStartPosition()),h=n.getValueOfRange(c);i+=h}}return new be(R.fromPositions(r,s),i)}static fromStringReplacement(e,n){return new be(n.getTransformer().getRange(e.replaceRange),e.newText)}static delete(e){return new be(e,"")}constructor(e,n){this.range=e,this.text=n}get isEmpty(){return this.range.isEmpty()&&this.text.length===0}static equals(e,n){return e.range.equalsRange(n.range)&&e.text===n.text}equals(e){return be.equals(this,e)}removeCommonPrefixAndSuffix(e){return this.removeCommonPrefix(e).removeCommonSuffix(e)}removeCommonPrefix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
`,`
`),r=this.text.replaceAll(`\r
`,`
`),s=pn(n,r),i=Pe.ofText(n.substring(0,s)).addToPosition(this.range.getStartPosition()),o=r.substring(s),l=R.fromPositions(i,this.range.getEndPosition());return new be(l,o)}removeCommonSuffix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
`,`
`),r=this.text.replaceAll(`\r
`,`
`),s=bn(n,r),i=Pe.ofText(n.substring(0,n.length-s)).addToPosition(this.range.getStartPosition()),o=r.substring(0,r.length-s),l=R.fromPositions(this.range.getStartPosition(),i);return new be(l,o)}toString(){const e=this.range.getStartPosition(),n=this.range.getEndPosition();return`(${e.lineNumber},${e.column} -> ${n.lineNumber},${n.column}): "${this.text}"`}}function zt(t,e){if(t.lineNumber===e.lineNumber&&t.column===Number.MAX_SAFE_INTEGER)return R.fromPositions(e,e);if(!t.isBeforeOrEqual(e))throw new Y("start must be before end");return new R(t.lineNumber,t.column,e.lineNumber,e.column)}class ce{static inverse(e,n,r){const s=[];let i=1,o=1;for(const u of e){const c=new ce(new z(i,u.original.startLineNumber),new z(o,u.modified.startLineNumber));c.modified.isEmpty||s.push(c),i=u.original.endLineNumberExclusive,o=u.modified.endLineNumberExclusive}const l=new ce(new z(i,n+1),new z(o,r+1));return l.modified.isEmpty||s.push(l),s}static clip(e,n,r){const s=[];for(const i of e){const o=i.original.intersect(n),l=i.modified.intersect(r);o&&!o.isEmpty&&l&&!l.isEmpty&&s.push(new ce(o,l))}return s}constructor(e,n){this.original=e,this.modified=n}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new ce(this.modified,this.original)}join(e){return new ce(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),n=this.modified.toInclusiveRange();if(e&&n)return new he(e,n);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new Y("not a valid diff");return new he(new R(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new R(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new he(new R(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new R(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,n){if(js(this.original.endLineNumberExclusive,e)&&js(this.modified.endLineNumberExclusive,n))return new he(new R(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new R(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new he(R.fromPositions(new q(this.original.startLineNumber,1),et(new q(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),R.fromPositions(new q(this.modified.startLineNumber,1),et(new q(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new he(R.fromPositions(et(new q(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),et(new q(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),R.fromPositions(et(new q(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),n),et(new q(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));throw new Y}}function et(t,e){if(t.lineNumber<1)return new q(1,1);if(t.lineNumber>e.length)return new q(e.length,e[e.length-1].length+1);const n=e[t.lineNumber-1];return t.column>n.length+1?new q(t.lineNumber,n.length+1):t}function js(t,e){return t>=1&&t<=e.length}class Ce extends ce{static fromRangeMappings(e){const n=z.join(e.map(s=>z.fromRangeInclusive(s.originalRange))),r=z.join(e.map(s=>z.fromRangeInclusive(s.modifiedRange)));return new Ce(n,r,e)}constructor(e,n,r){super(e,n),this.innerChanges=r}flip(){return new Ce(this.modified,this.original,this.innerChanges?.map(e=>e.flip()))}withInnerChangesFromLineRanges(){return new Ce(this.original,this.modified,[this.toRangeMapping()])}}class he{static fromEdit(e){const n=e.getNewRanges();return e.replacements.map((s,i)=>new he(s.range,n[i]))}static assertSorted(e){for(let n=1;n<e.length;n++){const r=e[n-1],s=e[n];if(!(r.originalRange.getEndPosition().isBeforeOrEqual(s.originalRange.getStartPosition())&&r.modifiedRange.getEndPosition().isBeforeOrEqual(s.modifiedRange.getStartPosition())))throw new Y("Range mappings must be sorted")}}constructor(e,n){this.originalRange=e,this.modifiedRange=n}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new he(this.modifiedRange,this.originalRange)}toTextEdit(e){const n=e.getValueOfRange(this.modifiedRange);return new be(this.originalRange,n)}}function Vn(t,e,n,r=!1){const s=[];for(const i of oo(t.map(o=>bo(o,e,n)),(o,l)=>o.original.intersectsOrTouches(l.original)||o.modified.intersectsOrTouches(l.modified))){const o=i[0],l=i[i.length-1];s.push(new Ce(o.original.join(l.original),o.modified.join(l.modified),i.map(u=>u.innerChanges[0])))}return ht(()=>!r&&s.length>0&&(s[0].modified.startLineNumber!==s[0].original.startLineNumber||n.length.lineCount-s[s.length-1].modified.endLineNumberExclusive!==e.length.line Line truncated
`);this.histogram[l]=(this.histogram[l]||0)+1}this.totalCount=s}computeSimilarity(e){let n=0;const r=Math.max(this.histogram.length,e.histogram.length);for(let s=0;s<r;s++)n+=Math.abs((this.histogram[s]??0)-(e.histogram[s]??0));return 1-n/(this.totalCount+e.totalCount)}};Nt.chrKeys=new Map;let Ot=Nt;class No{compute(e,n,r=Lt.instance,s){if(e.length===0||n.length===0)return Ae.trivial(e,n);const i=new Un(e.length,n.length),o=new Un(e.length,n.length),l=new Un(e.length,n.length);for(let g=0;g<e.length;g++)for(let d=0;d<n.length;d++){if(!r.isValid())return Ae.trivialTimedOut(e,n);const w=g===0?0:i.get(g-1,d),_=d===0?0:i.get(g,d-1);let v;e.getElement(g)===n.getElement(d)?(g===0||d===0?v=0:v=i.get(g-1,d-1),g>0&&d>0&&o.get(g-1,d-1)===3&&(v+=l.get(g-1,d-1)),v+=s?s(g,d):1):v=-1;const L=Math.max(w,_,v);if(L===v){const k=g>0&&d>0?l.get(g-1,d-1):0;l.set(g,d,k+1),o.set(g,d,3)}else L===w?(l.set(g,d,0),o.set(g,d,1)):L===_&&(l.set(g,d,0),o.set(g,d,2));i.set(g,d,L)}const u=[];let c=e.length,h=n.length;function m(g,d){(g+1!==c||d+1!==h)&&u.push(new Q(new T(g+1,c),new T(d+1,h))),c=g,h=d}let f=e.length-1,p=n.length-1;for(;f>=0&&p>=0;)o.get(f,p)===3?(m(f,p),f--,p--):o.get(f,p)===1?f--:p--;return m(-1,-1),u.reverse(),new Ae(u,!1)}}class Js{compute(e,n,r=Lt.instance){if(e.length===0||n.length===0)return Ae.trivial(e,n);const s=e,i=n;function o(d,w){for(;d<s.length&&w<i.length&&s.getElement(d)===i.getElement(w);)d++,w++;return d}let l=0;const u=new So;u.set(0,o(0,0));const c=new Ro;c.set(0,u.get(0)===0?null:new Ys(null,0,0,u.get(0)));let h=0;e:for(;;){if(l++,!r.isValid())return Ae.trivialTimedOut(s,i);const d=-Math.min(l,i.length+l%2),w=Math.min(l,s.length+l%2);for(h=d;h<=w;h+=2){const _=h===w?-1:u.get(h+1),v=h===d?-1:u.get(h-1)+1,L=Math.min(Math.max(_,v),s.length),k=L-h;if(L>s.length||k>i.length)continue;const D=o(L,k);u.set(h,D);const W=L===_?c.get(h+1):c.get(h-1);if(c.set(h,D!==L?new Ys(W,L,k,D-L):W),u.get(h)===s.length&&u.get(h)-h===i.length)break e}}let m=c.get(h);const f=[];let p=s.length,g=i.length;for(;;){const d=m?m.x+m.length:0,w=m?m.y+m.length:0;if((d!==p||w!==g)&&f.push(new Q(new T(d,p),new T(w,g))),!m)break;p=m.x,g=m.y,m=m.prev}return f.reverse(),new Ae(f,!1)}}class Ys{constructor(e,n,r,s){this.prev=e,this.x=n,this.y=r,this.length=s}}class So{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const r=this.negativeArr;this.negativeArr=new Int32Array(r.length*2),this.negativeArr.set(r)}this.negativeArr[e]=n}else{if(e>=this.positiveArr.length){const r=this.positiveArr;this.positiveArr=new Int32Array(r.length*2),this.positiveArr.set(r)}this.positiveArr[e]=n}}}class Ro{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){e<0?(e=-e-1,this.negativeArr[e]=n):this.positiveArr[e]=n}}class jt{constructor(e,n,r){this.lines=e,this.range=n,this.considerWhitespaceChanges=r,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let s=this.range.startLineNumber;s<=this.range.endLineNumber;s++){let i=e[s-1],o=0;s===this.range.startLineNumber&&this.range.startColumn>1&&(o=this.range.startColumn-1,i=i.substring(o)),this.lineStartOffsets.push(o);let l=0;if(!r){const c=i.trimStart();l=i.length-c.length,i=c.trimEnd()}this.trimmedWsLengthsByLineIdx.push(l);const u=s===this.range.endLineNumber?Math.min(this.range.endColumn-1-o-l,i.length):i.length;for(let c=0;c<u;c++)this.elements.push(i.charCodeAt(c));s<this.range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new T(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map(n=>String.fromCharCode(n)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const n=ei(e>0?this.elements[e-1]:-1),r=ei(e<this.elements.length?this.elements[e]:-1);if(n===7&&r===8)return 0;if(n===8)return 150;let s=0;return n!==r&&(s+=10,n===0&&r===1&&(s+=1)),s+=Ks(n),s+=Ks(r),s}translateOffset(e,n="right"){const r=Ke(this.firstElementOffsetByLineIdx,i=>i<=e),s=e-this.firstElementOffsetByLineIdx[r];return new q(this.range.startLineNumber+r,1+this.lineStartOffsets[r]+s+(s===0&&n==="left"?0:this.trimmedWsLengthsByLineIdx[r]))}translateRange(e){const n=this.translateOffset(e.start,"right"),r=this.translateOffset(e.endExclusive,"left");return r.isBefore(n)?R.fromPositions(r,r):R.fromPositions(n,r)}findWordContaining(e){if(e<0||e>=this.elements.length||!nt(this.elements[e]))return;let n=e;for(;n>0&&nt(this.elements[n-1]);)n--;let r=e;for(;r<this.elements.length&&nt(this.elements[r]);)r++;return new T(n,r)}findSubWordContaining(e){if(e<0||e>=this.elements.length||!nt(this.elements[e]))return;l Line truncated
`).length>=15&&Eo(m,p=>p.length>=2)>=2}),o=To(t,o),o}function Eo(t,e){let n=0;for(const r of t)e(r)&&n++;return n}function ko(t,e,n,r){const s=[],i=t.filter(u=>u.modified.isEmpty&&u.original.length>=3).map(u=>new Ot(u.original,e,u)),o=new Set(t.filter(u=>u.original.isEmpty&&u.modified.length>=3).map(u=>new Ot(u.modified,n,u))),l=new Set;for(const u of i){let c=-1,h;for(const m of o){const f=u.computeSimilarity(m);f>c&&(c=f,h=m)}if(c>.9&&h&&(o.delete(h),s.push(new ce(u.range,h.range)),l.add(u.source),l.add(h.source)),!r.isValid())return{moves:s,excludedChanges:l}}return{moves:s,excludedChanges:l}}function Mo(t,e,n,r,s,i){const o=[],l=new Qa;for(const f of t)for(let p=f.original.startLineNumber;p<f.original.endLineNumberExclusive-2;p++){const g=`${e[p-1]}:${e[p+1-1]}:${e[p+2-1]}`;l.add(g,{range:new z(p,p+3)})}const u=[];t.sort(Ye(f=>f.modified.startLineNumber,xt));for(const f of t){let p=[];for(let g=f.modified.startLineNumber;g<f.modified.endLineNumberExclusive-2;g++){const d=`${n[g-1]}:${n[g+1-1]}:${n[g+2-1]}`,w=new z(g,g+3),_=[];l.forEach(d,({range:v})=>{for(const k of p)if(k.originalLineRange.endLineNumberExclusive+1===v.endLineNumberExclusive&&k.modifiedLineRange.endLineNumberExclusive+1===w.endLineNumberExclusive){k.originalLineRange=new z(k.originalLineRange.startLineNumber,v.endLineNumberExclusive),k.modifiedLineRange=new z(k.modifiedLineRange.startLineNumber,w.endLineNumberExclusive),_.push(k);return}const L={modifiedLineRange:w,originalLineRange:v};u.push(L),_.push(L)}),p=_}if(!i.isValid())return[]}u.sort(ho(Ye(f=>f.modifiedLineRange.length,xt)));const c=new ye,h=new ye;for(const f of u){const p=f.modifiedLineRange.startLineNumber-f.originalLineRange.startLineNumber,g=c.subtractFrom(f.modifiedLineRange),d=h.subtractFrom(f.originalLineRange).getWithDelta(p),w=g.getIntersection(d);for(const _ of w.ranges){if(_.length<3)continue;const v=_,L=_.delta(-p);o.push(new ce(L,v)),c.addRange(v),h.addRange(L)}}o.sort(Ye(f=>f.original.startLineNumber,xt));const m=new Ut(t);for(let f=0;f<o.length;f++){const p=o[f],g=m.findLastMonotonous(W=>W.original.startLineNumber<=p.original.startLineNumber),d=Ze(t,W=>W.modified.startLineNumber<=p.modified.startLineNumber),w=Math.max(p.original.startLineNumber-g.original.startLineNumber,p.modified.startLineNumber-d.modified.startLineNumber),_=m.findLastMonotonous(W=>W.original.startLineNumber<p.original.endLineNumberExclusive),v=Ze(t,W=>W.modified.startLineNumber<p.modified.endLineNumberExclusive),L=Math.max(_.original.endLineNumberExclusive-p.original.endLineNumberExclusive,v.modified.endLineNumberExclusive-p.modified.endLineNumberExclusive);let k;for(k=0;k<w;k++){const W=p.original.startLineNumber-k-1,x=p.modified.startLineNumber-k-1;if(W>r.length||x>s.length||c.contains(x)||h.contains(W)||!ti(r[W-1],s[x-1],i))break}k>0&&(h.addRange(new z(p.original.startLineNumber-k,p.original.startLineNumber)),c.addRange(new z(p.modified.startLineNumber-k,p.modified.startLineNumber)));let D;for(D=0;D<L;D++){const W=p.original.endLineNumberExclusive+D,x=p.modified.endLineNumberExclusive+D;if(W>r.length||x>s.length||c.contains(x)||h.contains(W)||!ti(r[W-1],s[x-1],i))break}D>0&&(h.addRange(new z(p.original.endLineNumberExclusive,p.original.endLineNumberExclusive+D)),c.addRange(new z(p.modified.endLineNumberExclusive,p.modified.endLineNumberExclusive+D))),(k>0||D>0)&&(o[f]=new ce(new z(p.original.startLineNumber-k,p.original.endLineNumberExclusive+D),new z(p.modified.startLineNumber-k,p.modified.endLineNumberExclusive+D)))}return o}function ti(t,e,n){if(t.trim()===e.trim())return!0;if(t.length>300&&e.length>300)return!1;const s=new Js().compute(new jt([t],new R(1,1,1,t.length),!1),new jt([e],new R(1,1,1,e.length),!1),n);let i=0;const o=Q.invert(s.diffs,t.length);for(const h of o)h.seq1Range.forEach(m=>{$n(t.charCodeAt(m))||i++});function l(h){let m=0;for(let f=0;f<t.length;f++)$n(h.charCodeAt(f))||m++;return m}const u=l(t.length>e.length?t:e);return i/u>.6&&u>10}function Po(t){if(t.length===0)return t;t.sort(Ye(n=>n.original.startLineNumber,xt));const e=[t[0]];for(let n=1;n<t.length;n++){const r=e[e.length-1],s=t[n],i=s.original.startLineNumber-r.original.endLineNumberExclusive,o=s.modified.startLineNumber-r.modified.endLineNumberExclusive;if(i>=0&&o>=0&&i+o<=2){e[e.length-1]=r.join(s);continue}e.push(s)}return e}function To(t,e){const n=new Ut(t);return e=e.filter(r=>{const s=n.findLastMonotonous(l=>l.original.startLineNumber<r.original.endLineNumberExclusive)||new ce(new z(1,1),new z(1,1)),i=Ze(t,l=>l.modified.startLineNumber<r.modified.endLineNumberExclusive);return s!==i}),e}function ni(t,e,n){let r=n;return r=ri(t,e,r),r=ri(t,e,r),r=Fo(t,e,r),r}function ri(t,e,n){if(n.length===0)return n;const r=[];r.push(n[0]);for(let i=1;i<n.length;i++){const o=r[r.length-1];let l=n[i];if(l.seq1Range.isEmpty||l.seq2Range.isEmpty){const u=l.seq1Range.start-o.seq1Range.endExclusive;let c;for(c=1;c<=u&&!(t.getElement(l.seq1Range.start-c)!==t.getElement(l.seq1Range.endExclusive-c)||e.getElement(l.seq2Range. Line truncated
`)}isStronglyEqual(e,n){return this.lines[e]===this.lines[n]}}function oi(t){let e=0;for(;e<t.length&&(t.charCodeAt(e)===32||t.charCodeAt(e)===9);)e++;return e}class qo{constructor(){this.dynamicProgrammingDiffing=new No,this.myersDiffingAlgorithm=new Js}computeDiff(e,n,r){if(e.length<=1&&ao(e,n,(x,y)=>x===y))return new wt([],[],!1);if(e.length===1&&e[0].length===0||n.length===1&&n[0].length===0)return new wt([new Ce(new z(1,e.length+1),new z(1,n.length+1),[new he(new R(1,1,e.length,e[e.length-1].length+1),new R(1,1,n.length,n[n.length-1].length+1))])],[],!1);const s=r.maxComputationTimeMs===0?Lt.instance:new vo(r.maxComputationTimeMs),i=!r.ignoreTrimWhitespace,o=new Map;function l(x){let y=o.get(x);return y===void 0&&(y=o.size,o.set(x,y)),y}const u=e.map(x=>l(x.trim())),c=n.map(x=>l(x.trim())),h=new ai(u,e),m=new ai(c,n),f=h.length+m.length<1700?this.dynamicProgrammingDiffing.compute(h,m,s,(x,y)=>e[x]===n[y]?n[y].length===0?.1:1+Math.log(1+n[y].length):.99):this.myersDiffingAlgorithm.compute(h,m,s);let p=f.diffs,g=f.hitTimeout;p=ni(h,m,p),p=Vo(h,m,p);const d=[],w=x=>{if(i)for(let y=0;y<x;y++){const S=_+y,V=v+y;if(e[S]!==n[V]){const U=this.refineDiff(e,n,new Q(new T(S,S+1),new T(V,V+1)),s,i,r);for(const B of U.mappings)d.push(B);U.hitTimeout&&(g=!0)}}};let _=0,v=0;for(const x of p){ht(()=>x.seq1Range.start-_===x.seq2Range.start-v);const y=x.seq1Range.start-_;w(y),_=x.seq1Range.endExclusive,v=x.seq2Range.endExclusive;const S=this.refineDiff(e,n,x,s,i,r);S.hitTimeout&&(g=!0);for(const V of S.mappings)d.push(V)}w(e.length-_);const L=new $t(e),k=new $t(n),D=Vn(d,L,k);let W=[];return r.computeMoves&&(W=this.computeMoves(D,e,n,u,c,s,i,r)),ht(()=>{function x(S,V){if(S.lineNumber<1||S.lineNumber>V.length)return!1;const U=V[S.lineNumber-1];return!(S.column<1||S.column>U.length+1)}function y(S,V){return!(S.startLineNumber<1||S.startLineNumber>V.length+1||S.endLineNumberExclusive<1||S.endLineNumberExclusive>V.length+1)}for(const S of D){if(!S.innerChanges)return!1;for(const V of S.innerChanges)if(!(x(V.modifiedRange.getStartPosition(),n)&&x(V.modifiedRange.getEndPosition(),n)&&x(V.originalRange.getStartPosition(),e)&&x(V.originalRange.getEndPosition(),e)))return!1;if(!y(S.modified,n)||!y(S.original,e))return!1}return!0}),new wt(D,W,g)}computeMoves(e,n,r,s,i,o,l,u){return Ao(e,n,r,s,i,o).map(m=>{const f=this.refineDiff(n,r,new Q(m.original.toOffsetRange(),m.modified.toOffsetRange()),o,l,u),p=Vn(f.mappings,new $t(n),new $t(r),!0);return new Ws(m,p)})}refineDiff(e,n,r,s,i,o){const u=Uo(r).toRangeMapping2(e,n),c=new jt(e,u.originalRange,i),h=new jt(n,u.modifiedRange,i),m=c.length+h.length<500?this.dynamicProgrammingDiffing.compute(c,h,s):this.myersDiffingAlgorithm.compute(c,h,s);let f=m.diffs;return f=ni(c,h,f),f=ii(c,h,f,(g,d)=>g.findWordContaining(d)),o.extendToSubwords&&(f=ii(c,h,f,(g,d)=>g.findSubWordContaining(d),!0)),f=Do(c,h,f),f=Bo(c,h,f),{mappings:f.map(g=>new he(c.translateRange(g.seq1Range),h.translateRange(g.seq2Range))),hitTimeout:m.hitTimeout}}}function Uo(t){return new ce(new z(t.seq1Range.start+1,t.seq1Range.endExclusive+1),new z(t.seq2Range.start+1,t.seq2Range.endExclusive+1))}var Te;(function(t){t.inMemory="inmemory",t.vscode="vscode",t.internal="private",t.walkThrough="walkThrough",t.walkThroughSnippet="walkThroughSnippet",t.http="http",t.https="https",t.file="file",t.mailto="mailto",t.untitled="untitled",t.data="data",t.command="command",t.vscodeRemote="vscode-remote",t.vscodeRemoteResource="vscode-remote-resource",t.vscodeManagedRemoteResource="vscode-managed-remote-resource",t.vscodeUserData="vscode-userdata",t.vscodeCustomEditor="vscode-custom-editor",t.vscodeNotebookCell="vscode-notebook-cell",t.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",t.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",t.vscodeNotebookCellOutput="vscode-notebook-cell-output",t.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",t.vscodeNotebookMetadata="vscode-notebook-metadata",t.vscodeInteractiveInput="vscode-interactive-input",t.vscodeSettings="vscode-settings",t.vscodeWorkspaceTrust="vscode-workspace-trust",t.vscodeTerminal="vscode-terminal",t.vscodeImageCarousel="vscode-image-carousel",t.vscodeChatCodeBlock="vscode-chat-code-block",t.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",t.vscodeChatEditor="vscode-chat-editor",t.vscodeChatInput="chatSessionInput",t.vscodeLocalChatSession="vscode-chat-session",t.webviewPanel="webview-panel",t.vscodeWebview="vscode-webview",t.vscodeBrowser="vscode-browser",t.extension="extension",t.vscodeFileResource="vscode-file",t.tmp="tmp",t.vsls="vsls",t.vscodeSourceControl="vscode-scm",t.commentsInput="comment",t.codeSetting="code-setting",t.outputChannel="output",t.accessibleView="accessible-view",t.chatEditingSnapshotScheme="chat-editing-snapshot-text-model",t.chatEditingModel="chat-editing-text-model",t.copilotPr="copilot-pr"})(Te||(Te={}));const $o="tkn";class Wo{constructor(){this._hosts=Object.create(null),this._ports=Object.creat Line truncated
`)),i=new Wt(n.join(`
`)),o=this._computer.computeDiff(s.value,i.value,{ignoreTrimWhitespace:!0,computeMoves:r.computeMoves,extendToSubwords:r.extendToSubwords}),l=s.getTransformer(),u=i.getTransformer(),c=[];let h=0;for(const p of o.edits.replacements){const g=p.range.start+h,d=g+p.newText.length,w=l.getRange(new T(p.range.start,p.range.endExclusive)),_=u.getRange(new T(g,d));c.push(new he(w,_)),h+=p.newText.length-(p.range.endExclusive-p.range.start)}const m=Vn(c,s,i),f=[];if(r.computeMoves)for(const p of o.moves){const g=l.getPosition(p.range.original.start),d=l.getPosition(p.range.original.endExclusive),w=u.getPosition(p.range.modified.start),_=u.getPosition(p.range.modified.endExclusive),v=new z(g.lineNumber,d.lineNumber),L=new z(w.lineNumber,_.lineNumber);f.push(new Ws(new ce(v,L),[]))}return new wt(m,f,o.hitTimeout)}}const Xt={getLegacy:()=>new xo,getDefault:()=>new qo,getAdvancedExternal:()=>ci(!1),getAdvancedWasm:()=>ci(!0)};function De(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}class b{constructor(e,n,r,s=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,n))|0,this.b=Math.min(255,Math.max(0,r))|0,this.a=De(Math.max(Math.min(1,s),0),3)}static equals(e,n){return e.r===n.r&&e.g===n.g&&e.b===n.b&&e.a===n.a}}class fe{constructor(e,n,r,s){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=De(Math.max(Math.min(1,n),0),3),this.l=De(Math.max(Math.min(1,r),0),3),this.a=De(Math.max(Math.min(1,s),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.l===n.l&&e.a===n.a}static fromRGBA(e){const n=e.r/255,r=e.g/255,s=e.b/255,i=e.a,o=Math.max(n,r,s),l=Math.min(n,r,s);let u=0,c=0;const h=(l+o)/2,m=o-l;if(m>0){switch(c=Math.min(h<=.5?m/(2*h):m/(2-2*h),1),o){case n:u=(r-s)/m+(r<s?6:0);break;case r:u=(s-n)/m+2;break;case s:u=(n-r)/m+4;break}u*=60,u=Math.round(u)}return new fe(u,c,h,i)}static _hue2rgb(e,n,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(n-e)*6*r:r<1/2?n:r<2/3?e+(n-e)*(2/3-r)*6:e}static toRGBA(e){const n=e.h/360,{s:r,l:s,a:i}=e;let o,l,u;if(r===0)o=l=u=s;else{const c=s<.5?s*(1+r):s+r-s*r,h=2*s-c;o=fe._hue2rgb(h,c,n+1/3),l=fe._hue2rgb(h,c,n),u=fe._hue2rgb(h,c,n-1/3)}return new b(Math.round(o*255),Math.round(l*255),Math.round(u*255),i)}}class rt{constructor(e,n,r,s){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=De(Math.max(Math.min(1,n),0),3),this.v=De(Math.max(Math.min(1,r),0),3),this.a=De(Math.max(Math.min(1,s),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.v===n.v&&e.a===n.a}static fromRGBA(e){const n=e.r/255,r=e.g/255,s=e.b/255,i=Math.max(n,r,s),o=Math.min(n,r,s),l=i-o,u=i===0?0:l/i;let c;return l===0?c=0:i===n?c=((r-s)/l%6+6)%6:i===r?c=(s-n)/l+2:c=(n-r)/l+4,new rt(Math.round(c*60),u,i,e.a)}static toRGBA(e){const{h:n,s:r,v:s,a:i}=e,o=s*r,l=o*(1-Math.abs(n/60%2-1)),u=s-o;let[c,h,m]=[0,0,0];return n<60?(c=o,h=l):n<120?(c=l,h=o):n<180?(h=o,m=l):n<240?(h=l,m=o):n<300?(c=l,m=o):n<=360&&(c=o,m=l),c=Math.round((c+u)*255),h=Math.round((h+u)*255),m=Math.round((m+u)*255),new b(c,h,m,i)}}const O=class O{static fromHex(e){return O.Format.CSS.parseHex(e)||O.red}static equals(e,n){return!e&&!n?!0:!e||!n?!1:e.equals(n)}get hsla(){return this._hsla?this._hsla:fe.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:rt.fromRGBA(this.rgba)}constructor(e){if(e)if(e instanceof b)this.rgba=e;else if(e instanceof fe)this._hsla=e,this.rgba=fe.toRGBA(e);else if(e instanceof rt)this._hsva=e,this.rgba=rt.toRGBA(e);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(e){return!!e&&b.equals(this.rgba,e.rgba)&&fe.equals(this.hsla,e.hsla)&&rt.equals(this.hsva,e.hsva)}getRelativeLuminance(){const e=O._relativeLuminanceForComponent(this.rgba.r),n=O._relativeLuminanceForComponent(this.rgba.g),r=O._relativeLuminanceForComponent(this.rgba.b),s=.2126*e+.7152*n+.0722*r;return De(s,4)}static _relativeLuminanceForComponent(e){const n=e/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){const n=this.getRelativeLuminance(),r=e.getRelativeLuminance();return n>r}isDarkerThan(e){const n=this.getRelativeLuminance(),r=e.getRelativeLuminance();return n<r}lighten(e){return new O(new fe(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*e,this.hsla.a))}darken(e){return new O(new fe(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*e,this.hsla.a))}transparent(e){const{r:n,g:r,b:s,a:i}=this.rgba;return new O(new b(n,r,s,i*e))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new O(new b(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}mix(e,n=.5){const r=Math.min(Math.max(n,0),1),s=this.rgba,i=e.rgba,o=s.r+(i.r-s.r)*r,l=s.g+(i.g-s.g)*r,u=s.b+(i.b-s.b)*r,c=s.a+(i.a-s.a)*r;return new O(new b(o,l,u,c))}makeOpaque(e){if(this.isOpaque()||e.rgba.a!==1)return this;const{r:n,g:r,b:s,a:i}=this.rgba;return new O(new b(e.rgba.r-i*(e.rgba.r-n),e.rgba.g-i*(e.rgba.g-r),e.rgba.b-i*(e.rgba. Line truncated
`);i.lastIndex=0;let h;for(;(h=i.exec(c))!==null;){const m=c.substring(0,h.index),f=(m.match(/\n/g)||[]).length,p=o+f,g=h[0].split(`
`),d=g.length,w=p+d-1,_=m.lastIndexOf(`
`)+1,v=h.index-_+1,L=g[g.length-1],k=d===1?v+h[0].length:L.length+1,D={startLineNumber:p,startColumn:v,endLineNumber:w,endColumn:k},W=(h.groups??{}).label??"",x=((h.groups??{}).separator??"")!=="",y={range:D,text:W,hasSeparatorLine:x,shouldBeInComments:!0};(y.text||y.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<y.range.startLineNumber)&&n.push(y),i.lastIndex=h.index+h[0].length}}return n}function l1(t){t=t.trim();const e=t.startsWith("-");return t=t.replace(r1,""),{text:t,hasSeparatorLine:e}}class gi{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,n)=>{this.completeCallback=e,this.errorCallback=n})}complete(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.completeCallback(e),this.outcome={outcome:0,value:e},n()})}error(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.errorCallback(e),this.outcome={outcome:1,value:e},n()})}cancel(){return this.error(new Kn)}}var pi;(function(t){async function e(r){let s;const i=await Promise.all(r.map(o=>o.then(l=>l,l=>{s||(s=l)})));if(typeof s<"u")throw s;return i}t.settled=e;function n(r){return new Promise(async(s,i)=>{try{await r(s,i)}catch(o){i(o)}})}t.withAsyncBody=n})(pi||(pi={}));class u1{constructor(){this._unsatisfiedConsumers=[],this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(e){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){const n=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(n,e)}else this._unconsumedValues.push(e)}produceFinal(e){this._ensureNoFinalValue(),this._finalValue=e;for(const n of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(n,e);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new Y("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(e,n){n.ok?e.complete(n.value):e.error(n.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){const e=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return e.ok?Promise.resolve(e.value):Promise.reject(e.error)}else{const e=new gi;return this._unsatisfiedConsumers.push(e),e.p}}}const re=class re{constructor(e,n){this._onReturn=n,this._producerConsumer=new u1,this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async r=>(this._finishError(r),{done:!0,value:void 0})},queueMicrotask(async()=>{const r=e({emitOne:s=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:s}}),emitMany:s=>{for(const i of s)this._producerConsumer.produce({ok:!0,value:{done:!1,value:i}})},reject:s=>this._finishError(s)});if(!this._producerConsumer.hasFinalValue)try{await r,this._finishOk()}catch(s){this._finishError(s)}})}static fromArray(e){return new re(n=>{n.emitMany(e)})}static fromPromise(e){return new re(async n=>{n.emitMany(await e)})}static fromPromisesResolveOrder(e){return new re(async n=>{await Promise.all(e.map(async r=>n.emitOne(await r)))})}static merge(e){return new re(async n=>{await Promise.all(e.map(async r=>{for await(const s of r)n.emitOne(s)}))})}static map(e,n){return new re(async r=>{for await(const s of e)r.emitOne(n(s))})}static tee(e){let n,r;const s=new gi,i=async()=>{if(!(!n||!r))try{for await(const u of e)n.emitOne(u),r.emitOne(u)}catch(u){n.reject(u),r.reject(u)}finally{s.complete()}},o=new re(async u=>(n=u,i(),s.p)),l=new re(async u=>(r=u,i(),s.p));return[o,l]}map(e){return re.map(this,e)}static coalesce(e){return re.filter(e,n=>!!n)}coalesce(){return re.coalesce(this)}static filter(e,n){return new re(async r=>{for await(const s of e)n(s)&&r.emitOne(s)})}filter(e){return re.filter(this,e)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(e){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:e})}[Symbol.asyncIterator](){return this._iterator}};re.EMPTY=re.fromArray([]);let bi=re;class c1{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,n){e=Qe(e);const r=this.values,s=this.prefixSum,i=n.length;return i===0?!1:(this.values=new Uint32Array(r.length+i),this.values.set(r.subarray(0,e),0),this.values.set(r.subarray(e),e+i),this.values.set(n,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(s.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,n){return e=Qe(e),n=Qe(n),this.values[e]===n?!1:(this.values[e]=n,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,n){e=Qe(e),n=Qe(n);const r=this.values,s=this.prefixSum;if(e>=r.length)return!1;const i=r.length-e;return n>=i&&(n=i),n===0?!1:(this.values=new Uint32Array(r.length- Line truncated
@@ -0,0 +1,30 @@
(function(){"use strict";class pi{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?ze.isErrorNoTelemetry(e)?new ze(e.message+`
`+e.stack):new Error(e.message+`
`+e.stack):e},0)}}emit(e){this.listeners.forEach(n=>{n(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const Jn=new pi;function Rt(t){Yn(t)||Jn.onUnexpectedError(t)}function bi(t){Yn(t)||Jn.onUnexpectedExternalError(t)}function Kt(t){if(t instanceof Error){const{name:e,message:n,cause:r}=t,s=t.stacktrace||t.stack;return{$isError:!0,name:e,message:n,stack:s,noTelemetry:ze.isErrorNoTelemetry(t),cause:r?Kt(r):void 0,code:t.code}}return t}const en="Canceled";function Yn(t){return t instanceof Zn?!0:t instanceof Error&&t.name===en&&t.message===en}class Zn extends Error{constructor(){super(en),this.name=this.message}}class ze extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof ze)return e;const n=new ze;return n.message=e.message,n.stack=e.stack,n}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class Y extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,Y.prototype)}}function wi(t,e="Unreachable"){throw new Error(e)}function xi(t,e="unexpected state"){if(!t)throw typeof e=="string"?new Y(`Assertion Failed: ${e}`):e}function ht(t){if(!t()){debugger;t(),Rt(new Y("Assertion Failed"))}}function tn(t,e){let n=0;for(;n<t.length-1;){const r=t[n],s=t[n+1];if(!e(r,s))return!1;n++}return!0}function yi(t){return typeof t=="string"}function Li(t){return!!t&&typeof t[Symbol.iterator]=="function"}var Ct;(function(t){function e(x){return!!x&&typeof x=="object"&&typeof x[Symbol.iterator]=="function"}t.is=e;const n=Object.freeze([]);function r(){return n}t.empty=r;function*s(x){yield x}t.single=s;function i(x){return e(x)?x:s(x)}t.wrap=i;function o(x){return x??n}t.from=o;function*l(x){for(let y=x.length-1;y>=0;y--)yield x[y]}t.reverse=l;function u(x){return!x||x[Symbol.iterator]().next().done===!0}t.isEmpty=u;function c(x){return x[Symbol.iterator]().next().value}t.first=c;function m(x,y){let S=0;for(const V of x)if(y(V,S++))return!0;return!1}t.some=m;function h(x,y){let S=0;for(const V of x)if(!y(V,S++))return!1;return!0}t.every=h;function f(x,y){for(const S of x)if(y(S))return S}t.find=f;function*p(x,y){for(const S of x)y(S)&&(yield S)}t.filter=p;function*g(x,y){let S=0;for(const V of x)yield y(V,S++)}t.map=g;function*d(x,y){let S=0;for(const V of x)yield*y(V,S++)}t.flatMap=d;function*w(...x){for(const y of x)Li(y)?yield*y:yield y}t.concat=w;function _(x,y,S){let V=S;for(const U of x)V=y(V,U);return V}t.reduce=_;function v(x){let y=0;for(const S of x)y++;return y}t.length=v;function*L(x,y,S=x.length){for(y<-x.length&&(y=0),y<0&&(y+=x.length),S<0?S+=x.length:S>x.length&&(S=x.length);y<S;y++)yield x[y]}t.slice=L;function k(x,y=Number.POSITIVE_INFINITY){const S=[];if(y===0)return[S,x];const V=x[Symbol.iterator]();for(let U=0;U<y;U++){const B=V.next();if(B.done)return[S,t.empty()];S.push(B.value)}return[S,{[Symbol.iterator](){return V}}]}t.consume=k;async function D(x){const y=[];for await(const S of x)y.push(S);return y}t.asyncToArray=D;async function W(x){let y=[];for await(const S of x)y=y.concat(S);return y}t.asyncToArrayFlat=W})(Ct||(Ct={}));function b1(t,e){}function Kn(t){if(Ct.is(t)){const e=[];for(const n of t)if(n)try{n.dispose()}catch(r){e.push(r)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function _i(...t){return mt(()=>Kn(t))}class vi{constructor(e){this._isDisposed=!1,this._fn=e}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,this._fn()}}}function mt(t){return new vi(t)}const Xt=class Xt{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Kn(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e||e===Ie.None)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Xt.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}};Xt.DISABLE_DISPOSED_WARNING=!1;let ft=Xt;const Xn=class Xn{constructor(){this._store=new ft,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};Xn.None=Object.freeze({dispose(){}});let Ie=Xn;const it=class it{constructor(e){this.element=e,this.next=it.Undefined,this.prev=it.Undefined}};it.Undefined=new it(void 0);let X=it;class Ni{constructor(){this._first=X.Undefined,this._last=X.Unde Line truncated
`).slice(2).join(`
`))}}class Pt extends Error{constructor(e,n,r,s,i){super(i?`[${i}] potential listener LEAK detected, ${e}`:`potential listener LEAK detected, ${e}`),this.name="ListenerLeakError",this.kind=e,this.listenerCount=s,this.details=n,this.stack=r}static is(e){return e instanceof Pt||e instanceof Error&&typeof e.kind=="string"&&typeof e.listenerCount=="number"}}class Ui extends Pt{constructor(e,n,r,s,i){super(e,n,r,s,i),this.name="ListenerRefusalError"}}class mn{constructor(e){this.value=e}}const $i=2;class ge{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new hn(e?.onListenerError??Rt,this._options?.leakWarningThreshold??qi,this._options?.leakWarningName):void 0,this._perfMon=this._options?._profName?new cn(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,n,r)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const l=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(l);const u=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],c=u[1]/this._size>.3?"dominated":"popular",m=new Ui(c,`${l}. HINT: Stack shows most frequent listener (${u[1]}-times)`,u[0],this._size,this._options?.leakWarningName);return(this._options?.onListenerError||Rt)(m),Ie.None}if(this._disposed)return Ie.None;n&&(e=e.bind(n));const s=new mn(e);let i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(s.stack=Mt.create(),i=this._leakageMon.check(s.stack,this._size+1)),this._listeners?this._listeners instanceof mn?(this._deliveryQueue??=new Wi,this._listeners=[this._listeners,s]):this._listeners.push(s):(this._options?.onWillAddFirstListener?.(this),this._listeners=s,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;const o=mt(()=>{i?.(),this._removeListener(s)});return fn(o,r),o},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const n=this._listeners,r=n.indexOf(e);if(r===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,n[r]=void 0;const s=this._deliveryQueue.current===this;if(this._size*$i<=n.length){let i=0;for(let o=0;o<n.length;o++)n[o]?n[i++]=n[o]:s&&i<this._deliveryQueue.end&&(this._deliveryQueue.end--,i<this._deliveryQueue.i&&this._deliveryQueue.i--);n.length=i}}_deliver(e,n){if(!e)return;const r=this._options?.onListenerError||Rt;if(!r){e.value(n);return}try{e.value(n)}catch(s){r(s)}}_deliverQueue(e){const n=e.current._listeners;for(;e.i<e.end;)this._deliver(n[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof mn)this._deliver(this._listeners,e);else{const n=this._deliveryQueue;n.enqueue(this,e,this._listeners.length),this._deliverQueue(n)}this._perfMon?.stop()}hasListeners(){return this._size>0}}class Wi{constructor(){this.i=-1,this.end=0}enqueue(e,n,r){this.i=0,this.end=r,this.current=e,this.value=n}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}function fn(t,e){e instanceof ft?e.add(t):Array.isArray(e)&&e.push(t)}function or(t,e){if(e instanceof ft)e.delete(t);else if(Array.isArray(e)){const n=e.indexOf(t);n!==-1&&e.splice(n,1)}t.dispose()}function Hi(t){return t}class zi{constructor(e,n){this.lastCache=void 0,this.lastArgKey=void 0,typeof e=="function"?(this._fn=e,this._computeKey=Hi):(this._fn=n,this._computeKey=e.getCacheKey)}get(e){const n=this._computeKey(e);return this.lastArgKey!==n&&(this.lastArgKey=n,this.lastCache=this._fn(e)),this.lastCache}}var Ve;(function(t){t[t.Uninitialized=0]="Uninitialized",t[t.Running=1]="Running",t[t.Completed=2]="Completed"})(Ve||(Ve={}));class dn{constructor(e){this.executor=e,this._state=Ve.Uninitialized}get value(){if(this._state===Ve.Uninitialized){this._state=Ve.Running;try{this._value=this.executor()}catch(e){this._error=e}finally{this._state=Ve.Completed}}else if(this._state===Ve.Running)throw new Error("Cannot read the value of a lazy that is being initialized");if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}function Oi(t){return t.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function ji(t){return t.source==="^"||t.source==="^$"||t.source==="$"||t.source==="^\\s*$"?!1:!!(t.exec("")&&t.lastIndex===0)}function Gi(t){re Line truncated
`||t===" "}class wt{constructor(e,n,r){this.changes=e,this.moves=n,this.hitTimeout=r}}class Us{constructor(e,n){this.lineRangeMapping=e,this.changes=n}}function io(t,e,n=(r,s)=>r===s){if(t===e)return!0;if(!t||!e||t.length!==e.length)return!1;for(let r=0,s=t.length;r<s;r++)if(!n(t[r],e[r]))return!1;return!0}function*ao(t,e){let n,r;for(const s of t)r!==void 0&&e(r,s)?n.push(s):(n&&(yield n),n=[s]),r=s;n&&(yield n)}function oo(t,e){for(let n=0;n<=t.length;n++)e(n===0?void 0:t[n-1],n===t.length?void 0:t[n])}function lo(t,e){for(let n=0;n<t.length;n++)e(n===0?void 0:t[n-1],t[n],n+1===t.length?void 0:t[n+1])}function uo(t,e){for(const n of e)t.push(n)}var Dn;(function(t){function e(i){return i<0}t.isLessThan=e;function n(i){return i<=0}t.isLessThanOrEqual=n;function r(i){return i>0}t.isGreaterThan=r;function s(i){return i===0}t.isNeitherLessOrGreaterThan=s,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(Dn||(Dn={}));function Ye(t,e){return(n,r)=>e(t(n),t(r))}const xt=(t,e)=>t-e;function co(t){return(e,n)=>-t(e,n)}const ut=class ut{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(n=>(e.push(n),!0)),e}filter(e){return new ut(n=>this.iterate(r=>e(r)?n(r):!0))}map(e){return new ut(n=>this.iterate(r=>n(e(r))))}findLast(e){let n;return this.iterate(r=>(e(r)&&(n=r),!0)),n}findLastMaxBy(e){let n,r=!0;return this.iterate(s=>((r||Dn.isGreaterThan(e(s,n)))&&(r=!1,n=s),!0)),n}};ut.empty=new ut(e=>{});let $s=ut;class T{static fromTo(e,n){return new T(e,n)}static addRange(e,n){let r=0;for(;r<n.length&&n[r].endExclusive<e.start;)r++;let s=r;for(;s<n.length&&n[s].start<=e.endExclusive;)s++;if(r===s)n.splice(r,0,e);else{const i=Math.min(e.start,n[r].start),o=Math.max(e.endExclusive,n[s-1].endExclusive);n.splice(r,s-r,new T(i,o))}}static tryCreate(e,n){if(!(e>n))return new T(e,n)}static ofLength(e){return new T(0,e)}static ofStartAndLength(e,n){return new T(e,e+n)}static emptyAt(e){return new T(e,e)}constructor(e,n){if(this.start=e,this.endExclusive=n,e>n)throw new Y(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new T(this.start+e,this.endExclusive+e)}deltaStart(e){return new T(this.start+e,this.endExclusive)}deltaEnd(e){return new T(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}containsRange(e){return this.start<=e.start&&e.endExclusive<=this.endExclusive}contains(e){return this.start<=e&&e<this.endExclusive}join(e){return new T(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);if(n<=r)return new T(n,r)}intersectionLength(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return Math.max(0,r-n)}intersects(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return n<r}intersectsOrTouches(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return n<=r}isBefore(e){return this.endExclusive<=e.start}isAfter(e){return this.start>=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new Y(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new Y(`Invalid clipping range: ${this.toString()}`);return e<this.start?this.endExclusive-(this.start-e)%this.length:e>=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let n=this.start;n<this.endExclusive;n++)e(n)}joinRightTouching(e){if(this.endExclusive!==e.start)throw new Y(`Invalid join: ${this.toString()} and ${e.toString()}`);return new T(this.start,e.endExclusive)}withMargin(e,n){return n===void 0&&(n=e),new T(this.start-e,this.endExclusive+n)}}function Ze(t,e){const n=Ke(t,e);return n===-1?void 0:t[n]}function Ke(t,e,n=0,r=t.length){let s=n,i=r;for(;s<i;){const o=Math.floor((s+i)/2);e(t[o])?s=o+1:i=o}return s-1}function ho(t,e){const n=In(t,e);return n===t.length?void 0:t[n]}function In(t,e,n=0,r=t.length){let s=n,i=r;for(;s<i;){const o=Math.floor((s+i)/2);e(t[o])?i=o:s=o+1}return s}const Yt=class Yt{constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(Yt.assertInvariants){if(this._prevFindLastPredicate){for(const r of this._array)if(this._prevFindLastPredicate(r)&&!e(r))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=e}const n=Ke(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=n+1,n===-1?void 0:this._array[n]}};Yt.assertInvariants=!1;let qt=Yt;const me=class me{static ofLength(e,n){return new me(e,e+n)}static fromRange(e){return new me(e.sta Line truncated
`?(n++,r=0):r++;return new we(n,r)}constructor(e,n){this.lineCount=e,this.columnCount=n}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}add(e){return e.lineCount===0?new we(this.lineCount,this.columnCount+e.columnCount):new we(this.lineCount+e.lineCount,e.columnCount)}createRange(e){return this.lineCount===0?new R(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new R(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}toRange(){return new R(1,1,this.lineCount+1,this.columnCount+1)}toLineRange(){return z.ofLength(1,this.lineCount+1)}addToPosition(e){return this.lineCount===0?new q(e.lineNumber,e.column+this.columnCount):new q(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}};we.zero=new we(0,0);let Pe=we;class mo{getOffsetRange(e){return new T(this.getOffset(e.getStartPosition()),this.getOffset(e.getEndPosition()))}getRange(e){return R.fromPositions(this.getPosition(e.start),this.getPosition(e.endExclusive))}getStringReplacement(e){return new qe.deps.StringReplacement(this.getOffsetRange(e.range),e.text)}getTextReplacement(e){return new qe.deps.TextReplacement(this.getRange(e.replaceRange),e.newText)}getTextEdit(e){const n=e.replacements.map(r=>this.getTextReplacement(r));return new qe.deps.TextEdit(n)}}const Qn=class Qn{static get deps(){if(!this._deps)throw new Error("Dependencies not set. Call _setDependencies first.");return this._deps}};Qn._deps=void 0;let qe=Qn;function fo(t){qe._deps=t}class Ws extends mo{constructor(e){super(),this.text=e}get lineStartOffsetByLineIdx(){return this._lineStartOffsetByLineIdx||this._computeLineOffsets(),this._lineStartOffsetByLineIdx}get lineEndOffsetByLineIdx(){return this._lineEndOffsetByLineIdx||this._computeLineOffsets(),this._lineEndOffsetByLineIdx}_computeLineOffsets(){this._lineStartOffsetByLineIdx=[],this._lineEndOffsetByLineIdx=[],this._lineStartOffsetByLineIdx.push(0);for(let e=0;e<this.text.length;e++)this.text.charAt(e)===`
`&&(this._lineStartOffsetByLineIdx.push(e+1),e>0&&this.text.charAt(e-1)==="\r"?this._lineEndOffsetByLineIdx.push(e-1):this._lineEndOffsetByLineIdx.push(e));this._lineEndOffsetByLineIdx.push(this.text.length)}getOffset(e){const n=this._validatePosition(e);return this.lineStartOffsetByLineIdx[n.lineNumber-1]+n.column-1}_validatePosition(e){if(e.lineNumber<1)return new q(1,1);const n=this.textLength.lineCount+1;if(e.lineNumber>n){const s=this.getLineLength(n);return new q(n,s+1)}if(e.column<1)return new q(e.lineNumber,1);const r=this.getLineLength(e.lineNumber);return e.column-1>r?new q(e.lineNumber,r+1):e}getPosition(e){const n=Ke(this.lineStartOffsetByLineIdx,i=>i<=e),r=n+1,s=e-this.lineStartOffsetByLineIdx[n]+1;return new q(r,s)}get textLength(){const e=this.lineStartOffsetByLineIdx.length-1;return new qe.deps.TextLength(e,this.text.length-this.lineStartOffsetByLineIdx[e])}getLineLength(e){return this.lineEndOffsetByLineIdx[e-1]-this.lineStartOffsetByLineIdx[e-1]}}class Hs{constructor(){this._transformer=void 0}get endPositionExclusive(){return this.length.addToPosition(new q(1,1))}get lineRange(){return this.length.toLineRange()}getValue(){return this.getValueOfRange(this.length.toRange())}getValueOfOffsetRange(e){return this.getValueOfRange(this.getTransformer().getRange(e))}getLineLength(e){return this.getValueOfRange(new R(e,1,e,Number.MAX_SAFE_INTEGER)).length}getTransformer(){return this._transformer||(this._transformer=new Ws(this.getValue())),this._transformer}getLineAt(e){return this.getValueOfRange(new R(e,1,e,Number.MAX_SAFE_INTEGER))}}class go extends Hs{constructor(e,n){xi(n>=1),super(),this._getLineContent=e,this._lineCount=n}getValueOfRange(e){if(e.startLineNumber===e.endLineNumber)return this._getLineContent(e.startLineNumber).substring(e.startColumn-1,e.endColumn-1);let n=this._getLineContent(e.startLineNumber).substring(e.startColumn-1);for(let r=e.startLineNumber+1;r<e.endLineNumber;r++)n+=`
`+this._getLineContent(r);return n+=`
`+this._getLineContent(e.endLineNumber).substring(0,e.endColumn-1),n}getLineLength(e){return this._getLineContent(e).length}get length(){const e=this._getLineContent(this._lineCount);return new Pe(this._lineCount-1,e.length)}}class Ut extends go{constructor(e){super(n=>e[n-1],e.length)}}class $t extends Hs{constructor(e){super(),this.value=e,this._t=new Ws(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}getTransformer(){return this._t}}class Wt{static fromStringEdit(e,n){const r=e.replacements.map(s=>be.fromStringReplacement(s,n));return new Wt(r)}static fromParallelReplacementsUnsorted(e){const n=e.slice().sort(Ye(r=>r.range,R.compareRangesUsingStarts));return new Wt(n)}constructor(e){this.replacements=e,ht(()=>tn(e,(n,r)=>n.range.getEndPosition().isBeforeOrEqual(r.range.getStartPosition())))}mapPosition(e){let n=0,r=0,s=0;for(const i of this.replacements){const o=i.range.getStartPosition();if(e.isBeforeOrEqual(o))break;const l=i.range.getEndPosition(),u=Pe.ofText(i.text);if(e.isBefore(l)){const c=new q(o.lineNumber+n,o.column+(o.lineNumber+n===r?s:0)),m=u.addToPosition(c);return Ht(c,m)}o.lineNumber+n!==r&&(s=0),n+=u.lineCount-(i.range.endLineNumber-i.range.startLineNumber),u.lineCount===0?l.lineNumber!==o.lineNumber?s+=u.columnCount-(l.column-1):s+=u.columnCount-(l.column-o.column):s=u.columnCount,r=l.lineNumber+n}return new q(e.lineNumber+n,e.column+(e.lineNumber+n===r?s:0))}mapRange(e){function n(o){return o instanceof q?o:o.getStartPosition()}function r(o){return o instanceof q?o:o.getEndPosition()}const s=n(this.mapPosition(e.getStartPosition())),i=r(this.mapPosition(e.getEndPosition()));return Ht(s,i)}apply(e){let n="",r=new q(1,1);for(const i of this.replacements){const o=i.range,l=o.getStartPosition(),u=o.getEndPosition(),c=Ht(r,l);c.isEmpty()||(n+=e.getValueOfRange(c)),n+=i.text,r=u}const s=Ht(r,e.endPositionExclusive);return s.isEmpty()||(n+=e.getValueOfRange(s)),n}applyToString(e){const n=new $t(e);return this.apply(n)}getNewRanges(){const e=[];let n=0,r=0,s=0;for(const i of this.replacements){const o=Pe.ofText(i.text),l=q.lift({lineNumber:i.range.startLineNumber+r,column:i.range.startColumn+(i.range.startLineNumber===n?s:0)}),u=o.createRange(l);e.push(u),r=u.endLineNumber-i.range.endLineNumber,s=u.endColumn-i.range.endColumn,n=i.range.endLineNumber}return e}toReplacement(e){if(this.replacements.length===0)throw new Y;if(this.replacements.length===1)return this.replacements[0];const n=this.replacements[0].range.getStartPosition(),r=this.replacements[this.replacements.length-1].range.getEndPosition();let s="";for(let i=0;i<this.replacements.length;i++){const o=this.replacements[i];if(s+=o.text,i<this.replacements.length-1){const l=this.replacements[i+1],u=R.fromPositions(o.range.getEndPosition(),l.range.getStartPosition()),c=e.getValueOfRange(u);s+=c}}return new be(R.fromPositions(n,r),s)}toString(e){return e===void 0?this.replacements.map(n=>n.toString()).join(`
`):typeof e=="string"?this.toString(new $t(e)):this.replacements.length===0?"":this.replacements.map(n=>{const s=e.getValueOfRange(n.range),i=R.fromPositions(new q(Math.max(1,n.range.startLineNumber-1),1),n.range.getStartPosition());let o=e.getValueOfRange(i);o.length>10&&(o="..."+o.substring(o.length-10));const l=R.fromPositions(n.range.getEndPosition(),new q(n.range.endLineNumber+1,1));let u=e.getValueOfRange(l);u.length>10&&(u=u.substring(0,10)+"...");let c=s;if(c.length>10){const h=Math.floor(5);c=c.substring(0,h)+"..."+c.substring(c.length-h)}let m=n.text;if(m.length>10){const h=Math.floor(5);m=m.substring(0,h)+"..."+m.substring(m.length-h)}return c.length===0?`${o}❰${m}❱${u}`:`${o}❰${c}↦${m}❱${u}`}).join(`
`)}}class be{static joinReplacements(e,n){if(e.length===0)throw new Y;if(e.length===1)return e[0];const r=e[0].range.getStartPosition(),s=e[e.length-1].range.getEndPosition();let i="";for(let o=0;o<e.length;o++){const l=e[o];if(i+=l.text,o<e.length-1){const u=e[o+1],c=R.fromPositions(l.range.getEndPosition(),u.range.getStartPosition()),m=n.getValueOfRange(c);i+=m}}return new be(R.fromPositions(r,s),i)}static fromStringReplacement(e,n){return new be(n.getTransformer().getRange(e.replaceRange),e.newText)}static delete(e){return new be(e,"")}constructor(e,n){this.range=e,this.text=n}get isEmpty(){return this.range.isEmpty()&&this.text.length===0}static equals(e,n){return e.range.equalsRange(n.range)&&e.text===n.text}equals(e){return be.equals(this,e)}removeCommonPrefixAndSuffix(e){return this.removeCommonPrefix(e).removeCommonSuffix(e)}removeCommonPrefix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
`,`
`),r=this.text.replaceAll(`\r
`,`
`),s=gn(n,r),i=Pe.ofText(n.substring(0,s)).addToPosition(this.range.getStartPosition()),o=r.substring(s),l=R.fromPositions(i,this.range.getEndPosition());return new be(l,o)}removeCommonSuffix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
`,`
`),r=this.text.replaceAll(`\r
`,`
`),s=pn(n,r),i=Pe.ofText(n.substring(0,n.length-s)).addToPosition(this.range.getStartPosition()),o=r.substring(0,r.length-s),l=R.fromPositions(this.range.getStartPosition(),i);return new be(l,o)}toString(){const e=this.range.getStartPosition(),n=this.range.getEndPosition();return`(${e.lineNumber},${e.column} -> ${n.lineNumber},${n.column}): "${this.text}"`}}function Ht(t,e){if(t.lineNumber===e.lineNumber&&t.column===Number.MAX_SAFE_INTEGER)return R.fromPositions(e,e);if(!t.isBeforeOrEqual(e))throw new Y("start must be before end");return new R(t.lineNumber,t.column,e.lineNumber,e.column)}class ce{static inverse(e,n,r){const s=[];let i=1,o=1;for(const u of e){const c=new ce(new z(i,u.original.startLineNumber),new z(o,u.modified.startLineNumber));c.modified.isEmpty||s.push(c),i=u.original.endLineNumberExclusive,o=u.modified.endLineNumberExclusive}const l=new ce(new z(i,n+1),new z(o,r+1));return l.modified.isEmpty||s.push(l),s}static clip(e,n,r){const s=[];for(const i of e){const o=i.original.intersect(n),l=i.modified.intersect(r);o&&!o.isEmpty&&l&&!l.isEmpty&&s.push(new ce(o,l))}return s}constructor(e,n){this.original=e,this.modified=n}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new ce(this.modified,this.original)}join(e){return new ce(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),n=this.modified.toInclusiveRange();if(e&&n)return new he(e,n);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new Y("not a valid diff");return new he(new R(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new R(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new he(new R(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new R(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,n){if(zs(this.original.endLineNumberExclusive,e)&&zs(this.modified.endLineNumberExclusive,n))return new he(new R(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new R(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new he(R.fromPositions(new q(this.original.startLineNumber,1),et(new q(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),R.fromPositions(new q(this.modified.startLineNumber,1),et(new q(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new he(R.fromPositions(et(new q(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),et(new q(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),R.fromPositions(et(new q(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),n),et(new q(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));throw new Y}}function et(t,e){if(t.lineNumber<1)return new q(1,1);if(t.lineNumber>e.length)return new q(e.length,e[e.length-1].length+1);const n=e[t.lineNumber-1];return t.column>n.length+1?new q(t.lineNumber,n.length+1):t}function zs(t,e){return t>=1&&t<=e.length}class Ce extends ce{static fromRangeMappings(e){const n=z.join(e.map(s=>z.fromRangeInclusive(s.originalRange))),r=z.join(e.map(s=>z.fromRangeInclusive(s.modifiedRange)));return new Ce(n,r,e)}constructor(e,n,r){super(e,n),this.innerChanges=r}flip(){return new Ce(this.modified,this.original,this.innerChanges?.map(e=>e.flip()))}withInnerChangesFromLineRanges(){return new Ce(this.original,this.modified,[this.toRangeMapping()])}}class he{static fromEdit(e){const n=e.getNewRanges();return e.replacements.map((s,i)=>new he(s.range,n[i]))}static assertSorted(e){for(let n=1;n<e.length;n++){const r=e[n-1],s=e[n];if(!(r.originalRange.getEndPosition().isBeforeOrEqual(s.originalRange.getStartPosition())&&r.modifiedRange.getEndPosition().isBeforeOrEqual(s.modifiedRange.getStartPosition())))throw new Y("Range mappings must be sorted")}}constructor(e,n){this.originalRange=e,this.modifiedRange=n}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new he(this.modifiedRange,this.originalRange)}toTextEdit(e){const n=e.getValueOfRange(this.modifiedRange);return new be(this.originalRange,n)}}function Vn(t,e,n,r=!1){const s=[];for(const i of ao(t.map(o=>po(o,e,n)),(o,l)=>o.original.intersectsOrTouches(l.original)||o.modified.intersectsOrTouches(l.modified))){const o=i[0],l=i[i.length-1];s.push(new Ce(o.original.join(l.original),o.modified.join(l.modified),i.map(u=>u.innerChanges[0])))}return ht(()=>!r&&s.length>0&&(s[0].modified.startLineNumber!==s[0].original.startLineNumber||n.length.lineCount-s[s.length-1].modified.endLineNumberExclusive!==e.length.line Line truncated
`);this.histogram[l]=(this.histogram[l]||0)+1}this.totalCount=s}computeSimilarity(e){let n=0;const r=Math.max(this.histogram.length,e.histogram.length);for(let s=0;s<r;s++)n+=Math.abs((this.histogram[s]??0)-(e.histogram[s]??0));return 1-n/(this.totalCount+e.totalCount)}};Nt.chrKeys=new Map;let zt=Nt;class vo{compute(e,n,r=Lt.instance,s){if(e.length===0||n.length===0)return Ae.trivial(e,n);const i=new Un(e.length,n.length),o=new Un(e.length,n.length),l=new Un(e.length,n.length);for(let g=0;g<e.length;g++)for(let d=0;d<n.length;d++){if(!r.isValid())return Ae.trivialTimedOut(e,n);const w=g===0?0:i.get(g-1,d),_=d===0?0:i.get(g,d-1);let v;e.getElement(g)===n.getElement(d)?(g===0||d===0?v=0:v=i.get(g-1,d-1),g>0&&d>0&&o.get(g-1,d-1)===3&&(v+=l.get(g-1,d-1)),v+=s?s(g,d):1):v=-1;const L=Math.max(w,_,v);if(L===v){const k=g>0&&d>0?l.get(g-1,d-1):0;l.set(g,d,k+1),o.set(g,d,3)}else L===w?(l.set(g,d,0),o.set(g,d,1)):L===_&&(l.set(g,d,0),o.set(g,d,2));i.set(g,d,L)}const u=[];let c=e.length,m=n.length;function h(g,d){(g+1!==c||d+1!==m)&&u.push(new Q(new T(g+1,c),new T(d+1,m))),c=g,m=d}let f=e.length-1,p=n.length-1;for(;f>=0&&p>=0;)o.get(f,p)===3?(h(f,p),f--,p--):o.get(f,p)===1?f--:p--;return h(-1,-1),u.reverse(),new Ae(u,!1)}}class Xs{compute(e,n,r=Lt.instance){if(e.length===0||n.length===0)return Ae.trivial(e,n);const s=e,i=n;function o(d,w){for(;d<s.length&&w<i.length&&s.getElement(d)===i.getElement(w);)d++,w++;return d}let l=0;const u=new No;u.set(0,o(0,0));const c=new So;c.set(0,u.get(0)===0?null:new Qs(null,0,0,u.get(0)));let m=0;e:for(;;){if(l++,!r.isValid())return Ae.trivialTimedOut(s,i);const d=-Math.min(l,i.length+l%2),w=Math.min(l,s.length+l%2);for(m=d;m<=w;m+=2){const _=m===w?-1:u.get(m+1),v=m===d?-1:u.get(m-1)+1,L=Math.min(Math.max(_,v),s.length),k=L-m;if(L>s.length||k>i.length)continue;const D=o(L,k);u.set(m,D);const W=L===_?c.get(m+1):c.get(m-1);if(c.set(m,D!==L?new Qs(W,L,k,D-L):W),u.get(m)===s.length&&u.get(m)-m===i.length)break e}}let h=c.get(m);const f=[];let p=s.length,g=i.length;for(;;){const d=h?h.x+h.length:0,w=h?h.y+h.length:0;if((d!==p||w!==g)&&f.push(new Q(new T(d,p),new T(w,g))),!h)break;p=h.x,g=h.y,h=h.prev}return f.reverse(),new Ae(f,!1)}}class Qs{constructor(e,n,r,s){this.prev=e,this.x=n,this.y=r,this.length=s}}class No{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const r=this.negativeArr;this.negativeArr=new Int32Array(r.length*2),this.negativeArr.set(r)}this.negativeArr[e]=n}else{if(e>=this.positiveArr.length){const r=this.positiveArr;this.positiveArr=new Int32Array(r.length*2),this.positiveArr.set(r)}this.positiveArr[e]=n}}}class So{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){e<0?(e=-e-1,this.negativeArr[e]=n):this.positiveArr[e]=n}}class Ot{constructor(e,n,r){this.lines=e,this.range=n,this.considerWhitespaceChanges=r,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let s=this.range.startLineNumber;s<=this.range.endLineNumber;s++){let i=e[s-1],o=0;s===this.range.startLineNumber&&this.range.startColumn>1&&(o=this.range.startColumn-1,i=i.substring(o)),this.lineStartOffsets.push(o);let l=0;if(!r){const c=i.trimStart();l=i.length-c.length,i=c.trimEnd()}this.trimmedWsLengthsByLineIdx.push(l);const u=s===this.range.endLineNumber?Math.min(this.range.endColumn-1-o-l,i.length):i.length;for(let c=0;c<u;c++)this.elements.push(i.charCodeAt(c));s<this.range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new T(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map(n=>String.fromCharCode(n)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const n=Zs(e>0?this.elements[e-1]:-1),r=Zs(e<this.elements.length?this.elements[e]:-1);if(n===7&&r===8)return 0;if(n===8)return 150;let s=0;return n!==r&&(s+=10,n===0&&r===1&&(s+=1)),s+=Ys(n),s+=Ys(r),s}translateOffset(e,n="right"){const r=Ke(this.firstElementOffsetByLineIdx,i=>i<=e),s=e-this.firstElementOffsetByLineIdx[r];return new q(this.range.startLineNumber+r,1+this.lineStartOffsets[r]+s+(s===0&&n==="left"?0:this.trimmedWsLengthsByLineIdx[r]))}translateRange(e){const n=this.translateOffset(e.start,"right"),r=this.translateOffset(e.endExclusive,"left");return r.isBefore(n)?R.fromPositions(r,r):R.fromPositions(n,r)}findWordContaining(e){if(e<0||e>=this.elements.length||!nt(this.elements[e]))return;let n=e;for(;n>0&&nt(this.elements[n-1]);)n--;let r=e;for(;r<this.elements.length&&nt(this.elements[r]);)r++;return new T(n,r)}findSubWordContaining(e){if(e<0||e>=this.elements.length||!nt(this.elements[e]))return;l Line truncated
`).length>=15&&Ao(h,p=>p.length>=2)>=2}),o=Po(t,o),o}function Ao(t,e){let n=0;for(const r of t)e(r)&&n++;return n}function Eo(t,e,n,r){const s=[],i=t.filter(u=>u.modified.isEmpty&&u.original.length>=3).map(u=>new zt(u.original,e,u)),o=new Set(t.filter(u=>u.original.isEmpty&&u.modified.length>=3).map(u=>new zt(u.modified,n,u))),l=new Set;for(const u of i){let c=-1,m;for(const h of o){const f=u.computeSimilarity(h);f>c&&(c=f,m=h)}if(c>.9&&m&&(o.delete(m),s.push(new ce(u.range,m.range)),l.add(u.source),l.add(m.source)),!r.isValid())return{moves:s,excludedChanges:l}}return{moves:s,excludedChanges:l}}function ko(t,e,n,r,s,i){const o=[],l=new Xa;for(const f of t)for(let p=f.original.startLineNumber;p<f.original.endLineNumberExclusive-2;p++){const g=`${e[p-1]}:${e[p+1-1]}:${e[p+2-1]}`;l.add(g,{range:new z(p,p+3)})}const u=[];t.sort(Ye(f=>f.modified.startLineNumber,xt));for(const f of t){let p=[];for(let g=f.modified.startLineNumber;g<f.modified.endLineNumberExclusive-2;g++){const d=`${n[g-1]}:${n[g+1-1]}:${n[g+2-1]}`,w=new z(g,g+3),_=[];l.forEach(d,({range:v})=>{for(const k of p)if(k.originalLineRange.endLineNumberExclusive+1===v.endLineNumberExclusive&&k.modifiedLineRange.endLineNumberExclusive+1===w.endLineNumberExclusive){k.originalLineRange=new z(k.originalLineRange.startLineNumber,v.endLineNumberExclusive),k.modifiedLineRange=new z(k.modifiedLineRange.startLineNumber,w.endLineNumberExclusive),_.push(k);return}const L={modifiedLineRange:w,originalLineRange:v};u.push(L),_.push(L)}),p=_}if(!i.isValid())return[]}u.sort(co(Ye(f=>f.modifiedLineRange.length,xt)));const c=new ye,m=new ye;for(const f of u){const p=f.modifiedLineRange.startLineNumber-f.originalLineRange.startLineNumber,g=c.subtractFrom(f.modifiedLineRange),d=m.subtractFrom(f.originalLineRange).getWithDelta(p),w=g.getIntersection(d);for(const _ of w.ranges){if(_.length<3)continue;const v=_,L=_.delta(-p);o.push(new ce(L,v)),c.addRange(v),m.addRange(L)}}o.sort(Ye(f=>f.original.startLineNumber,xt));const h=new qt(t);for(let f=0;f<o.length;f++){const p=o[f],g=h.findLastMonotonous(W=>W.original.startLineNumber<=p.original.startLineNumber),d=Ze(t,W=>W.modified.startLineNumber<=p.modified.startLineNumber),w=Math.max(p.original.startLineNumber-g.original.startLineNumber,p.modified.startLineNumber-d.modified.startLineNumber),_=h.findLastMonotonous(W=>W.original.startLineNumber<p.original.endLineNumberExclusive),v=Ze(t,W=>W.modified.startLineNumber<p.modified.endLineNumberExclusive),L=Math.max(_.original.endLineNumberExclusive-p.original.endLineNumberExclusive,v.modified.endLineNumberExclusive-p.modified.endLineNumberExclusive);let k;for(k=0;k<w;k++){const W=p.original.startLineNumber-k-1,x=p.modified.startLineNumber-k-1;if(W>r.length||x>s.length||c.contains(x)||m.contains(W)||!Ks(r[W-1],s[x-1],i))break}k>0&&(m.addRange(new z(p.original.startLineNumber-k,p.original.startLineNumber)),c.addRange(new z(p.modified.startLineNumber-k,p.modified.startLineNumber)));let D;for(D=0;D<L;D++){const W=p.original.endLineNumberExclusive+D,x=p.modified.endLineNumberExclusive+D;if(W>r.length||x>s.length||c.contains(x)||m.contains(W)||!Ks(r[W-1],s[x-1],i))break}D>0&&(m.addRange(new z(p.original.endLineNumberExclusive,p.original.endLineNumberExclusive+D)),c.addRange(new z(p.modified.endLineNumberExclusive,p.modified.endLineNumberExclusive+D))),(k>0||D>0)&&(o[f]=new ce(new z(p.original.startLineNumber-k,p.original.endLineNumberExclusive+D),new z(p.modified.startLineNumber-k,p.modified.endLineNumberExclusive+D)))}return o}function Ks(t,e,n){if(t.trim()===e.trim())return!0;if(t.length>300&&e.length>300)return!1;const s=new Xs().compute(new Ot([t],new R(1,1,1,t.length),!1),new Ot([e],new R(1,1,1,e.length),!1),n);let i=0;const o=Q.invert(s.diffs,t.length);for(const m of o)m.seq1Range.forEach(h=>{$n(t.charCodeAt(h))||i++});function l(m){let h=0;for(let f=0;f<t.length;f++)$n(m.charCodeAt(f))||h++;return h}const u=l(t.length>e.length?t:e);return i/u>.6&&u>10}function Mo(t){if(t.length===0)return t;t.sort(Ye(n=>n.original.startLineNumber,xt));const e=[t[0]];for(let n=1;n<t.length;n++){const r=e[e.length-1],s=t[n],i=s.original.startLineNumber-r.original.endLineNumberExclusive,o=s.modified.startLineNumber-r.modified.endLineNumberExclusive;if(i>=0&&o>=0&&i+o<=2){e[e.length-1]=r.join(s);continue}e.push(s)}return e}function Po(t,e){const n=new qt(t);return e=e.filter(r=>{const s=n.findLastMonotonous(l=>l.original.startLineNumber<r.original.endLineNumberExclusive)||new ce(new z(1,1),new z(1,1)),i=Ze(t,l=>l.modified.startLineNumber<r.modified.endLineNumberExclusive);return s!==i}),e}function ei(t,e,n){let r=n;return r=ti(t,e,r),r=ti(t,e,r),r=To(t,e,r),r}function ti(t,e,n){if(n.length===0)return n;const r=[];r.push(n[0]);for(let i=1;i<n.length;i++){const o=r[r.length-1];let l=n[i];if(l.seq1Range.isEmpty||l.seq2Range.isEmpty){const u=l.seq1Range.start-o.seq1Range.endExclusive;let c;for(c=1;c<=u&&!(t.getElement(l.seq1Range.start-c)!==t.getElement(l.seq1Range.endExclusive-c)||e.getElement(l.seq2Range. Line truncated
`)}isStronglyEqual(e,n){return this.lines[e]===this.lines[n]}}function ii(t){let e=0;for(;e<t.length&&(t.charCodeAt(e)===32||t.charCodeAt(e)===9);)e++;return e}class Bo{constructor(){this.dynamicProgrammingDiffing=new vo,this.myersDiffingAlgorithm=new Xs}computeDiff(e,n,r){if(e.length<=1&&io(e,n,(x,y)=>x===y))return new wt([],[],!1);if(e.length===1&&e[0].length===0||n.length===1&&n[0].length===0)return new wt([new Ce(new z(1,e.length+1),new z(1,n.length+1),[new he(new R(1,1,e.length,e[e.length-1].length+1),new R(1,1,n.length,n[n.length-1].length+1))])],[],!1);const s=r.maxComputationTimeMs===0?Lt.instance:new _o(r.maxComputationTimeMs),i=!r.ignoreTrimWhitespace,o=new Map;function l(x){let y=o.get(x);return y===void 0&&(y=o.size,o.set(x,y)),y}const u=e.map(x=>l(x.trim())),c=n.map(x=>l(x.trim())),m=new si(u,e),h=new si(c,n),f=m.length+h.length<1700?this.dynamicProgrammingDiffing.compute(m,h,s,(x,y)=>e[x]===n[y]?n[y].length===0?.1:1+Math.log(1+n[y].length):.99):this.myersDiffingAlgorithm.compute(m,h,s);let p=f.diffs,g=f.hitTimeout;p=ei(m,h,p),p=Io(m,h,p);const d=[],w=x=>{if(i)for(let y=0;y<x;y++){const S=_+y,V=v+y;if(e[S]!==n[V]){const U=this.refineDiff(e,n,new Q(new T(S,S+1),new T(V,V+1)),s,i,r);for(const B of U.mappings)d.push(B);U.hitTimeout&&(g=!0)}}};let _=0,v=0;for(const x of p){ht(()=>x.seq1Range.start-_===x.seq2Range.start-v);const y=x.seq1Range.start-_;w(y),_=x.seq1Range.endExclusive,v=x.seq2Range.endExclusive;const S=this.refineDiff(e,n,x,s,i,r);S.hitTimeout&&(g=!0);for(const V of S.mappings)d.push(V)}w(e.length-_);const L=new Ut(e),k=new Ut(n),D=Vn(d,L,k);let W=[];return r.computeMoves&&(W=this.computeMoves(D,e,n,u,c,s,i,r)),ht(()=>{function x(S,V){if(S.lineNumber<1||S.lineNumber>V.length)return!1;const U=V[S.lineNumber-1];return!(S.column<1||S.column>U.length+1)}function y(S,V){return!(S.startLineNumber<1||S.startLineNumber>V.length+1||S.endLineNumberExclusive<1||S.endLineNumberExclusive>V.length+1)}for(const S of D){if(!S.innerChanges)return!1;for(const V of S.innerChanges)if(!(x(V.modifiedRange.getStartPosition(),n)&&x(V.modifiedRange.getEndPosition(),n)&&x(V.originalRange.getStartPosition(),e)&&x(V.originalRange.getEndPosition(),e)))return!1;if(!y(S.modified,n)||!y(S.original,e))return!1}return!0}),new wt(D,W,g)}computeMoves(e,n,r,s,i,o,l,u){return Co(e,n,r,s,i,o).map(h=>{const f=this.refineDiff(n,r,new Q(h.original.toOffsetRange(),h.modified.toOffsetRange()),o,l,u),p=Vn(f.mappings,new Ut(n),new Ut(r),!0);return new Us(h,p)})}refineDiff(e,n,r,s,i,o){const u=qo(r).toRangeMapping2(e,n),c=new Ot(e,u.originalRange,i),m=new Ot(n,u.modifiedRange,i),h=c.length+m.length<500?this.dynamicProgrammingDiffing.compute(c,m,s):this.myersDiffingAlgorithm.compute(c,m,s);let f=h.diffs;return f=ei(c,m,f),f=ri(c,m,f,(g,d)=>g.findWordContaining(d)),o.extendToSubwords&&(f=ri(c,m,f,(g,d)=>g.findSubWordContaining(d),!0)),f=Fo(c,m,f),f=Vo(c,m,f),{mappings:f.map(g=>new he(c.translateRange(g.seq1Range),m.translateRange(g.seq2Range))),hitTimeout:h.hitTimeout}}}function qo(t){return new ce(new z(t.seq1Range.start+1,t.seq1Range.endExclusive+1),new z(t.seq2Range.start+1,t.seq2Range.endExclusive+1))}var Te;(function(t){t.inMemory="inmemory",t.vscode="vscode",t.internal="private",t.walkThrough="walkThrough",t.walkThroughSnippet="walkThroughSnippet",t.http="http",t.https="https",t.file="file",t.mailto="mailto",t.untitled="untitled",t.data="data",t.command="command",t.vscodeRemote="vscode-remote",t.vscodeRemoteResource="vscode-remote-resource",t.vscodeManagedRemoteResource="vscode-managed-remote-resource",t.vscodeUserData="vscode-userdata",t.vscodeCustomEditor="vscode-custom-editor",t.vscodeNotebookCell="vscode-notebook-cell",t.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",t.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",t.vscodeNotebookCellOutput="vscode-notebook-cell-output",t.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",t.vscodeNotebookMetadata="vscode-notebook-metadata",t.vscodeInteractiveInput="vscode-interactive-input",t.vscodeSettings="vscode-settings",t.vscodeWorkspaceTrust="vscode-workspace-trust",t.vscodeTerminal="vscode-terminal",t.vscodeImageCarousel="vscode-image-carousel",t.vscodeChatCodeBlock="vscode-chat-code-block",t.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",t.vscodeChatEditor="vscode-chat-editor",t.vscodeChatInput="chatSessionInput",t.vscodeLocalChatSession="vscode-chat-session",t.webviewPanel="webview-panel",t.vscodeWebview="vscode-webview",t.vscodeBrowser="vscode-browser",t.extension="extension",t.vscodeFileResource="vscode-file",t.tmp="tmp",t.vsls="vsls",t.vscodeSourceControl="vscode-scm",t.commentsInput="comment",t.codeSetting="code-setting",t.outputChannel="output",t.accessibleView="accessible-view",t.chatEditingSnapshotScheme="chat-editing-snapshot-text-model",t.chatEditingModel="chat-editing-text-model",t.copilotPr="copilot-pr"})(Te||(Te={}));const Uo="tkn";class $o{constructor(){this._hosts=Object.create(null),this._ports=Object.creat Line truncated
`)),i=new $t(n.join(`
`)),o=this._computer.computeDiff(s.value,i.value,{ignoreTrimWhitespace:!0,computeMoves:r.computeMoves,extendToSubwords:r.extendToSubwords}),l=s.getTransformer(),u=i.getTransformer(),c=[];let m=0;for(const p of o.edits.replacements){const g=p.range.start+m,d=g+p.newText.length,w=l.getRange(new T(p.range.start,p.range.endExclusive)),_=u.getRange(new T(g,d));c.push(new he(w,_)),m+=p.newText.length-(p.range.endExclusive-p.range.start)}const h=Vn(c,s,i),f=[];if(r.computeMoves)for(const p of o.moves){const g=l.getPosition(p.range.original.start),d=l.getPosition(p.range.original.endExclusive),w=u.getPosition(p.range.modified.start),_=u.getPosition(p.range.modified.endExclusive),v=new z(g.lineNumber,d.lineNumber),L=new z(w.lineNumber,_.lineNumber);f.push(new Us(new ce(v,L),[]))}return new wt(h,f,o.hitTimeout)}}const Gt={getLegacy:()=>new wo,getDefault:()=>new Bo,getAdvancedExternal:()=>li(!1),getAdvancedWasm:()=>li(!0)};function De(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}class b{constructor(e,n,r,s=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,n))|0,this.b=Math.min(255,Math.max(0,r))|0,this.a=De(Math.max(Math.min(1,s),0),3)}static equals(e,n){return e.r===n.r&&e.g===n.g&&e.b===n.b&&e.a===n.a}}class fe{constructor(e,n,r,s){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=De(Math.max(Math.min(1,n),0),3),this.l=De(Math.max(Math.min(1,r),0),3),this.a=De(Math.max(Math.min(1,s),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.l===n.l&&e.a===n.a}static fromRGBA(e){const n=e.r/255,r=e.g/255,s=e.b/255,i=e.a,o=Math.max(n,r,s),l=Math.min(n,r,s);let u=0,c=0;const m=(l+o)/2,h=o-l;if(h>0){switch(c=Math.min(m<=.5?h/(2*m):h/(2-2*m),1),o){case n:u=(r-s)/h+(r<s?6:0);break;case r:u=(s-n)/h+2;break;case s:u=(n-r)/h+4;break}u*=60,u=Math.round(u)}return new fe(u,c,m,i)}static _hue2rgb(e,n,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(n-e)*6*r:r<1/2?n:r<2/3?e+(n-e)*(2/3-r)*6:e}static toRGBA(e){const n=e.h/360,{s:r,l:s,a:i}=e;let o,l,u;if(r===0)o=l=u=s;else{const c=s<.5?s*(1+r):s+r-s*r,m=2*s-c;o=fe._hue2rgb(m,c,n+1/3),l=fe._hue2rgb(m,c,n),u=fe._hue2rgb(m,c,n-1/3)}return new b(Math.round(o*255),Math.round(l*255),Math.round(u*255),i)}}class rt{constructor(e,n,r,s){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=De(Math.max(Math.min(1,n),0),3),this.v=De(Math.max(Math.min(1,r),0),3),this.a=De(Math.max(Math.min(1,s),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.v===n.v&&e.a===n.a}static fromRGBA(e){const n=e.r/255,r=e.g/255,s=e.b/255,i=Math.max(n,r,s),o=Math.min(n,r,s),l=i-o,u=i===0?0:l/i;let c;return l===0?c=0:i===n?c=((r-s)/l%6+6)%6:i===r?c=(s-n)/l+2:c=(n-r)/l+4,new rt(Math.round(c*60),u,i,e.a)}static toRGBA(e){const{h:n,s:r,v:s,a:i}=e,o=s*r,l=o*(1-Math.abs(n/60%2-1)),u=s-o;let[c,m,h]=[0,0,0];return n<60?(c=o,m=l):n<120?(c=l,m=o):n<180?(m=o,h=l):n<240?(m=l,h=o):n<300?(c=l,h=o):n<=360&&(c=o,h=l),c=Math.round((c+u)*255),m=Math.round((m+u)*255),h=Math.round((h+u)*255),new b(c,m,h,i)}}const O=class O{static fromHex(e){return O.Format.CSS.parseHex(e)||O.red}static equals(e,n){return!e&&!n?!0:!e||!n?!1:e.equals(n)}get hsla(){return this._hsla?this._hsla:fe.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:rt.fromRGBA(this.rgba)}constructor(e){if(e)if(e instanceof b)this.rgba=e;else if(e instanceof fe)this._hsla=e,this.rgba=fe.toRGBA(e);else if(e instanceof rt)this._hsva=e,this.rgba=rt.toRGBA(e);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(e){return!!e&&b.equals(this.rgba,e.rgba)&&fe.equals(this.hsla,e.hsla)&&rt.equals(this.hsva,e.hsva)}getRelativeLuminance(){const e=O._relativeLuminanceForComponent(this.rgba.r),n=O._relativeLuminanceForComponent(this.rgba.g),r=O._relativeLuminanceForComponent(this.rgba.b),s=.2126*e+.7152*n+.0722*r;return De(s,4)}static _relativeLuminanceForComponent(e){const n=e/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){const n=this.getRelativeLuminance(),r=e.getRelativeLuminance();return n>r}isDarkerThan(e){const n=this.getRelativeLuminance(),r=e.getRelativeLuminance();return n<r}lighten(e){return new O(new fe(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*e,this.hsla.a))}darken(e){return new O(new fe(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*e,this.hsla.a))}transparent(e){const{r:n,g:r,b:s,a:i}=this.rgba;return new O(new b(n,r,s,i*e))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new O(new b(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}mix(e,n=.5){const r=Math.min(Math.max(n,0),1),s=this.rgba,i=e.rgba,o=s.r+(i.r-s.r)*r,l=s.g+(i.g-s.g)*r,u=s.b+(i.b-s.b)*r,c=s.a+(i.a-s.a)*r;return new O(new b(o,l,u,c))}makeOpaque(e){if(this.isOpaque()||e.rgba.a!==1)return this;const{r:n,g:r,b:s,a:i}=this.rgba;return new O(new b(e.rgba.r-i*(e.rgba.r-n),e.rgba.g-i*(e.rgba.g-r),e.rgba.b-i*(e.rgba. Line truncated
`);i.lastIndex=0;let m;for(;(m=i.exec(c))!==null;){const h=c.substring(0,m.index),f=(h.match(/\n/g)||[]).length,p=o+f,g=m[0].split(`
`),d=g.length,w=p+d-1,_=h.lastIndexOf(`
`)+1,v=m.index-_+1,L=g[g.length-1],k=d===1?v+m[0].length:L.length+1,D={startLineNumber:p,startColumn:v,endLineNumber:w,endColumn:k},W=(m.groups??{}).label??"",x=((m.groups??{}).separator??"")!=="",y={range:D,text:W,hasSeparatorLine:x,shouldBeInComments:!0};(y.text||y.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<y.range.startLineNumber)&&n.push(y),i.lastIndex=m.index+m[0].length}}return n}function o1(t){t=t.trim();const e=t.startsWith("-");return t=t.replace(n1,""),{text:t,hasSeparatorLine:e}}class fi{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,n)=>{this.completeCallback=e,this.errorCallback=n})}complete(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.completeCallback(e),this.outcome={outcome:0,value:e},n()})}error(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.errorCallback(e),this.outcome={outcome:1,value:e},n()})}cancel(){return this.error(new Zn)}}var di;(function(t){async function e(r){let s;const i=await Promise.all(r.map(o=>o.then(l=>l,l=>{s||(s=l)})));if(typeof s<"u")throw s;return i}t.settled=e;function n(r){return new Promise(async(s,i)=>{try{await r(s,i)}catch(o){i(o)}})}t.withAsyncBody=n})(di||(di={}));class l1{constructor(){this._unsatisfiedConsumers=[],this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(e){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){const n=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(n,e)}else this._unconsumedValues.push(e)}produceFinal(e){this._ensureNoFinalValue(),this._finalValue=e;for(const n of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(n,e);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new Y("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(e,n){n.ok?e.complete(n.value):e.error(n.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){const e=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return e.ok?Promise.resolve(e.value):Promise.reject(e.error)}else{const e=new fi;return this._unsatisfiedConsumers.push(e),e.p}}}const re=class re{constructor(e,n){this._onReturn=n,this._producerConsumer=new l1,this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async r=>(this._finishError(r),{done:!0,value:void 0})},queueMicrotask(async()=>{const r=e({emitOne:s=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:s}}),emitMany:s=>{for(const i of s)this._producerConsumer.produce({ok:!0,value:{done:!1,value:i}})},reject:s=>this._finishError(s)});if(!this._producerConsumer.hasFinalValue)try{await r,this._finishOk()}catch(s){this._finishError(s)}})}static fromArray(e){return new re(n=>{n.emitMany(e)})}static fromPromise(e){return new re(async n=>{n.emitMany(await e)})}static fromPromisesResolveOrder(e){return new re(async n=>{await Promise.all(e.map(async r=>n.emitOne(await r)))})}static merge(e){return new re(async n=>{await Promise.all(e.map(async r=>{for await(const s of r)n.emitOne(s)}))})}static map(e,n){return new re(async r=>{for await(const s of e)r.emitOne(n(s))})}static tee(e){let n,r;const s=new fi,i=async()=>{if(!(!n||!r))try{for await(const u of e)n.emitOne(u),r.emitOne(u)}catch(u){n.reject(u),r.reject(u)}finally{s.complete()}},o=new re(async u=>(n=u,i(),s.p)),l=new re(async u=>(r=u,i(),s.p));return[o,l]}map(e){return re.map(this,e)}static coalesce(e){return re.filter(e,n=>!!n)}coalesce(){return re.coalesce(this)}static filter(e,n){return new re(async r=>{for await(const s of e)n(s)&&r.emitOne(s)})}filter(e){return re.filter(this,e)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(e){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:e})}[Symbol.asyncIterator](){return this._iterator}};re.EMPTY=re.fromArray([]);let gi=re;class u1{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,n){e=Qe(e);const r=this.values,s=this.prefixSum,i=n.length;return i===0?!1:(this.values=new Uint32Array(r.length+i),this.values.set(r.subarray(0,e),0),this.values.set(r.subarray(e),e+i),this.values.set(n,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(s.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,n){return e=Qe(e),n=Qe(n),this.values[e]===n?!1:(this.values[e]=n,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,n){e=Qe(e),n=Qe(n);const r=this.values,s=this.prefixSum;if(e>=r.length)return!1;const i=r.length-e;return n>=i&&(n=i),n===0?!1:(this.values=new Uint32Array(r.length- Line truncated
@@ -0,0 +1,474 @@
(function(){"use strict";var je,me,K;class zo{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?lt.isErrorNoTelemetry(e)?new lt(e.message+`
`+e.stack):new Error(e.message+`
`+e.stack):e},0)}}emit(e){this.listeners.forEach(n=>{n(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const tr=new zo;function Yt(t){nr(t)||tr.onUnexpectedError(t)}function Po(t){nr(t)||tr.onUnexpectedExternalError(t)}function Un(t){if(t instanceof Error){const{name:e,message:n,cause:i}=t,r=t.stacktrace||t.stack;return{$isError:!0,name:e,message:n,stack:r,noTelemetry:lt.isErrorNoTelemetry(t),cause:i?Un(i):void 0,code:t.code}}return t}const Hn="Canceled";function nr(t){return t instanceof ir?!0:t instanceof Error&&t.name===Hn&&t.message===Hn}class ir extends Error{constructor(){super(Hn),this.name=this.message}}class lt extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof lt)return e;const n=new lt;return n.message=e.message,n.stack=e.stack,n}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class se extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,se.prototype)}}function Uo(t,e="Unreachable"){throw new Error(e)}function Ho(t,e="unexpected state"){if(!t)throw typeof e=="string"?new se(`Assertion Failed: ${e}`):e}function Rt(t){if(!t()){debugger;t(),Yt(new se("Assertion Failed"))}}function Wn(t,e){let n=0;for(;n<t.length-1;){const i=t[n],r=t[n+1];if(!e(i,r))return!1;n++}return!0}function Wo(t){return typeof t=="string"}function Fo(t){return!!t&&typeof t[Symbol.iterator]=="function"}var Zt;(function(t){function e(b){return!!b&&typeof b=="object"&&typeof b[Symbol.iterator]=="function"}t.is=e;const n=Object.freeze([]);function i(){return n}t.empty=i;function*r(b){yield b}t.single=r;function s(b){return e(b)?b:r(b)}t.wrap=s;function a(b){return b??n}t.from=a;function*l(b){for(let g=b.length-1;g>=0;g--)yield b[g]}t.reverse=l;function o(b){return!b||b[Symbol.iterator]().next().done===!0}t.isEmpty=o;function u(b){return b[Symbol.iterator]().next().value}t.first=u;function h(b,g){let _=0;for(const M of b)if(g(M,_++))return!0;return!1}t.some=h;function d(b,g){let _=0;for(const M of b)if(!g(M,_++))return!1;return!0}t.every=d;function m(b,g){for(const _ of b)if(g(_))return _}t.find=m;function*f(b,g){for(const _ of b)g(_)&&(yield _)}t.filter=f;function*w(b,g){let _=0;for(const M of b)yield g(M,_++)}t.map=w;function*p(b,g){let _=0;for(const M of b)yield*g(M,_++)}t.flatMap=p;function*x(...b){for(const g of b)Fo(g)?yield*g:yield g}t.concat=x;function y(b,g,_){let M=_;for(const A of b)M=g(M,A);return M}t.reduce=y;function v(b){let g=0;for(const _ of b)g++;return g}t.length=v;function*S(b,g,_=b.length){for(g<-b.length&&(g=0),g<0&&(g+=b.length),_<0?_+=b.length:_>b.length&&(_=b.length);g<_;g++)yield b[g]}t.slice=S;function I(b,g=Number.POSITIVE_INFINITY){const _=[];if(g===0)return[_,b];const M=b[Symbol.iterator]();for(let A=0;A<g;A++){const T=M.next();if(T.done)return[_,t.empty()];_.push(T.value)}return[_,{[Symbol.iterator](){return M}}]}t.consume=I;async function P(b){const g=[];for await(const _ of b)g.push(_);return g}t.asyncToArray=P;async function F(b){let g=[];for await(const _ of b)g=g.concat(_);return g}t.asyncToArrayFlat=F})(Zt||(Zt={}));function Jh(t,e){}function rr(t){if(Zt.is(t)){const e=[];for(const n of t)if(n)try{n.dispose()}catch(i){e.push(i)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function Bo(...t){return Dt(()=>rr(t))}class qo{constructor(e){this._isDisposed=!1,this._fn=e}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,this._fn()}}}function Dt(t){return new qo(t)}const Dn=class Dn{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{rr(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e||e===Ke.None)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Dn.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}};Dn.DISABLE_DISPOSED_WARNING=!1;let Nt=Dn;const Zi=class Zi{constructor(){this._store=new Nt,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};Zi.None=Object.freeze({dispose(){}});let Ke=Zi,ne=(je=class{constructor(e){this.element=e,this.next=je.Undefined,this.prev=je.Undefined}},je.Undefined=new je(void 0),je);class Oo{constructor(){this._first=ne.Undefined,this._last=ne.Undefine Line truncated
`).slice(2).join(`
`))}}class rn extends Error{constructor(e,n,i,r,s){super(s?`[${s}] potential listener LEAK detected, ${e}`:`potential listener LEAK detected, ${e}`),this.name="ListenerLeakError",this.kind=e,this.listenerCount=r,this.details=n,this.stack=i}static is(e){return e instanceof rn||e instanceof Error&&typeof e.kind=="string"&&typeof e.listenerCount=="number"}}class sl extends rn{constructor(e,n,i,r,s){super(e,n,i,r,s),this.name="ListenerRefusalError"}}class Jn{constructor(e){this.value=e}}const al=2;class Se{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new Xn(e?.onListenerError??Yt,this._options?.leakWarningThreshold??rl,this._options?.leakWarningName):void 0,this._perfMon=this._options?._profName?new Gn(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,n,i)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const l=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(l);const o=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],u=o[1]/this._size>.3?"dominated":"popular",h=new sl(u,`${l}. HINT: Stack shows most frequent listener (${o[1]}-times)`,o[0],this._size,this._options?.leakWarningName);return(this._options?.onListenerError||Yt)(h),Ke.None}if(this._disposed)return Ke.None;n&&(e=e.bind(n));const r=new Jn(e);let s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=nn.create(),s=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof Jn?(this._deliveryQueue??=new ol,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;const a=Dt(()=>{s?.(),this._removeListener(r)});return Qn(a,i),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const n=this._listeners,i=n.indexOf(e);if(i===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,n[i]=void 0;const r=this._deliveryQueue.current===this;if(this._size*al<=n.length){let s=0;for(let a=0;a<n.length;a++)n[a]?n[s++]=n[a]:r&&s<this._deliveryQueue.end&&(this._deliveryQueue.end--,s<this._deliveryQueue.i&&this._deliveryQueue.i--);n.length=s}}_deliver(e,n){if(!e)return;const i=this._options?.onListenerError||Yt;if(!i){e.value(n);return}try{e.value(n)}catch(r){i(r)}}_deliverQueue(e){const n=e.current._listeners;for(;e.i<e.end;)this._deliver(n[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Jn)this._deliver(this._listeners,e);else{const n=this._deliveryQueue;n.enqueue(this,e,this._listeners.length),this._deliverQueue(n)}this._perfMon?.stop()}hasListeners(){return this._size>0}}class ol{constructor(){this.i=-1,this.end=0}enqueue(e,n,i){this.i=0,this.end=i,this.current=e,this.value=n}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}function Qn(t,e){e instanceof Nt?e.add(t):Array.isArray(e)&&e.push(t)}function dr(t,e){if(e instanceof Nt)e.delete(t);else if(Array.isArray(e)){const n=e.indexOf(t);n!==-1&&e.splice(n,1)}t.dispose()}function ll(t){return t}class ul{constructor(e,n){this.lastCache=void 0,this.lastArgKey=void 0,typeof e=="function"?(this._fn=e,this._computeKey=ll):(this._fn=n,this._computeKey=e.getCacheKey)}get(e){const n=this._computeKey(e);return this.lastArgKey!==n&&(this.lastArgKey=n,this.lastCache=this._fn(e)),this.lastCache}}var et;(function(t){t[t.Uninitialized=0]="Uninitialized",t[t.Running=1]="Running",t[t.Completed=2]="Completed"})(et||(et={}));class Yn{constructor(e){this.executor=e,this._state=et.Uninitialized}get value(){if(this._state===et.Uninitialized){this._state=et.Running;try{this._value=this.executor()}catch(e){this._error=e}finally{this._state=et.Completed}}else if(this._state===et.Running)throw new Error("Cannot read the value of a lazy that is being initialized");if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}function cl(t){return t.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function hl(t){return t.source==="^"||t.source==="^$"||t.source==="$"||t.source==="^\\s*$"?!1:!!(t.exec("")&&t.lastIndex===0)}function dl(t){re Line truncated
`||t===" "}class Ut{constructor(e,n,i){this.changes=e,this.moves=n,this.hitTimeout=i}}class js{constructor(e,n){this.lineRangeMapping=e,this.changes=n}}function Tu(t,e,n=(i,r)=>i===r){if(t===e)return!0;if(!t||!e||t.length!==e.length)return!1;for(let i=0,r=t.length;i<r;i++)if(!n(t[i],e[i]))return!1;return!0}function*ku(t,e){let n,i;for(const r of t)i!==void 0&&e(i,r)?n.push(r):(n&&(yield n),n=[r]),i=r;n&&(yield n)}function Su(t,e){for(let n=0;n<=t.length;n++)e(n===0?void 0:t[n-1],n===t.length?void 0:t[n])}function Au(t,e){for(let n=0;n<t.length;n++)e(n===0?void 0:t[n-1],t[n],n+1===t.length?void 0:t[n+1])}function Lu(t,e){for(const n of e)t.push(n)}var bi;(function(t){function e(s){return s<0}t.isLessThan=e;function n(s){return s<=0}t.isLessThanOrEqual=n;function i(s){return s>0}t.isGreaterThan=i;function r(s){return s===0}t.isNeitherLessOrGreaterThan=r,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(bi||(bi={}));function pt(t,e){return(n,i)=>e(t(n),t(i))}const Ht=(t,e)=>t-e;function Cu(t){return(e,n)=>-t(e,n)}const Ct=class Ct{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(n=>(e.push(n),!0)),e}filter(e){return new Ct(n=>this.iterate(i=>e(i)?n(i):!0))}map(e){return new Ct(n=>this.iterate(i=>n(e(i))))}findLast(e){let n;return this.iterate(i=>(e(i)&&(n=i),!0)),n}findLastMaxBy(e){let n,i=!0;return this.iterate(r=>((i||bi.isGreaterThan(e(r,n)))&&(i=!1,n=r),!0)),n}};Ct.empty=new Ct(e=>{});let $s=Ct;class O{static fromTo(e,n){return new O(e,n)}static addRange(e,n){let i=0;for(;i<n.length&&n[i].endExclusive<e.start;)i++;let r=i;for(;r<n.length&&n[r].start<=e.endExclusive;)r++;if(i===r)n.splice(i,0,e);else{const s=Math.min(e.start,n[i].start),a=Math.max(e.endExclusive,n[r-1].endExclusive);n.splice(i,r-i,new O(s,a))}}static tryCreate(e,n){if(!(e>n))return new O(e,n)}static ofLength(e){return new O(0,e)}static ofStartAndLength(e,n){return new O(e,e+n)}static emptyAt(e){return new O(e,e)}constructor(e,n){if(this.start=e,this.endExclusive=n,e>n)throw new se(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new O(this.start+e,this.endExclusive+e)}deltaStart(e){return new O(this.start+e,this.endExclusive)}deltaEnd(e){return new O(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}containsRange(e){return this.start<=e.start&&e.endExclusive<=this.endExclusive}contains(e){return this.start<=e&&e<this.endExclusive}join(e){return new O(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const n=Math.max(this.start,e.start),i=Math.min(this.endExclusive,e.endExclusive);if(n<=i)return new O(n,i)}intersectionLength(e){const n=Math.max(this.start,e.start),i=Math.min(this.endExclusive,e.endExclusive);return Math.max(0,i-n)}intersects(e){const n=Math.max(this.start,e.start),i=Math.min(this.endExclusive,e.endExclusive);return n<i}intersectsOrTouches(e){const n=Math.max(this.start,e.start),i=Math.min(this.endExclusive,e.endExclusive);return n<=i}isBefore(e){return this.endExclusive<=e.start}isAfter(e){return this.start>=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new se(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new se(`Invalid clipping range: ${this.toString()}`);return e<this.start?this.endExclusive-(this.start-e)%this.length:e>=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let n=this.start;n<this.endExclusive;n++)e(n)}joinRightTouching(e){if(this.endExclusive!==e.start)throw new se(`Invalid join: ${this.toString()} and ${e.toString()}`);return new O(this.start,e.endExclusive)}withMargin(e,n){return n===void 0&&(n=e),new O(this.start-e,this.endExclusive+n)}}function gt(t,e){const n=bt(t,e);return n===-1?void 0:t[n]}function bt(t,e,n=0,i=t.length){let r=n,s=i;for(;r<s;){const a=Math.floor((r+s)/2);e(t[a])?r=a+1:s=a}return r-1}function Eu(t,e){const n=wi(t,e);return n===t.length?void 0:t[n]}function wi(t,e,n=0,i=t.length){let r=n,s=i;for(;r<s;){const a=Math.floor((r+s)/2);e(t[a])?s=a:r=a+1}return r}const In=class In{constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(In.assertInvariants){if(this._prevFindLastPredicate){for(const i of this._array)if(this._prevFindLastPredicate(i)&&!e(i))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=e}const n=bt(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=n+1,n===-1?void 0:this._array[n]}};In.assertInvariants=!1;let hn=In;const Te=class Te{static ofLength(e,n){return new Te(e,e+n)}static fromRange(e){return new Te(e Line truncated
`?(n++,i=0):i++;return new Re(n,i)}constructor(e,n){this.lineCount=e,this.columnCount=n}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}add(e){return e.lineCount===0?new Re(this.lineCount,this.columnCount+e.columnCount):new Re(this.lineCount+e.lineCount,e.columnCount)}createRange(e){return this.lineCount===0?new j(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new j(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}toRange(){return new j(1,1,this.lineCount+1,this.columnCount+1)}toLineRange(){return Q.ofLength(1,this.lineCount+1)}addToPosition(e){return this.lineCount===0?new Y(e.lineNumber,e.column+this.columnCount):new Y(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}};Re.zero=new Re(0,0);let Xe=Re;class Ru{getOffsetRange(e){return new O(this.getOffset(e.getStartPosition()),this.getOffset(e.getEndPosition()))}getRange(e){return j.fromPositions(this.getPosition(e.start),this.getPosition(e.endExclusive))}getStringReplacement(e){return new nt.deps.StringReplacement(this.getOffsetRange(e.range),e.text)}getTextReplacement(e){return new nt.deps.TextReplacement(this.getRange(e.replaceRange),e.newText)}getTextEdit(e){const n=e.replacements.map(i=>this.getTextReplacement(i));return new nt.deps.TextEdit(n)}}const Ki=class Ki{static get deps(){if(!this._deps)throw new Error("Dependencies not set. Call _setDependencies first.");return this._deps}};Ki._deps=void 0;let nt=Ki;function Du(t){nt._deps=t}class Gs extends Ru{constructor(e){super(),this.text=e}get lineStartOffsetByLineIdx(){return this._lineStartOffsetByLineIdx||this._computeLineOffsets(),this._lineStartOffsetByLineIdx}get lineEndOffsetByLineIdx(){return this._lineEndOffsetByLineIdx||this._computeLineOffsets(),this._lineEndOffsetByLineIdx}_computeLineOffsets(){this._lineStartOffsetByLineIdx=[],this._lineEndOffsetByLineIdx=[],this._lineStartOffsetByLineIdx.push(0);for(let e=0;e<this.text.length;e++)this.text.charAt(e)===`
`&&(this._lineStartOffsetByLineIdx.push(e+1),e>0&&this.text.charAt(e-1)==="\r"?this._lineEndOffsetByLineIdx.push(e-1):this._lineEndOffsetByLineIdx.push(e));this._lineEndOffsetByLineIdx.push(this.text.length)}getOffset(e){const n=this._validatePosition(e);return this.lineStartOffsetByLineIdx[n.lineNumber-1]+n.column-1}_validatePosition(e){if(e.lineNumber<1)return new Y(1,1);const n=this.textLength.lineCount+1;if(e.lineNumber>n){const r=this.getLineLength(n);return new Y(n,r+1)}if(e.column<1)return new Y(e.lineNumber,1);const i=this.getLineLength(e.lineNumber);return e.column-1>i?new Y(e.lineNumber,i+1):e}getPosition(e){const n=bt(this.lineStartOffsetByLineIdx,s=>s<=e),i=n+1,r=e-this.lineStartOffsetByLineIdx[n]+1;return new Y(i,r)}get textLength(){const e=this.lineStartOffsetByLineIdx.length-1;return new nt.deps.TextLength(e,this.text.length-this.lineStartOffsetByLineIdx[e])}getLineLength(e){return this.lineEndOffsetByLineIdx[e-1]-this.lineStartOffsetByLineIdx[e-1]}}class Xs{constructor(){this._transformer=void 0}get endPositionExclusive(){return this.length.addToPosition(new Y(1,1))}get lineRange(){return this.length.toLineRange()}getValue(){return this.getValueOfRange(this.length.toRange())}getValueOfOffsetRange(e){return this.getValueOfRange(this.getTransformer().getRange(e))}getLineLength(e){return this.getValueOfRange(new j(e,1,e,Number.MAX_SAFE_INTEGER)).length}getTransformer(){return this._transformer||(this._transformer=new Gs(this.getValue())),this._transformer}getLineAt(e){return this.getValueOfRange(new j(e,1,e,Number.MAX_SAFE_INTEGER))}}class Nu extends Xs{constructor(e,n){Ho(n>=1),super(),this._getLineContent=e,this._lineCount=n}getValueOfRange(e){if(e.startLineNumber===e.endLineNumber)return this._getLineContent(e.startLineNumber).substring(e.startColumn-1,e.endColumn-1);let n=this._getLineContent(e.startLineNumber).substring(e.startColumn-1);for(let i=e.startLineNumber+1;i<e.endLineNumber;i++)n+=`
`+this._getLineContent(i);return n+=`
`+this._getLineContent(e.endLineNumber).substring(0,e.endColumn-1),n}getLineLength(e){return this._getLineContent(e).length}get length(){const e=this._getLineContent(this._lineCount);return new Xe(this._lineCount-1,e.length)}}class dn extends Nu{constructor(e){super(n=>e[n-1],e.length)}}class mn extends Xs{constructor(e){super(),this.value=e,this._t=new Gs(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}getTransformer(){return this._t}}let Mu=class er{static fromStringEdit(e,n){const i=e.replacements.map(r=>Le.fromStringReplacement(r,n));return new er(i)}static fromParallelReplacementsUnsorted(e){const n=e.slice().sort(pt(i=>i.range,j.compareRangesUsingStarts));return new er(n)}constructor(e){this.replacements=e,Rt(()=>Wn(e,(n,i)=>n.range.getEndPosition().isBeforeOrEqual(i.range.getStartPosition())))}mapPosition(e){let n=0,i=0,r=0;for(const s of this.replacements){const a=s.range.getStartPosition();if(e.isBeforeOrEqual(a))break;const l=s.range.getEndPosition(),o=Xe.ofText(s.text);if(e.isBefore(l)){const u=new Y(a.lineNumber+n,a.column+(a.lineNumber+n===i?r:0)),h=o.addToPosition(u);return fn(u,h)}a.lineNumber+n!==i&&(r=0),n+=o.lineCount-(s.range.endLineNumber-s.range.startLineNumber),o.lineCount===0?l.lineNumber!==a.lineNumber?r+=o.columnCount-(l.column-1):r+=o.columnCount-(l.column-a.column):r=o.columnCount,i=l.lineNumber+n}return new Y(e.lineNumber+n,e.column+(e.lineNumber+n===i?r:0))}mapRange(e){function n(a){return a instanceof Y?a:a.getStartPosition()}function i(a){return a instanceof Y?a:a.getEndPosition()}const r=n(this.mapPosition(e.getStartPosition())),s=i(this.mapPosition(e.getEndPosition()));return fn(r,s)}apply(e){let n="",i=new Y(1,1);for(const s of this.replacements){const a=s.range,l=a.getStartPosition(),o=a.getEndPosition(),u=fn(i,l);u.isEmpty()||(n+=e.getValueOfRange(u)),n+=s.text,i=o}const r=fn(i,e.endPositionExclusive);return r.isEmpty()||(n+=e.getValueOfRange(r)),n}applyToString(e){const n=new mn(e);return this.apply(n)}getNewRanges(){const e=[];let n=0,i=0,r=0;for(const s of this.replacements){const a=Xe.ofText(s.text),l=Y.lift({lineNumber:s.range.startLineNumber+i,column:s.range.startColumn+(s.range.startLineNumber===n?r:0)}),o=a.createRange(l);e.push(o),i=o.endLineNumber-s.range.endLineNumber,r=o.endColumn-s.range.endColumn,n=s.range.endLineNumber}return e}toReplacement(e){if(this.replacements.length===0)throw new se;if(this.replacements.length===1)return this.replacements[0];const n=this.replacements[0].range.getStartPosition(),i=this.replacements[this.replacements.length-1].range.getEndPosition();let r="";for(let s=0;s<this.replacements.length;s++){const a=this.replacements[s];if(r+=a.text,s<this.replacements.length-1){const l=this.replacements[s+1],o=j.fromPositions(a.range.getEndPosition(),l.range.getStartPosition()),u=e.getValueOfRange(o);r+=u}}return new Le(j.fromPositions(n,i),r)}toString(e){return e===void 0?this.replacements.map(n=>n.toString()).join(`
`):typeof e=="string"?this.toString(new mn(e)):this.replacements.length===0?"":this.replacements.map(n=>{const r=e.getValueOfRange(n.range),s=j.fromPositions(new Y(Math.max(1,n.range.startLineNumber-1),1),n.range.getStartPosition());let a=e.getValueOfRange(s);a.length>10&&(a="..."+a.substring(a.length-10));const l=j.fromPositions(n.range.getEndPosition(),new Y(n.range.endLineNumber+1,1));let o=e.getValueOfRange(l);o.length>10&&(o=o.substring(0,10)+"...");let u=r;if(u.length>10){const d=Math.floor(5);u=u.substring(0,d)+"..."+u.substring(u.length-d)}let h=n.text;if(h.length>10){const d=Math.floor(5);h=h.substring(0,d)+"..."+h.substring(h.length-d)}return u.length===0?`${a}❰${h}❱${o}`:`${a}❰${u}↦${h}❱${o}`}).join(`
`)}};class Le{static joinReplacements(e,n){if(e.length===0)throw new se;if(e.length===1)return e[0];const i=e[0].range.getStartPosition(),r=e[e.length-1].range.getEndPosition();let s="";for(let a=0;a<e.length;a++){const l=e[a];if(s+=l.text,a<e.length-1){const o=e[a+1],u=j.fromPositions(l.range.getEndPosition(),o.range.getStartPosition()),h=n.getValueOfRange(u);s+=h}}return new Le(j.fromPositions(i,r),s)}static fromStringReplacement(e,n){return new Le(n.getTransformer().getRange(e.replaceRange),e.newText)}static delete(e){return new Le(e,"")}constructor(e,n){this.range=e,this.text=n}get isEmpty(){return this.range.isEmpty()&&this.text.length===0}static equals(e,n){return e.range.equalsRange(n.range)&&e.text===n.text}equals(e){return Le.equals(this,e)}removeCommonPrefixAndSuffix(e){return this.removeCommonPrefix(e).removeCommonSuffix(e)}removeCommonPrefix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
`,`
`),i=this.text.replaceAll(`\r
`,`
`),r=Zn(n,i),s=Xe.ofText(n.substring(0,r)).addToPosition(this.range.getStartPosition()),a=i.substring(r),l=j.fromPositions(s,this.range.getEndPosition());return new Le(l,a)}removeCommonSuffix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
`,`
`),i=this.text.replaceAll(`\r
`,`
`),r=Kn(n,i),s=Xe.ofText(n.substring(0,n.length-r)).addToPosition(this.range.getStartPosition()),a=i.substring(0,i.length-r),l=j.fromPositions(this.range.getStartPosition(),s);return new Le(l,a)}toString(){const e=this.range.getStartPosition(),n=this.range.getEndPosition();return`(${e.lineNumber},${e.column} -> ${n.lineNumber},${n.column}): "${this.text}"`}}function fn(t,e){if(t.lineNumber===e.lineNumber&&t.column===Number.MAX_SAFE_INTEGER)return j.fromPositions(e,e);if(!t.isBeforeOrEqual(e))throw new se("start must be before end");return new j(t.lineNumber,t.column,e.lineNumber,e.column)}class _e{static inverse(e,n,i){const r=[];let s=1,a=1;for(const o of e){const u=new _e(new Q(s,o.original.startLineNumber),new Q(a,o.modified.startLineNumber));u.modified.isEmpty||r.push(u),s=o.original.endLineNumberExclusive,a=o.modified.endLineNumberExclusive}const l=new _e(new Q(s,n+1),new Q(a,i+1));return l.modified.isEmpty||r.push(l),r}static clip(e,n,i){const r=[];for(const s of e){const a=s.original.intersect(n),l=s.modified.intersect(i);a&&!a.isEmpty&&l&&!l.isEmpty&&r.push(new _e(a,l))}return r}constructor(e,n){this.original=e,this.modified=n}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new _e(this.modified,this.original)}join(e){return new _e(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),n=this.modified.toInclusiveRange();if(e&&n)return new ve(e,n);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new se("not a valid diff");return new ve(new j(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new j(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new ve(new j(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new j(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,n){if(Js(this.original.endLineNumberExclusive,e)&&Js(this.modified.endLineNumberExclusive,n))return new ve(new j(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new j(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new ve(j.fromPositions(new Y(this.original.startLineNumber,1),wt(new Y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),j.fromPositions(new Y(this.modified.startLineNumber,1),wt(new Y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new ve(j.fromPositions(wt(new Y(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),wt(new Y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),j.fromPositions(wt(new Y(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),n),wt(new Y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));throw new se}}function wt(t,e){if(t.lineNumber<1)return new Y(1,1);if(t.lineNumber>e.length)return new Y(e.length,e[e.length-1].length+1);const n=e[t.lineNumber-1];return t.column>n.length+1?new Y(t.lineNumber,n.length+1):t}function Js(t,e){return t>=1&&t<=e.length}class Be extends _e{static fromRangeMappings(e){const n=Q.join(e.map(r=>Q.fromRangeInclusive(r.originalRange))),i=Q.join(e.map(r=>Q.fromRangeInclusive(r.modifiedRange)));return new Be(n,i,e)}constructor(e,n,i){super(e,n),this.innerChanges=i}flip(){return new Be(this.modified,this.original,this.innerChanges?.map(e=>e.flip()))}withInnerChangesFromLineRanges(){return new Be(this.original,this.modified,[this.toRangeMapping()])}}class ve{static fromEdit(e){const n=e.getNewRanges();return e.replacements.map((r,s)=>new ve(r.range,n[s]))}static assertSorted(e){for(let n=1;n<e.length;n++){const i=e[n-1],r=e[n];if(!(i.originalRange.getEndPosition().isBeforeOrEqual(r.originalRange.getStartPosition())&&i.modifiedRange.getEndPosition().isBeforeOrEqual(r.modifiedRange.getStartPosition())))throw new se("Range mappings must be sorted")}}constructor(e,n){this.originalRange=e,this.modifiedRange=n}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new ve(this.modifiedRange,this.originalRange)}toTextEdit(e){const n=e.getValueOfRange(this.modifiedRange);return new Le(this.originalRange,n)}}function _i(t,e,n,i=!1){const r=[];for(const s of ku(t.map(a=>Iu(a,e,n)),(a,l)=>a.original.intersectsOrTouches(l.original)||a.modified.intersectsOrTouches(l.modified))){const a=s[0],l=s[s.length-1];r.push(new Be(a.original.join(l.original),a.modified.join(l.modified),s.map(o=>o.innerChanges[0])))}return Rt(()=>!i&&r.length>0&&(r[0].modified.startLineNumber!==r[0].original.startLineNumber||n.length.lineCount-r[r.length-1].modified.endLineNumberExclusive!==e.length. Line truncated
`);this.histogram[l]=(this.histogram[l]||0)+1}this.totalCount=r}computeSimilarity(e){let n=0;const i=Math.max(this.histogram.length,e.histogram.length);for(let r=0;r<i;r++)n+=Math.abs((this.histogram[r]??0)-(e.histogram[r]??0));return 1-n/(this.totalCount+e.totalCount)}};Xt.chrKeys=new Map;let pn=Xt;class Bu{compute(e,n,i=Ft.instance,r){if(e.length===0||n.length===0)return qe.trivial(e,n);const s=new xi(e.length,n.length),a=new xi(e.length,n.length),l=new xi(e.length,n.length);for(let w=0;w<e.length;w++)for(let p=0;p<n.length;p++){if(!i.isValid())return qe.trivialTimedOut(e,n);const x=w===0?0:s.get(w-1,p),y=p===0?0:s.get(w,p-1);let v;e.getElement(w)===n.getElement(p)?(w===0||p===0?v=0:v=s.get(w-1,p-1),w>0&&p>0&&a.get(w-1,p-1)===3&&(v+=l.get(w-1,p-1)),v+=r?r(w,p):1):v=-1;const S=Math.max(x,y,v);if(S===v){const I=w>0&&p>0?l.get(w-1,p-1):0;l.set(w,p,I+1),a.set(w,p,3)}else S===x?(l.set(w,p,0),a.set(w,p,1)):S===y&&(l.set(w,p,0),a.set(w,p,2));s.set(w,p,S)}const o=[];let u=e.length,h=n.length;function d(w,p){(w+1!==u||p+1!==h)&&o.push(new ie(new O(w+1,u),new O(p+1,h))),u=w,h=p}let m=e.length-1,f=n.length-1;for(;m>=0&&f>=0;)a.get(m,f)===3?(d(m,f),m--,f--):a.get(m,f)===1?m--:f--;return d(-1,-1),o.reverse(),new qe(o,!1)}}class Ks{compute(e,n,i=Ft.instance){if(e.length===0||n.length===0)return qe.trivial(e,n);const r=e,s=n;function a(p,x){for(;p<r.length&&x<s.length&&r.getElement(p)===s.getElement(x);)p++,x++;return p}let l=0;const o=new qu;o.set(0,a(0,0));const u=new Ou;u.set(0,o.get(0)===0?null:new ea(null,0,0,o.get(0)));let h=0;e:for(;;){if(l++,!i.isValid())return qe.trivialTimedOut(r,s);const p=-Math.min(l,s.length+l%2),x=Math.min(l,r.length+l%2);for(h=p;h<=x;h+=2){const y=h===x?-1:o.get(h+1),v=h===p?-1:o.get(h-1)+1,S=Math.min(Math.max(y,v),r.length),I=S-h;if(S>r.length||I>s.length)continue;const P=a(S,I);o.set(h,P);const F=S===y?u.get(h+1):u.get(h-1);if(u.set(h,P!==S?new ea(F,S,I,P-S):F),o.get(h)===r.length&&o.get(h)-h===s.length)break e}}let d=u.get(h);const m=[];let f=r.length,w=s.length;for(;;){const p=d?d.x+d.length:0,x=d?d.y+d.length:0;if((p!==f||x!==w)&&m.push(new ie(new O(p,f),new O(x,w))),!d)break;f=d.x,w=d.y,d=d.prev}return m.reverse(),new qe(m,!1)}}class ea{constructor(e,n,i,r){this.prev=e,this.x=n,this.y=i,this.length=r}}class qu{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const i=this.negativeArr;this.negativeArr=new Int32Array(i.length*2),this.negativeArr.set(i)}this.negativeArr[e]=n}else{if(e>=this.positiveArr.length){const i=this.positiveArr;this.positiveArr=new Int32Array(i.length*2),this.positiveArr.set(i)}this.positiveArr[e]=n}}}class Ou{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){e<0?(e=-e-1,this.negativeArr[e]=n):this.positiveArr[e]=n}}class gn{constructor(e,n,i){this.lines=e,this.range=n,this.considerWhitespaceChanges=i,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let r=this.range.startLineNumber;r<=this.range.endLineNumber;r++){let s=e[r-1],a=0;r===this.range.startLineNumber&&this.range.startColumn>1&&(a=this.range.startColumn-1,s=s.substring(a)),this.lineStartOffsets.push(a);let l=0;if(!i){const u=s.trimStart();l=s.length-u.length,s=u.trimEnd()}this.trimmedWsLengthsByLineIdx.push(l);const o=r===this.range.endLineNumber?Math.min(this.range.endColumn-1-a-l,s.length):s.length;for(let u=0;u<o;u++)this.elements.push(s.charCodeAt(u));r<this.range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new O(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map(n=>String.fromCharCode(n)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const n=ia(e>0?this.elements[e-1]:-1),i=ia(e<this.elements.length?this.elements[e]:-1);if(n===7&&i===8)return 0;if(n===8)return 150;let r=0;return n!==i&&(r+=10,n===0&&i===1&&(r+=1)),r+=na(n),r+=na(i),r}translateOffset(e,n="right"){const i=bt(this.firstElementOffsetByLineIdx,s=>s<=e),r=e-this.firstElementOffsetByLineIdx[i];return new Y(this.range.startLineNumber+i,1+this.lineStartOffsets[i]+r+(r===0&&n==="left"?0:this.trimmedWsLengthsByLineIdx[i]))}translateRange(e){const n=this.translateOffset(e.start,"right"),i=this.translateOffset(e.endExclusive,"left");return i.isBefore(n)?j.fromPositions(i,i):j.fromPositions(n,i)}findWordContaining(e){if(e<0||e>=this.elements.length||!vt(this.elements[e]))return;let n=e;for(;n>0&&vt(this.elements[n-1]);)n--;let i=e;for(;i<this.elements.length&&vt(this.elements[i]);)i++;return new O(n,i)}findSubWordContaining(e){if(e<0||e>=this.elements.length||!vt(this.elements[e]))return Line truncated
`).length>=15&&$u(d,f=>f.length>=2)>=2}),a=Qu(t,a),a}function $u(t,e){let n=0;for(const i of t)e(i)&&n++;return n}function Gu(t,e,n,i){const r=[],s=t.filter(o=>o.modified.isEmpty&&o.original.length>=3).map(o=>new pn(o.original,e,o)),a=new Set(t.filter(o=>o.original.isEmpty&&o.modified.length>=3).map(o=>new pn(o.modified,n,o))),l=new Set;for(const o of s){let u=-1,h;for(const d of a){const m=o.computeSimilarity(d);m>u&&(u=m,h=d)}if(u>.9&&h&&(a.delete(h),r.push(new _e(o.range,h.range)),l.add(o.source),l.add(h.source)),!i.isValid())return{moves:r,excludedChanges:l}}return{moves:r,excludedChanges:l}}function Xu(t,e,n,i,r,s){const a=[],l=new du;for(const m of t)for(let f=m.original.startLineNumber;f<m.original.endLineNumberExclusive-2;f++){const w=`${e[f-1]}:${e[f+1-1]}:${e[f+2-1]}`;l.add(w,{range:new Q(f,f+3)})}const o=[];t.sort(pt(m=>m.modified.startLineNumber,Ht));for(const m of t){let f=[];for(let w=m.modified.startLineNumber;w<m.modified.endLineNumberExclusive-2;w++){const p=`${n[w-1]}:${n[w+1-1]}:${n[w+2-1]}`,x=new Q(w,w+3),y=[];l.forEach(p,({range:v})=>{for(const I of f)if(I.originalLineRange.endLineNumberExclusive+1===v.endLineNumberExclusive&&I.modifiedLineRange.endLineNumberExclusive+1===x.endLineNumberExclusive){I.originalLineRange=new Q(I.originalLineRange.startLineNumber,v.endLineNumberExclusive),I.modifiedLineRange=new Q(I.modifiedLineRange.startLineNumber,x.endLineNumberExclusive),y.push(I);return}const S={modifiedLineRange:x,originalLineRange:v};o.push(S),y.push(S)}),f=y}if(!s.isValid())return[]}o.sort(Cu(pt(m=>m.modifiedLineRange.length,Ht)));const u=new Ne,h=new Ne;for(const m of o){const f=m.modifiedLineRange.startLineNumber-m.originalLineRange.startLineNumber,w=u.subtractFrom(m.modifiedLineRange),p=h.subtractFrom(m.originalLineRange).getWithDelta(f),x=w.getIntersection(p);for(const y of x.ranges){if(y.length<3)continue;const v=y,S=y.delta(-f);a.push(new _e(S,v)),u.addRange(v),h.addRange(S)}}a.sort(pt(m=>m.original.startLineNumber,Ht));const d=new hn(t);for(let m=0;m<a.length;m++){const f=a[m],w=d.findLastMonotonous(F=>F.original.startLineNumber<=f.original.startLineNumber),p=gt(t,F=>F.modified.startLineNumber<=f.modified.startLineNumber),x=Math.max(f.original.startLineNumber-w.original.startLineNumber,f.modified.startLineNumber-p.modified.startLineNumber),y=d.findLastMonotonous(F=>F.original.startLineNumber<f.original.endLineNumberExclusive),v=gt(t,F=>F.modified.startLineNumber<f.modified.endLineNumberExclusive),S=Math.max(y.original.endLineNumberExclusive-f.original.endLineNumberExclusive,v.modified.endLineNumberExclusive-f.modified.endLineNumberExclusive);let I;for(I=0;I<x;I++){const F=f.original.startLineNumber-I-1,b=f.modified.startLineNumber-I-1;if(F>i.length||b>r.length||u.contains(b)||h.contains(F)||!ra(i[F-1],r[b-1],s))break}I>0&&(h.addRange(new Q(f.original.startLineNumber-I,f.original.startLineNumber)),u.addRange(new Q(f.modified.startLineNumber-I,f.modified.startLineNumber)));let P;for(P=0;P<S;P++){const F=f.original.endLineNumberExclusive+P,b=f.modified.endLineNumberExclusive+P;if(F>i.length||b>r.length||u.contains(b)||h.contains(F)||!ra(i[F-1],r[b-1],s))break}P>0&&(h.addRange(new Q(f.original.endLineNumberExclusive,f.original.endLineNumberExclusive+P)),u.addRange(new Q(f.modified.endLineNumberExclusive,f.modified.endLineNumberExclusive+P))),(I>0||P>0)&&(a[m]=new _e(new Q(f.original.startLineNumber-I,f.original.endLineNumberExclusive+P),new Q(f.modified.startLineNumber-I,f.modified.endLineNumberExclusive+P)))}return a}function ra(t,e,n){if(t.trim()===e.trim())return!0;if(t.length>300&&e.length>300)return!1;const r=new Ks().compute(new gn([t],new j(1,1,1,t.length),!1),new gn([e],new j(1,1,1,e.length),!1),n);let s=0;const a=ie.invert(r.diffs,t.length);for(const h of a)h.seq1Range.forEach(d=>{Ti(t.charCodeAt(d))||s++});function l(h){let d=0;for(let m=0;m<t.length;m++)Ti(h.charCodeAt(m))||d++;return d}const o=l(t.length>e.length?t:e);return s/o>.6&&o>10}function Ju(t){if(t.length===0)return t;t.sort(pt(n=>n.original.startLineNumber,Ht));const e=[t[0]];for(let n=1;n<t.length;n++){const i=e[e.length-1],r=t[n],s=r.original.startLineNumber-i.original.endLineNumberExclusive,a=r.modified.startLineNumber-i.modified.endLineNumberExclusive;if(s>=0&&a>=0&&s+a<=2){e[e.length-1]=i.join(r);continue}e.push(r)}return e}function Qu(t,e){const n=new hn(t);return e=e.filter(i=>{const r=n.findLastMonotonous(l=>l.original.startLineNumber<i.original.endLineNumberExclusive)||new _e(new Q(1,1),new Q(1,1)),s=gt(t,l=>l.modified.startLineNumber<i.modified.endLineNumberExclusive);return r!==s}),e}function sa(t,e,n){let i=n;return i=aa(t,e,i),i=aa(t,e,i),i=Yu(t,e,i),i}function aa(t,e,n){if(n.length===0)return n;const i=[];i.push(n[0]);for(let s=1;s<n.length;s++){const a=i[i.length-1];let l=n[s];if(l.seq1Range.isEmpty||l.seq2Range.isEmpty){const o=l.seq1Range.start-a.seq1Range.endExclusive;let u;for(u=1;u<=o&&!(t.getElement(l.seq1Range.start-u)!==t.getElement(l.seq1Range.endExclusive-u)||e.getElement(l.seq2Range Line truncated
`)}isStronglyEqual(e,n){return this.lines[e]===this.lines[n]}}function ca(t){let e=0;for(;e<t.length&&(t.charCodeAt(e)===32||t.charCodeAt(e)===9);)e++;return e}class nc{constructor(){this.dynamicProgrammingDiffing=new Bu,this.myersDiffingAlgorithm=new Ks}computeDiff(e,n,i){if(e.length<=1&&Tu(e,n,(b,g)=>b===g))return new Ut([],[],!1);if(e.length===1&&e[0].length===0||n.length===1&&n[0].length===0)return new Ut([new Be(new Q(1,e.length+1),new Q(1,n.length+1),[new ve(new j(1,1,e.length,e[e.length-1].length+1),new j(1,1,n.length,n[n.length-1].length+1))])],[],!1);const r=i.maxComputationTimeMs===0?Ft.instance:new Fu(i.maxComputationTimeMs),s=!i.ignoreTrimWhitespace,a=new Map;function l(b){let g=a.get(b);return g===void 0&&(g=a.size,a.set(b,g)),g}const o=e.map(b=>l(b.trim())),u=n.map(b=>l(b.trim())),h=new ua(o,e),d=new ua(u,n),m=h.length+d.length<1700?this.dynamicProgrammingDiffing.compute(h,d,r,(b,g)=>e[b]===n[g]?n[g].length===0?.1:1+Math.log(1+n[g].length):.99):this.myersDiffingAlgorithm.compute(h,d,r);let f=m.diffs,w=m.hitTimeout;f=sa(h,d,f),f=ec(h,d,f);const p=[],x=b=>{if(s)for(let g=0;g<b;g++){const _=y+g,M=v+g;if(e[_]!==n[M]){const A=this.refineDiff(e,n,new ie(new O(_,_+1),new O(M,M+1)),r,s,i);for(const T of A.mappings)p.push(T);A.hitTimeout&&(w=!0)}}};let y=0,v=0;for(const b of f){Rt(()=>b.seq1Range.start-y===b.seq2Range.start-v);const g=b.seq1Range.start-y;x(g),y=b.seq1Range.endExclusive,v=b.seq2Range.endExclusive;const _=this.refineDiff(e,n,b,r,s,i);_.hitTimeout&&(w=!0);for(const M of _.mappings)p.push(M)}x(e.length-y);const S=new dn(e),I=new dn(n),P=_i(p,S,I);let F=[];return i.computeMoves&&(F=this.computeMoves(P,e,n,o,u,r,s,i)),Rt(()=>{function b(_,M){if(_.lineNumber<1||_.lineNumber>M.length)return!1;const A=M[_.lineNumber-1];return!(_.column<1||_.column>A.length+1)}function g(_,M){return!(_.startLineNumber<1||_.startLineNumber>M.length+1||_.endLineNumberExclusive<1||_.endLineNumberExclusive>M.length+1)}for(const _ of P){if(!_.innerChanges)return!1;for(const M of _.innerChanges)if(!(b(M.modifiedRange.getStartPosition(),n)&&b(M.modifiedRange.getEndPosition(),n)&&b(M.originalRange.getStartPosition(),e)&&b(M.originalRange.getEndPosition(),e)))return!1;if(!g(_.modified,n)||!g(_.original,e))return!1}return!0}),new Ut(P,F,w)}computeMoves(e,n,i,r,s,a,l,o){return ju(e,n,i,r,s,a).map(d=>{const m=this.refineDiff(n,i,new ie(d.original.toOffsetRange(),d.modified.toOffsetRange()),a,l,o),f=_i(m.mappings,new dn(n),new dn(i),!0);return new js(d,f)})}refineDiff(e,n,i,r,s,a){const o=ic(i).toRangeMapping2(e,n),u=new gn(e,o.originalRange,s),h=new gn(n,o.modifiedRange,s),d=u.length+h.length<500?this.dynamicProgrammingDiffing.compute(u,h,r):this.myersDiffingAlgorithm.compute(u,h,r);let m=d.diffs;return m=sa(u,h,m),m=la(u,h,m,(w,p)=>w.findWordContaining(p)),a.extendToSubwords&&(m=la(u,h,m,(w,p)=>w.findSubWordContaining(p),!0)),m=Zu(u,h,m),m=tc(u,h,m),{mappings:m.map(w=>new ve(u.translateRange(w.seq1Range),h.translateRange(w.seq2Range))),hitTimeout:d.hitTimeout}}}function ic(t){return new _e(new Q(t.seq1Range.start+1,t.seq1Range.endExclusive+1),new Q(t.seq2Range.start+1,t.seq2Range.endExclusive+1))}var Je;(function(t){t.inMemory="inmemory",t.vscode="vscode",t.internal="private",t.walkThrough="walkThrough",t.walkThroughSnippet="walkThroughSnippet",t.http="http",t.https="https",t.file="file",t.mailto="mailto",t.untitled="untitled",t.data="data",t.command="command",t.vscodeRemote="vscode-remote",t.vscodeRemoteResource="vscode-remote-resource",t.vscodeManagedRemoteResource="vscode-managed-remote-resource",t.vscodeUserData="vscode-userdata",t.vscodeCustomEditor="vscode-custom-editor",t.vscodeNotebookCell="vscode-notebook-cell",t.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",t.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",t.vscodeNotebookCellOutput="vscode-notebook-cell-output",t.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",t.vscodeNotebookMetadata="vscode-notebook-metadata",t.vscodeInteractiveInput="vscode-interactive-input",t.vscodeSettings="vscode-settings",t.vscodeWorkspaceTrust="vscode-workspace-trust",t.vscodeTerminal="vscode-terminal",t.vscodeImageCarousel="vscode-image-carousel",t.vscodeChatCodeBlock="vscode-chat-code-block",t.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",t.vscodeChatEditor="vscode-chat-editor",t.vscodeChatInput="chatSessionInput",t.vscodeLocalChatSession="vscode-chat-session",t.webviewPanel="webview-panel",t.vscodeWebview="vscode-webview",t.vscodeBrowser="vscode-browser",t.extension="extension",t.vscodeFileResource="vscode-file",t.tmp="tmp",t.vsls="vsls",t.vscodeSourceControl="vscode-scm",t.commentsInput="comment",t.codeSetting="code-setting",t.outputChannel="output",t.accessibleView="accessible-view",t.chatEditingSnapshotScheme="chat-editing-snapshot-text-model",t.chatEditingModel="chat-editing-text-model",t.copilotPr="copilot-pr"})(Je||(Je={}));const rc="tkn";class sc{constructor(){this._hosts=Object.create(null),this._ports=Object.cre Line truncated
`)),s=new mn(n.join(`
`)),a=this._computer.computeDiff(r.value,s.value,{ignoreTrimWhitespace:!0,computeMoves:i.computeMoves,extendToSubwords:i.extendToSubwords}),l=r.getTransformer(),o=s.getTransformer(),u=[];let h=0;for(const f of a.edits.replacements){const w=f.range.start+h,p=w+f.newText.length,x=l.getRange(new O(f.range.start,f.range.endExclusive)),y=o.getRange(new O(w,p));u.push(new ve(x,y)),h+=f.newText.length-(f.range.endExclusive-f.range.start)}const d=_i(u,r,s),m=[];if(i.computeMoves)for(const f of a.moves){const w=l.getPosition(f.range.original.start),p=l.getPosition(f.range.original.endExclusive),x=o.getPosition(f.range.modified.start),y=o.getPosition(f.range.modified.endExclusive),v=new Q(w.lineNumber,p.lineNumber),S=new Q(x.lineNumber,y.lineNumber);m.push(new js(new _e(v,S),[]))}return new Ut(d,m,a.hitTimeout)}}const wn={getLegacy:()=>new Pu,getDefault:()=>new nc,getAdvancedExternal:()=>ma(!1),getAdvancedWasm:()=>ma(!0)};function Ye(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}class C{constructor(e,n,i,r=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,n))|0,this.b=Math.min(255,Math.max(0,i))|0,this.a=Ye(Math.max(Math.min(1,r),0),3)}static equals(e,n){return e.r===n.r&&e.g===n.g&&e.b===n.b&&e.a===n.a}}class ke{constructor(e,n,i,r){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=Ye(Math.max(Math.min(1,n),0),3),this.l=Ye(Math.max(Math.min(1,i),0),3),this.a=Ye(Math.max(Math.min(1,r),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.l===n.l&&e.a===n.a}static fromRGBA(e){const n=e.r/255,i=e.g/255,r=e.b/255,s=e.a,a=Math.max(n,i,r),l=Math.min(n,i,r);let o=0,u=0;const h=(l+a)/2,d=a-l;if(d>0){switch(u=Math.min(h<=.5?d/(2*h):d/(2-2*h),1),a){case n:o=(i-r)/d+(i<r?6:0);break;case i:o=(r-n)/d+2;break;case r:o=(n-i)/d+4;break}o*=60,o=Math.round(o)}return new ke(o,u,h,s)}static _hue2rgb(e,n,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?e+(n-e)*6*i:i<1/2?n:i<2/3?e+(n-e)*(2/3-i)*6:e}static toRGBA(e){const n=e.h/360,{s:i,l:r,a:s}=e;let a,l,o;if(i===0)a=l=o=r;else{const u=r<.5?r*(1+i):r+i-r*i,h=2*r-u;a=ke._hue2rgb(h,u,n+1/3),l=ke._hue2rgb(h,u,n),o=ke._hue2rgb(h,u,n-1/3)}return new C(Math.round(a*255),Math.round(l*255),Math.round(o*255),s)}}class yt{constructor(e,n,i,r){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=Ye(Math.max(Math.min(1,n),0),3),this.v=Ye(Math.max(Math.min(1,i),0),3),this.a=Ye(Math.max(Math.min(1,r),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.v===n.v&&e.a===n.a}static fromRGBA(e){const n=e.r/255,i=e.g/255,r=e.b/255,s=Math.max(n,i,r),a=Math.min(n,i,r),l=s-a,o=s===0?0:l/s;let u;return l===0?u=0:s===n?u=((i-r)/l%6+6)%6:s===i?u=(r-n)/l+2:u=(n-i)/l+4,new yt(Math.round(u*60),o,s,e.a)}static toRGBA(e){const{h:n,s:i,v:r,a:s}=e,a=r*i,l=a*(1-Math.abs(n/60%2-1)),o=r-a;let[u,h,d]=[0,0,0];return n<60?(u=a,h=l):n<120?(u=l,h=a):n<180?(h=a,d=l):n<240?(h=l,d=a):n<300?(u=l,d=a):n<=360&&(u=a,d=l),u=Math.round((u+o)*255),h=Math.round((h+o)*255),d=Math.round((d+o)*255),new C(u,h,d,s)}}let _n=(K=class{static fromHex(e){return K.Format.CSS.parseHex(e)||K.red}static equals(e,n){return!e&&!n?!0:!e||!n?!1:e.equals(n)}get hsla(){return this._hsla?this._hsla:ke.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:yt.fromRGBA(this.rgba)}constructor(e){if(e)if(e instanceof C)this.rgba=e;else if(e instanceof ke)this._hsla=e,this.rgba=ke.toRGBA(e);else if(e instanceof yt)this._hsva=e,this.rgba=yt.toRGBA(e);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(e){return!!e&&C.equals(this.rgba,e.rgba)&&ke.equals(this.hsla,e.hsla)&&yt.equals(this.hsva,e.hsva)}getRelativeLuminance(){const e=K._relativeLuminanceForComponent(this.rgba.r),n=K._relativeLuminanceForComponent(this.rgba.g),i=K._relativeLuminanceForComponent(this.rgba.b),r=.2126*e+.7152*n+.0722*i;return Ye(r,4)}static _relativeLuminanceForComponent(e){const n=e/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){const n=this.getRelativeLuminance(),i=e.getRelativeLuminance();return n>i}isDarkerThan(e){const n=this.getRelativeLuminance(),i=e.getRelativeLuminance();return n<i}lighten(e){return new K(new ke(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*e,this.hsla.a))}darken(e){return new K(new ke(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*e,this.hsla.a))}transparent(e){const{r:n,g:i,b:r,a:s}=this.rgba;return new K(new C(n,i,r,s*e))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new K(new C(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}mix(e,n=.5){const i=Math.min(Math.max(n,0),1),r=this.rgba,s=e.rgba,a=r.r+(s.r-r.r)*i,l=r.g+(s.g-r.g)*i,o=r.b+(s.b-r.b)*i,u=r.a+(s.a-r.a)*i;return new K(new C(a,l,o,u))}makeOpaque(e){if(this.isOpaque()||e.rgba.a!==1)return this;const{r:n,g:i,b:r,a:s}=this.rgba;return new K(new C(e.rgba.r-s*(e.rgba.r-n),e.rgba.g-s*(e.rgba.g-i),e.rgba.b-s*(e.rgba. Line truncated
`);s.lastIndex=0;let h;for(;(h=s.exec(u))!==null;){const d=u.substring(0,h.index),m=(d.match(/\n/g)||[]).length,f=a+m,w=h[0].split(`
`),p=w.length,x=f+p-1,y=d.lastIndexOf(`
`)+1,v=h.index-y+1,S=w[w.length-1],I=p===1?v+h[0].length:S.length+1,P={startLineNumber:f,startColumn:v,endLineNumber:x,endColumn:I},F=(h.groups??{}).label??"",b=((h.groups??{}).separator??"")!=="",g={range:P,text:F,hasSeparatorLine:b,shouldBeInComments:!0};(g.text||g.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<g.range.startLineNumber)&&n.push(g),s.lastIndex=h.index+h[0].length}}return n}function Sc(t){t=t.trim();const e=t.startsWith("-");return t=t.replace(vc,""),{text:t,hasSeparatorLine:e}}class wa{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,n)=>{this.completeCallback=e,this.errorCallback=n})}complete(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.completeCallback(e),this.outcome={outcome:0,value:e},n()})}error(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.errorCallback(e),this.outcome={outcome:1,value:e},n()})}cancel(){return this.error(new ir)}}var _a;(function(t){async function e(i){let r;const s=await Promise.all(i.map(a=>a.then(l=>l,l=>{r||(r=l)})));if(typeof r<"u")throw r;return s}t.settled=e;function n(i){return new Promise(async(r,s)=>{try{await i(r,s)}catch(a){s(a)}})}t.withAsyncBody=n})(_a||(_a={}));class Ac{constructor(){this._unsatisfiedConsumers=[],this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(e){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){const n=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(n,e)}else this._unconsumedValues.push(e)}produceFinal(e){this._ensureNoFinalValue(),this._finalValue=e;for(const n of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(n,e);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new se("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(e,n){n.ok?e.complete(n.value):e.error(n.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){const e=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return e.ok?Promise.resolve(e.value):Promise.reject(e.error)}else{const e=new wa;return this._unsatisfiedConsumers.push(e),e.p}}}const de=class de{constructor(e,n){this._onReturn=n,this._producerConsumer=new Ac,this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async i=>(this._finishError(i),{done:!0,value:void 0})},queueMicrotask(async()=>{const i=e({emitOne:r=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:r}}),emitMany:r=>{for(const s of r)this._producerConsumer.produce({ok:!0,value:{done:!1,value:s}})},reject:r=>this._finishError(r)});if(!this._producerConsumer.hasFinalValue)try{await i,this._finishOk()}catch(r){this._finishError(r)}})}static fromArray(e){return new de(n=>{n.emitMany(e)})}static fromPromise(e){return new de(async n=>{n.emitMany(await e)})}static fromPromisesResolveOrder(e){return new de(async n=>{await Promise.all(e.map(async i=>n.emitOne(await i)))})}static merge(e){return new de(async n=>{await Promise.all(e.map(async i=>{for await(const r of i)n.emitOne(r)}))})}static map(e,n){return new de(async i=>{for await(const r of e)i.emitOne(n(r))})}static tee(e){let n,i;const r=new wa,s=async()=>{if(!(!n||!i))try{for await(const o of e)n.emitOne(o),i.emitOne(o)}catch(o){n.reject(o),i.reject(o)}finally{r.complete()}},a=new de(async o=>(n=o,s(),r.p)),l=new de(async o=>(i=o,s(),r.p));return[a,l]}map(e){return de.map(this,e)}static coalesce(e){return de.filter(e,n=>!!n)}coalesce(){return de.coalesce(this)}static filter(e,n){return new de(async i=>{for await(const r of e)n(r)&&i.emitOne(r)})}filter(e){return de.filter(this,e)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(e){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:e})}[Symbol.asyncIterator](){return this._iterator}};de.EMPTY=de.fromArray([]);let va=de;class Lc{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,n){e=mt(e);const i=this.values,r=this.prefixSum,s=n.length;return s===0?!1:(this.values=new Uint32Array(i.length+s),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+s),this.values.set(n,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,n){return e=mt(e),n=mt(n),this.values[e]===n?!1:(this.values[e]=n,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,n){e=mt(e),n=mt(n);const i=this.values,r=this.prefixSum;if(e>=i.length)return!1;const s=i.length-e;return n>=s&&(n=s),n===0?!1:(this.values=new Uint32Array(i.length Line truncated
`,s==="\r"&&r+1<n.length&&n.charAt(r+1)===`
`&&r++}i&&n.length>0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),i=0,r=n.length;if(r===0)return oe.create(0,e);for(;i<r;){let a=Math.floor((i+r)/2);n[a]>e?r=a:i=a+1}let s=i-1;return oe.create(s,e-n[s])}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let i=n[e.line],r=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(i+e.character,r),i)}get lineCount(){return this.getLineOffsets().length}};var D;(function(t){const e=Object.prototype.toString;function n(f){return typeof f<"u"}t.defined=n;function i(f){return typeof f>"u"}t.undefined=i;function r(f){return f===!0||f===!1}t.boolean=r;function s(f){return e.call(f)==="[object String]"}t.string=s;function a(f){return e.call(f)==="[object Number]"}t.number=a;function l(f,w,p){return e.call(f)==="[object Number]"&&w<=f&&f<=p}t.numberRange=l;function o(f){return e.call(f)==="[object Number]"&&-2147483648<=f&&f<=2147483647}t.integer=o;function u(f){return e.call(f)==="[object Number]"&&0<=f&&f<=2147483647}t.uinteger=u;function h(f){return e.call(f)==="[object Function]"}t.func=h;function d(f){return f!==null&&typeof f=="object"}t.objectLiteral=d;function m(f,w){return Array.isArray(f)&&f.every(w)}t.typedArray=m})(D||(D={}));class Vt{constructor(e,n,i,r){this._uri=e,this._languageId=n,this._version=i,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const n=this.offsetAt(e.start),i=this.offsetAt(e.end);return this._content.substring(n,i)}return this._content}update(e,n){for(let i of e)if(Vt.isIncremental(i)){const r=go(i.range),s=this.offsetAt(r.start),a=this.offsetAt(r.end);this._content=this._content.substring(0,s)+i.text+this._content.substring(a,this._content.length);const l=Math.max(r.start.line,0),o=Math.max(r.end.line,0);let u=this._lineOffsets;const h=po(i.text,!1,s);if(o-l===h.length)for(let m=0,f=h.length;m<f;m++)u[m+l+1]=h[m];else h.length<1e4?u.splice(l+1,o-l,...h):this._lineOffsets=u=u.slice(0,l+1).concat(h,u.slice(o+1));const d=i.text.length-(a-s);if(d!==0)for(let m=l+1+h.length,f=u.length;m<f;m++)u[m]=u[m]+d}else if(Vt.isFull(i))this._content=i.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=po(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),i=0,r=n.length;if(r===0)return{line:0,character:e};for(;i<r;){let a=Math.floor((i+r)/2);n[a]>e?r=a:i=a+1}let s=i-1;return{line:s,character:e-n[s]}}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let i=n[e.line],r=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(i+e.character,r),i)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var $i;(function(t){function e(r,s,a,l){return new Vt(r,s,a,l)}t.create=e;function n(r,s,a){if(r instanceof Vt)return r.update(s,a),r;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function i(r,s){let a=r.getText(),l=Gi(s.map(Hc),(h,d)=>{let m=h.range.start.line-d.range.start.line;return m===0?h.range.start.character-d.range.start.character:m}),o=0;const u=[];for(const h of l){let d=r.offsetAt(h.range.start);if(d<o)throw new Error("Overlapping edit");d>o&&u.push(a.substring(o,d)),h.newText.length&&u.push(h.newText),o=r.offsetAt(h.range.end)}return u.push(a.substr(o)),u.join("")}t.applyEdits=i})($i||($i={}));function Gi(t,e){if(t.length<=1)return t;const n=t.length/2|0,i=t.slice(0,n),r=t.slice(n);Gi(i,e),Gi(r,e);let s=0,a=0,l=0;for(;s<i.length&&a<r.length;)e(i[s],r[a])<=0?t[l++]=i[s++]:t[l++]=r[a++];for(;s<i.length;)t[l++]=i[s++];for(;a<r.length;)t[l++]=r[a++];return t}function po(t,e,n=0){const i=e?[n]:[];for(let r=0;r<t.length;r++){let s=t.charCodeAt(r);(s===13||s===10)&&(s===13&&r+1<t.length&&t.charCodeAt(r+1)===10&&r++,i.push(n+r+1))}return i}function go(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function Hc(t){const e=go(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var z;(function(t){t[t.StartCommentTag=0]="StartCommentTag",t[t.Comment=1]="Comment",t[t.EndCommentTag=2]="EndCommentTag",t[t.StartTagOpen=3]="StartTagOpen",t[t.StartTagClose=4]="StartTagClose",t[t.StartTagSelfClose=5]="StartTagSelfClose",t[t.StartTag=6]="StartTag",t[t.EndTagOpen=7]="EndTagOpen",t[t.EndTagClose=8]="EndTagClose",t[t.EndTag=9]="EndTag",t[t.Delimi Line truncated
`,"nexist;":"∄","nexists;":"∄","Nfr;":"𝔑","nfr;":"𝔫","ngE;":"≧̸","nge;":"≱","ngeq;":"≱","ngeqq;":"≧̸","ngeqslant;":"⩾̸","nges;":"⩾̸","nGg;":"⋙̸","ngsim;":"≵","nGt;":"≫⃒","ngt;":"≯","ngtr;":"≯","nGtv;":"≫̸","nhArr;":"⇎","nharr;":"↮","nhpar;":"⫲","ni;":"∋","nis;":"⋼","nisd;":"⋺","niv;":"∋","NJcy;":"Њ","njcy;":"њ","nlArr;":"⇍","nlarr;":"↚","nldr;":"‥","nlE;":"≦̸","nle;":"≰","nLeftarrow;":"⇍","nleftarrow;":"↚","nLeftrightarrow;":"⇎","nleftrightarrow;":"↮","nleq;":"≰","nleqq;":"≦̸","nleqslant;":"⩽̸","nles;":"⩽̸","nless;":"≮","nLl;":"⋘̸","nlsim;":"≴","nLt;":"≪⃒","nlt;":"≮","nltri;":"⋪","nltrie;":"⋬","nLtv;":"≪̸","nmid;":"∤","NoBreak;":"⁠","NonBreakingSpace;":" ","Nopf;":"ℕ","nopf;":"𝕟","Not;":"⫬","not;":"¬",not:"¬","NotCongruent;":"≢","NotCupCap;":"≭","NotDoubleVerticalBar;":"∦","NotElement;":"∉","NotEqual;":"≠","NotEqualTilde;":"≂̸","NotExists;":"∄","NotGreater;":"≯","NotGreaterEqual;":"≱","NotGreaterFullEqual;":"≧̸","NotGreaterGreater;":"≫̸","NotGreaterLess;":"≹","NotGreaterSlantEqual;":"⩾̸","NotGreaterTilde;":"≵","NotHumpDownHump;":"≎̸","NotHumpEqual;":"≏̸","notin;":"∉","notindot;":"⋵̸","notinE;":"⋹̸","notinva;":"∉","notinvb;":"⋷","notinvc;":"⋶","NotLeftTriangle;":"⋪","NotLeftTriangleBar;":"⧏̸","NotLeftTriangleEqual;":"⋬","NotLess;":"≮","NotLessEqual;":"≰","NotLessGreater;":"≸","NotLessLess;":"≪̸","NotLessSlantEqual;":"⩽̸","NotLessTilde;":"≴","NotNestedGreaterGreater;":"⪢̸","NotNestedLessLess;":"⪡̸","notni;":"∌","notniva;":"∌","notnivb;":"⋾","notnivc;":"⋽","NotPrecedes;":"⊀","NotPrecedesEqual;":"⪯̸","NotPrecedesSlantEqual;":"⋠","NotReverseElement;":"∌","NotRightTriangle;":"⋫","NotRightTriangleBar;":"⧐̸","NotRightTriangleEqual;":"⋭","NotSquareSubset;":"⊏̸","NotSquareSubsetEqual;":"⋢","NotSquareSuperset;":"⊐̸","NotSquareSupersetEqual;":"⋣","NotSubset;":"⊂⃒","NotSubsetEqual;":"⊈","NotSucceeds;":"⊁","NotSucceedsEqual;":"⪰̸","NotSucceedsSlantEqual;":"⋡","NotSucceedsTilde;":"≿̸","NotSuperset;":"⊃⃒","NotSupersetEqual;":"⊉","NotTilde;":"≁","NotTildeEqual;":"≄","NotTildeFullEqual;":"≇","NotTildeTilde;":"≉","NotVerticalBar;":"∤","npar;":"∦","nparallel;":"∦","nparsl;":"⫽⃥","npart;":"∂̸","npolint;":"⨔","npr;":"⊀","nprcue;":"⋠","npre;":"⪯̸","nprec;":"⊀","npreceq;":"⪯̸","nrArr;":"⇏","nrarr;":"↛","nrarrc;":"⤳̸","nrarrw;":"↝̸","nRightarrow;":"⇏","nrightarrow;":"↛","nrtri;":"⋫","nrtrie;":"⋭","nsc;":"⊁","nsccue;":"⋡","nsce;":"⪰̸","Nscr;":"𝒩","nscr;":"𝓃","nshortmid;":"∤","nshortparallel;":"∦","nsim;":"≁","nsime;":"≄","nsimeq;":"≄","nsmid;":"∤","nspar;":"∦","nsqsube;":"⋢","nsqsupe;":"⋣","nsub;":"⊄","nsubE;":"⫅̸","nsube;":"⊈","nsubset;":"⊂⃒","nsubseteq;":"⊈","nsubseteqq;":"⫅̸","nsucc;":"⊁","nsucceq;":"⪰̸","nsup;":"⊅","nsupE;":"⫆̸","nsupe;":"⊉","nsupset;":"⊃⃒","nsupseteq;":"⊉","nsupseteqq;":"⫆̸","ntgl;":"≹","Ntilde;":"Ñ",Ntilde:"Ñ","ntilde;":"ñ",ntilde:"ñ","ntlg;":"≸","ntriangleleft;":"⋪","ntrianglelefteq;":"⋬","ntriangleright;":"⋫","ntrianglerighteq;":"⋭","Nu;":"Ν","nu;":"ν","num;":"#","numero;":"№","numsp;":" ","nvap;":"≍⃒","nVDash;":"⊯","nVdash;":"⊮","nvDash;":"⊭","nvdash;":"⊬","nvge;":"≥⃒","nvgt;":">⃒","nvHarr;":"⤄","nvinfin;":"⧞","nvlArr;":"⤂","nvle;":"≤⃒","nvlt;":"<⃒","nvltrie;":"⊴⃒","nvrArr;":"⤃","nvrtrie;":"⊵⃒","nvsim;":"∼⃒","nwarhk;":"⤣","nwArr;":"⇖","nwarr;":"↖","nwarrow;":"↖","nwnear;":"⤧","Oacute;":"Ó",Oacute:"Ó","oacute;":"ó",oacute:"ó","oast;":"⊛","ocir;":"⊚","Ocirc;":"Ô",Ocirc:"Ô","ocirc;":"ô",ocirc:"ô","Ocy;":"О","ocy;":"о","odash;":"⊝","Odblac;":"Ő","odblac;":"ő","odiv;":"⨸","odot;":"⊙","odsold;":"⦼","OElig;":"Œ","oelig;":"œ","ofcir;":"⦿","Ofr;":"𝔒","ofr;":"𝔬","ogon;":"˛","Ograve;":"Ò",Ograve:"Ò","ograve;":"ò",ograve:"ò","ogt;":"⧁","ohbar;":"⦵","ohm;":"Ω","oint;":"∮","olarr;":"↺","olcir;":"⦾","olcross;":"⦻","oline;":"‾","olt;":"⧀","Omacr;":"Ō","omacr;":"ō","Omega;":"Ω","omega;":"ω","Omicron;":"Ο","omicron;":"ο","omid;":"⦶","ominus;":"⊖","Oopf;":"𝕆","oopf;":"𝕠","opar;":"⦷","OpenCurlyDoubleQuote;":"“","OpenCurlyQuote;":"‘","operp;":"⦹","oplus;":"⊕","Or;":"⩔","or;":"∨","orarr;":"↻","ord;":"⩝","order;":"ℴ","orderof;":"ℴ","ordf;":"ª",ordf:"ª","ordm;":"º",ordm:"º","origof;":"⊶","oror;":"⩖","orslope;":"⩗","orv;":"⩛","oS;":"Ⓢ","Oscr;":"𝒪","oscr;":"ℴ","Oslash;":"Ø",Oslash:"Ø","oslash;":"ø",oslash:"ø","osol;":"⊘","Otilde;":"Õ",Otilde:"Õ","otilde;":"õ",otilde:"õ","Otimes;":"⨷","otimes;":"⊗","otimesas;":"⨶","Ouml;":"Ö",Ouml:"Ö","ouml;":"ö",ouml:"ö","ovbar;":"⌽","OverBar;":"‾","OverBrace;":"⏞","OverBracket;":"⎴","OverParenthesis;":"⏜","par;" Line truncated
`),n?i.value+=t.references.map(r=>`[${r.name}](${r.url})`).join(" | "):i.value+=t.references.map(r=>`${r.name}: ${r.url}`).join(`
`)),i.value!=="")return i}class sh{constructor(e,n){this.dataManager=e,this.readDirectory=n,this.atributeCompletions=[]}onHtmlAttributeValue(e){this.dataManager.isPathAttribute(e.tag,e.attribute)&&this.atributeCompletions.push(e)}async computeCompletions(e,n){const i={items:[],isIncomplete:!1};for(const r of this.atributeCompletions){const s=oh(e.getText(r.range));if(lh(s))if(s==="."||s==="..")i.isIncomplete=!0;else{const a=uh(r.value,s,r.range),l=await this.providePathSuggestions(r.value,a,e,n);for(const o of l)i.items.push(o)}}return i}async providePathSuggestions(e,n,i,r){const s=e.substring(0,e.lastIndexOf("/")+1);let a=r.resolveReference(s||".",i.uri);if(a)try{const l=[],o=await this.readDirectory(a);for(const[u,h]of o)u.charCodeAt(0)!==ah&&l.push(ch(u,h===Xi.Directory,n));return l}catch{}return[]}}const ah=46;function oh(t){return Ze(t,"'")||Ze(t,'"')?t.slice(1,-1):t}function lh(t){return!(Ze(t,"http")||Ze(t,"https")||Ze(t,"//"))}function uh(t,e,n){let i;const r=t.lastIndexOf("/");if(r===-1)i=hh(n,1,-1);else{const s=e.slice(r+1),a=Gt(n.end,-1-s.length),l=s.indexOf(" ");let o;l!==-1?o=Gt(a,l):o=Gt(n.end,-1),i=Z.create(a,o)}return i}function ch(t,e,n){return e?(t=t+"/",{label:t,kind:ge.Folder,textEdit:ue.replace(n,t),command:{title:"Suggest",command:"editor.action.triggerSuggest"}}):{label:t,kind:ge.File,textEdit:ue.replace(n,t)}}function Gt(t,e){return oe.create(t.line,t.character+e)}function hh(t,e,n){const i=Gt(t.start,e),r=Gt(t.end,n);return Z.create(i,r)}class dh{constructor(e,n){this.lsOptions=e,this.dataManager=n,this.completionParticipants=[]}setCompletionParticipants(e){this.completionParticipants=e||[]}async doComplete2(e,n,i,r,s){if(!this.lsOptions.fileSystemProvider||!this.lsOptions.fileSystemProvider.readDirectory)return this.doComplete(e,n,i,s);const a=new sh(this.dataManager,this.lsOptions.fileSystemProvider.readDirectory),l=this.completionParticipants;this.completionParticipants=[a].concat(l);const o=this.doComplete(e,n,i,s);try{const u=await a.computeCompletions(e,r);return{isIncomplete:o.isIncomplete||u.isIncomplete,items:u.items.concat(o.items)}}finally{this.completionParticipants=l}}doComplete(e,n,i,r){const s=this._doComplete(e,n,i,r);return this.convertCompletionList(s)}_doComplete(e,n,i,r){const s={isIncomplete:!1,items:[]},a=this.completionParticipants,l=this.dataManager.getDataProviders().filter(k=>k.isApplicable(e.languageId)&&(!r||r[k.getId()]!==!1)),o=this.dataManager.getVoidElements(l),u=this.doesSupportMarkdown(),h=e.getText(),d=e.offsetAt(n),m=i.findNodeBefore(d);if(!m)return s;const f=ye(h,m.start);let w="",p;function x(k,E=d){return k>d&&(k=d),{start:e.positionAt(k),end:e.positionAt(E)}}function y(k,E){const N=x(k,E);return l.forEach(U=>{U.provideTags().forEach(H=>{s.items.push({label:H.name,kind:ge.Property,documentation:it(H,void 0,u),textEdit:ue.replace(N,H.name),insertTextFormat:Ee.PlainText})})}),s}function v(k){let E=k;for(;E>0;){const N=h.charAt(E-1);if(`
\r`.indexOf(N)>=0)return h.substring(E,k);if(!Rn(N))return null;E--}return h.substring(0,k)}function S(k,E,N=d){const U=x(k,N),H=To(h,N,$.WithinEndTag,z.EndTagClose)?"":">";let W=m;for(E&&(W=W.parent);W;){const B=W.tag;if(B&&(!W.closed||W.endTagStart&&W.endTagStart>d)){const X={label:"/"+B,kind:ge.Property,filterText:"/"+B,textEdit:ue.replace(U,"/"+B+H),insertTextFormat:Ee.PlainText},J=v(W.start),te=v(k-1);if(J!==null&&te!==null&&J!==te){const be=J+"</"+B+H;X.textEdit=ue.replace(x(k-1-te.length),be),X.filterText=te+"</"+B}return s.items.push(X),s}W=W.parent}return E||l.forEach(B=>{B.provideTags().forEach(X=>{s.items.push({label:"/"+X.name,kind:ge.Property,documentation:it(X,void 0,u),filterText:"/"+X.name+H,textEdit:ue.replace(U,"/"+X.name+H),insertTextFormat:Ee.PlainText})})}),s}const I=(k,E)=>{if(r&&r.hideAutoCompleteProposals)return s;if(!this.dataManager.isVoidElement(E,o)){const N=e.positionAt(k);s.items.push({label:"</"+E+">",kind:ge.Property,filterText:"</"+E+">",textEdit:ue.insert(N,"$0</"+E+">"),insertTextFormat:Ee.Snippet})}return s};function P(k,E){return y(k,E),S(k,!0,E),s}function F(){const k=Object.create(null);return m.attributeNames.forEach(E=>{k[E]=!0}),k}function b(k,E=d){let N=d;for(;N<E&&h[N]!=="<";)N++;const U=h.substring(k,E),H=x(k,N);let W="";if(!To(h,E,$.AfterAttributeName,z.DelimiterAssign)){const X=r?.attributeDefaultValue??"doublequotes";X==="empty"?W="=$1":X==="singlequotes"?W="='$1'":W='="$1"'}const B=F();return B[U]=!1,l.forEach(X=>{X.provideAttributes(w).forEach(J=>{if(B[J.name])return;B[J.name]=!0;let te=J.name,be;J.valueSet!=="v"&&W.length&&(te=te+W,(J.valueSet||J.name==="style")&&(be={title:"Suggest",command:"editor.action.triggerSuggest"})),s.items.push({label:J.name,kind:J.valueSet==="handler"?ge.Function:ge.Value,documentation:it(J,void 0,u),textEdit:ue.replace(H,te),insertTextFormat:Ee.Snippet,command:be})})}),g(H,B),s}function g(k,E){const N="data-",U={};U[N]=`${N}$1="$2"`;function H(W){W.attributeNames.forEach(B=>{Ze(B,N)&&!U[B]&&!E[B]&&(U[B]=B+'="$1"')}),W.children.forEach(B=>H(B))}i&&i.roots.forEach(W=>H(W)),Object.keys(U).forEach(W=>s.items.push({label:W,kind:ge.Value,textEdit:ue.replace(k,U[W]),insertTextFormat:Ee.Snippet}))}function _(k,E=d){let N,U,H;if(d>k&&d<=E&&mh(h[k])){const W=k+1;let B=E;E>k&&h[E-1]===h[k]&&B--;const X=fh(h,d,W),J=ph(h,d,B);N=x(X,J),H=d>=W&&d<=B?h.substring(W,d):"",U=!1}else N=x(k,E),H=h.substring(k,d),U=!0;if(a.length>0){const W=w.toLowerCase(),B=p.toLowerCase(),X=x(k,E);for(const J of a)J.onHtmlAttributeValue&&J.onHtmlAttributeValue({document:e,position:n,tag:W,attribute:B,value:H,range:X})}return l.forEach(W=>{W.provideValues(w,p).forEach(B=>{const X=U?'"'+B.name+'"':B.name;s.items.push({label:B.name,filterText:X,kind:ge.Unit,documentation:it(B,void 0,u),textEdit:ue.replace(N,X),insertTextFormat:Ee.PlainText})})}),T(),s}function M(k){return d===f.getTokenEnd()&&(L=f.scan(),L===k&&f.getTokenOffset()===d)?f.getTokenEnd():d}function A(){for(const k of a)k.onHtmlContent&&k.onHtmlContent({document:e,position:n});return T()}function T(){let k=d-1,E=n.character;for(;k>=0&&$t(h,k);)k--,E--;if(k>=0&&h[k]==="&"){const N=Z.create(oe.create(n.line,E-1),n);for(const U in jt)if(Yc(U,";")){const H="&"+U;s.items.push({label:H,kind:ge.Keyword,documentation:Ce("Character entity representing '{0}'",jt[U]),textEdit:ue.replace(N,H),insertTextFormat:Ee.PlainText})}}return s}function R(k,E){const N=x(k,E);s.items.push({label:"!DOCTYPE",kind:ge.Property,documentation:"A preamble for an HTML document.",textEdit:ue.replace(N,"!DOCTYPE html>"),insertTextFormat:Ee.PlainText})}let L=f.scan();for(;L!==z.EOS&&f.getTokenOffset()<=d;){switch(L){case z.StartTagOpen:if(f.getTokenEnd()===d){const k=M(z.StartTag);return n.line===0&&R(d,k),P(d,k)}break;case z.StartTag:if(f.getTokenOffset()<=d&&d<=f.getTokenEnd())return y(f.getTokenOffset(),f.getTokenEnd());w=f.getTokenText();break;case z.AttributeName:if(f.getTokenOffset()<=d&&d<=f.getTokenEnd())return b(f.getTokenOffset(),f.getTokenEnd());p=f.getTokenText();break;case z.DelimiterAssign:if(f.getTokenEnd()===d){const k=M(z.AttributeValue);return _(d,k)}break;case z.AttributeValue:if(f.getTokenOffset()<=d&&d<=f.getTokenEnd())return _(f.getTokenOffset(),f.getTokenEnd());break;case z.Whitespace:if(d<=f.getTokenEnd())switch(f.getScannerState()){case $.AfterOpeningStartTag:const k=f.getTokenOffset(),E=M(z.StartTag);return P(k,E);case $.WithinTag:case $.AfterAttributeName:return b(f.getTokenEnd());case $.BeforeAttributeValue:return _(f.getTokenEnd());case $.AfterOpeningEndTag:return S(f.getTokenOffset()-1,!1);case $.WithinContent:return A()}break;case z.EndTagOpen:if(d<=f.getTokenEnd()){const k=f.getTokenOffset()+1,E=M(z.EndTag);return S(k,!1,E)}break;case z.EndTag:if(d<=f.getTokenEnd()){let k=f.getTokenOffset()-1;for(;k>=0;){const E=h.charAt(k);if(E==="/")return S(k,!1,f.getTokenEnd());if(!Rn(E))break;k--}}break;case z.StartTagClose:if(d<=f.getTokenEnd()&&w)return I(f.getTokenEnd(),w);break;case z.Content:if(d<=f.getTokenEnd())r Line truncated
`);u!==-1?this.__character_count=o.length-u:this.__character_count+=o.length},s.prototype.pop=function(){var o=null;return this.is_empty()||(o=this.__items.pop(),this.__character_count-=o.length),o},s.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},s.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},s.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},s.prototype.toString=function(){var o="";return this.is_empty()?this.__parent.indent_empty_lines&&(o=this.__parent.get_indent_string(this.__indent_count)):(o=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),o+=this.__items.join("")),o};function a(o,u){this.__cache=[""],this.__indent_size=o.indent_size,this.__indent_string=o.indent_char,o.indent_with_tabs||(this.__indent_string=new Array(o.indent_size+1).join(o.indent_char)),u=u||"",o.indent_level>0&&(u=new Array(o.indent_level+1).join(this.__indent_string)),this.__base_string=u,this.__base_string_length=u.length}a.prototype.get_indent_size=function(o,u){var h=this.__base_string_length;return u=u||0,o<0&&(h=0),h+=o*this.__indent_size,h+=u,h},a.prototype.get_indent_string=function(o,u){var h=this.__base_string;return u=u||0,o<0&&(o=0,h=""),u+=o*this.__indent_size,this.__ensure_cache(u),h+=this.__cache[u],h},a.prototype.__ensure_cache=function(o){for(;o>=this.__cache.length;)this.__add_column()},a.prototype.__add_column=function(){var o=this.__cache.length,u=0,h="";this.__indent_size&&o>=this.__indent_size&&(u=Math.floor(o/this.__indent_size),o-=u*this.__indent_size,h=new Array(u+1).join(this.__indent_string)),o&&(h+=new Array(o+1).join(" ")),this.__cache.push(h)};function l(o,u){this.__indent_cache=new a(o,u),this.raw=!1,this._end_with_newline=o.end_with_newline,this.indent_size=o.indent_size,this.wrap_line_length=o.wrap_line_length,this.indent_empty_lines=o.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new s(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}l.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},l.prototype.get_line_number=function(){return this.__lines.length},l.prototype.get_indent_string=function(o,u){return this.__indent_cache.get_indent_string(o,u)},l.prototype.get_indent_size=function(o,u){return this.__indent_cache.get_indent_size(o,u)},l.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},l.prototype.add_new_line=function(o){return this.is_empty()||!o&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},l.prototype.get_code=function(o){this.trim(!0);var u=this.current_line.pop();u&&(u[u.length-1]===`
`&&(u=u.replace(/\n+$/g,"")),this.current_line.push(u)),this._end_with_newline&&this.__add_outputline();var h=this.__lines.join(`
`);return o!==`
`&&(h=h.replace(/[\n]/g,o)),h},l.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},l.prototype.set_indent=function(o,u){return o=o||0,u=u||0,this.next_line.set_indent(o,u),this.__lines.length>1?(this.current_line.set_indent(o,u),!0):(this.current_line.set_indent(),!1)},l.prototype.add_raw_token=function(o){for(var u=0;u<o.newlines;u++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(o.whitespace_before),this.current_line.push(o.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},l.prototype.add_token=function(o){this.__add_space_before_token(),this.current_line.push(o),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},l.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},l.prototype.remove_indent=function(o){for(var u=this.__lines.length;o<u;)this.__lines[o]._remove_indent(),o++;this.current_line._remove_wrap_indent()},l.prototype.trim=function(o){for(o=o===void 0?!1:o,this.current_line.trim();o&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},l.prototype.just_added_newline=function(){return this.current_line.is_empty()},l.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},l.prototype.ensure_empty_line_above=function(o,u){for(var h=this.__lines.length-2;h>=0;){var d=this.__lines[h];if(d.is_empty())break;if(d.item(0).indexOf(o)!==0&&d.item(-1)!==u){this.__lines.splice(h+1,0,new s(this)),this.previous_line=this.__lines[this.__lines.length-2];break}h--}},r.exports.Output=l}),,,,(function(r){function s(o,u){this.raw_options=a(o,u),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}s.prototype._get_array=function(o,u){var h=this.raw_options[o],d=u||[];return typeof h=="object"?h!==null&&typeof h.concat=="function"&&(d=h.concat()):typeof h=="string"&&(d=h.split(/[^a-zA-Z0-9_\/\-]+/)),d},s.prototype._get_boolean=function(o,u){var h=this.raw_options[o],d=h===void 0?!!u:!!h;return d},s.prototype._get_characters=function(o,u){var h=this.raw_options[o],d=u||"";return typeof h=="string"&&(d=h.replace(/\\r/,"\r").replace(/\\n/,`
`).replace(/\\t/," ")),d},s.prototype._get_number=function(o,u){var h=this.raw_options[o];u=parseInt(u,10),isNaN(u)&&(u=0);var d=parseInt(h,10);return isNaN(d)&&(d=u),d},s.prototype._get_selection=function(o,u,h){var d=this._get_selection_list(o,u,h);if(d.length!==1)throw new Error("Invalid Option Value: The option '"+o+`' can only be one of the following values:
`+u+`
You passed in: '`+this.raw_options[o]+"'");return d[0]},s.prototype._get_selection_list=function(o,u,h){if(!u||u.length===0)throw new Error("Selection list cannot be empty.");if(h=h||[u[0]],!this._is_valid_selection(h,u))throw new Error("Invalid Default Value!");var d=this._get_array(o,h);if(!this._is_valid_selection(d,u))throw new Error("Invalid Option Value: The option '"+o+`' can contain only the following values:
`+u+`
You passed in: '`+this.raw_options[o]+"'");return d},s.prototype._is_valid_selection=function(o,u){return o.length&&u.length&&!o.some(function(h){return u.indexOf(h)===-1})};function a(o,u){var h={};o=l(o);var d;for(d in o)d!==u&&(h[d]=o[d]);if(u&&o[u])for(d in o[u])h[d]=o[u][d];return h}function l(o){var u={},h;for(h in o){var d=h.replace(/-/g,"_");u[d]=o[h]}return u}r.exports.Options=s,r.exports.normalizeOpts=l,r.exports.mergeOpts=a}),,(function(r){var s=RegExp.prototype.hasOwnProperty("sticky");function a(l){this.__input=l||"",this.__input_length=this.__input.length,this.__position=0}a.prototype.restart=function(){this.__position=0},a.prototype.back=function(){this.__position>0&&(this.__position-=1)},a.prototype.hasNext=function(){return this.__position<this.__input_length},a.prototype.next=function(){var l=null;return this.hasNext()&&(l=this.__input.charAt(this.__position),this.__position+=1),l},a.prototype.peek=function(l){var o=null;return l=l||0,l+=this.__position,l>=0&&l<this.__input_length&&(o=this.__input.charAt(l)),o},a.prototype.__match=function(l,o){l.lastIndex=o;var u=l.exec(this.__input);return u&&!(s&&l.sticky)&&u.index!==o&&(u=null),u},a.prototype.test=function(l,o){return o=o||0,o+=this.__position,o>=0&&o<this.__input_length?!!this.__match(l,o):!1},a.prototype.testChar=function(l,o){var u=this.peek(o);return l.lastIndex=0,u!==null&&l.test(u)},a.prototype.match=function(l){var o=this.__match(l,this.__position);return o?this.__position+=o[0].length:o=null,o},a.prototype.read=function(l,o,u){var h="",d;return l&&(d=this.match(l),d&&(h+=d[0])),o&&(d||!l)&&(h+=this.readUntil(o,u)),h},a.prototype.readUntil=function(l,o){var u="",h=this.__position;l.lastIndex=this.__position;var d=l.exec(this.__input);return d?(h=d.index,o&&(h+=d[0].length)):h=this.__input_length,u=this.__input.substring(this.__position,h),this.__position=h,u},a.prototype.readUntilAfter=function(l){return this.readUntil(l,!0)},a.prototype.get_regexp=function(l,o){var u=null,h="g";return o&&s&&(h="y"),typeof l=="string"&&l!==""?u=new RegExp(l,h):l&&(u=new RegExp(l.source,h)),u},a.prototype.get_literal_regexp=function(l){return RegExp(l.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},a.prototype.peekUntilAfter=function(l){var o=this.__position,u=this.readUntilAfter(l);return this.__position=o,u},a.prototype.lookBack=function(l){var o=this.__position-1;return o>=l.length&&this.__input.substring(o-l.length,o).toLowerCase()===l},r.exports.InputScanner=a}),,,,,(function(r){function s(a,l){a=typeof a=="string"?a:a.source,l=typeof l=="string"?l:l.source,this.__directives_block_pattern=new RegExp(a+/ beautify( \w+[:]\w+)+ /.source+l,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(a+/\sbeautify\signore:end\s/.source+l,"g")}s.prototype.get_directives=function(a){if(!a.match(this.__directives_block_pattern))return null;var l={};this.__directive_pattern.lastIndex=0;for(var o=this.__directive_pattern.exec(a);o;)l[o[1]]=o[2],o=this.__directive_pattern.exec(a);return l},s.prototype.readIgnored=function(a){return a.readUntilAfter(this.__directives_end_ignore_pattern)},r.exports.Directives=s}),,(function(r,s,a){var l=a(16).Beautifier,o=a(17).Options;function u(h,d){var m=new l(h,d);return m.beautify()}r.exports=u,r.exports.defaultOptions=function(){return new o}}),(function(r,s,a){var l=a(17).Options,o=a(2).Output,u=a(8).InputScanner,h=a(13).Directives,d=new h(/\/\*/,/\*\//),m=/\r\n|[\r\n]/,f=/\r\n|[\r\n]/g,w=/\s/,p=/(?:\s|\n)+/g,x=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,y=/\/\/(?:[^\n\r\u2028\u2029]*)/g;function v(S,I){this._source_text=S||"",this._options=new l(I),this._ch=null,this._input=null,this.NESTED_AT_RULE={page:!0,"font-face":!0,keyframes:!0,media:!0,supports:!0,document:!0},this.CONDITIONAL_GROUP_RULE={media:!0,supports:!0,document:!0},this.NON_SEMICOLON_NEWLINE_PROPERTY=["grid-template-areas","grid-template"]}v.prototype.eatString=function(S){var I="";for(this._ch=this._input.next();this._ch;){if(I+=this._ch,this._ch==="\\")I+=this._input.next();else if(S.indexOf(this._ch)!==-1||this._ch===`
`)break;this._ch=this._input.next()}return I},v.prototype.eatWhitespace=function(S){for(var I=w.test(this._input.peek()),P=0;w.test(this._input.peek());)this._ch=this._input.next(),S&&this._ch===`
`&&(P===0||P<this._options.max_preserve_newlines)&&(P++,this._output.add_new_line(!0));return I},v.prototype.foundNestedPseudoClass=function(){for(var S=0,I=1,P=this._input.peek(I);P;){if(P==="{")return!0;if(P==="(")S+=1;else if(P===")"){if(S===0)return!1;S-=1}else if(P===";"||P==="}")return!1;I++,P=this._input.peek(I)}return!1},v.prototype.print_string=function(S){this._output.set_indent(this._indentLevel),this._output.non_breaking_space=!0,this._output.add_token(S)},v.prototype.preserveSingleSpace=function(S){S&&(this._output.space_before_token=!0)},v.prototype.indent=function(){this._indentLevel++},v.prototype.outdent=function(){this._indentLevel>0&&this._indentLevel--},v.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var S=this._source_text,I=this._options.eol;I==="auto"&&(I=`
`,S&&m.test(S||"")&&(I=S.match(m)[0])),S=S.replace(f,`
`);var P=S.match(/^[\t ]*/)[0];this._output=new o(this._options,P),this._input=new u(S),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var F=0,b=!1,g=!1,_=!1,M=!1,A=!1,T=this._ch,R=!1,L,k,E;L=this._input.read(p),k=L!=="",E=T,this._ch=this._input.next(),this._ch==="\\"&&this._input.hasNext()&&(this._ch+=this._input.next()),T=this._ch,this._ch;)if(this._ch==="/"&&this._input.peek()==="*"){this._output.add_new_line(),this._input.back();var N=this._input.read(x),U=d.get_directives(N);U&&U.ignore==="start"&&(N+=d.readIgnored(this._input)),this.print_string(N),this.eatWhitespace(!0),this._output.add_new_line()}else if(this._ch==="/"&&this._input.peek()==="/")this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(y)),this.eatWhitespace(!0);else if(this._ch==="$"){this.preserveSingleSpace(k),this.print_string(this._ch);var H=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);H.match(/[ :]$/)&&(H=this.eatString(": ").replace(/\s+$/,""),this.print_string(H),this._output.space_before_token=!0),F===0&&H.indexOf(":")!==-1&&(g=!0,this.indent())}else if(this._ch==="@")if(this.preserveSingleSpace(k),this._input.peek()==="{")this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var W=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);W.match(/[ :]$/)&&(W=this.eatString(": ").replace(/\s+$/,""),this.print_string(W),this._output.space_before_token=!0),F===0&&W.indexOf(":")!==-1?(g=!0,this.indent()):W in this.NESTED_AT_RULE?(this._nestedLevel+=1,W in this.CONDITIONAL_GROUP_RULE&&(_=!0)):F===0&&!g&&(M=!0)}else if(this._ch==="#"&&this._input.peek()==="{")this.preserveSingleSpace(k),this.print_string(this._ch+this.eatString("}"));else if(this._ch==="{")g&&(g=!1,this.outdent()),M=!1,_?(_=!1,b=this._indentLevel>=this._nestedLevel):b=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&b&&this._output.previous_line&&this._output.previous_line.item(-1)!=="{"&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,this._options.brace_style==="expand"?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):(E==="("?this._output.space_before_token=!1:E!==","&&this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line();else if(this._ch==="}")this.outdent(),this._output.add_new_line(),E==="{"&&this._output.trim(!0),g&&(this.outdent(),g=!1),this.print_string(this._ch),b=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&this._input.peek()!=="}"&&this._output.add_new_line(!0),this._input.peek()===")"&&(this._output.trim(!0),this._options.brace_style==="expand"&&this._output.add_new_line(!0));else if(this._ch===":"){for(var B=0;B<this.NON_SEMICOLON_NEWLINE_PROPERTY.length;B++)if(this._input.lookBack(this.NON_SEMICOLON_NEWLINE_PROPERTY[B])){R=!0;break}(b||_)&&!(this._input.lookBack("&")||this.foundNestedPseudoClass())&&!this._input.lookBack("(")&&!M&&F===0?(this.print_string(":"),g||(g=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):(this._input.lookBack(" ")&&(this._output.space_before_token=!0),this._input.peek()===":"?(this._ch=this._input.next(),this.print_string("::")):this.print_string(":"))}else if(this._ch==='"'||this._ch==="'"){var X=E==='"'||E==="'";this.preserveSingleSpace(X||k),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)}else if(this._ch===";")R=!1,F===0?(g&&(this.outdent(),g=!1),M=!1,this.print_string(this._ch),this.eatWhitespace(!0),this._input.peek()!=="/"&&this._output.add_new_line()):(this.print_string(this._ch),this.eatWhitespace(!0),this._output.space_before_token=!0);else if(this._ch==="(")if(this._input.lookBack("url"))this.print_string(this._ch),this.eatWhitespace(),F++,this.indent(),this._ch=this._input.next(),this._ch===")"||this._ch==='"'||this._ch==="'"?this._input.back():this._ch&&(this.print_string(this._ch+this.eatString(")")),F&&(F--,this.outdent()));else{var J=!1;this._input.lookBack("with")&&(J=!0),this.preserveSingleSpace(k||J),this.print_string(this._ch),g&&E==="$"&&this._options.selector_separator_newline?(this._output.add_new_line(),A=!0):(this.eatWhitespace(),F++,this.indent())}else if(this._ch===")")F&&(F--,this.outdent()),A&&this._input.peek()===";"&&this._options.selector_separator_newline&&(A=!1,this.outdent(),this._output.add_new_line()),this.print_string(this._ch);else if(this._ch===",")this.print_string(this._ch),this.eatWhitespace(!0),this._options.selector_separator_newline&&(!g||A)&&F===0&&!M?this._output.add_new_line():this._output.space_before_token=!0;else if((this._ch===">"||this._ch==="+"||this._ch==="~")&&!g&&F===0)this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._c Line truncated
`&&R&&this._output.add_new_line()}var be=this._output.get_code(I);return be},r.exports.Beautifier=v}),(function(r,s,a){var l=a(6).Options;function o(u){l.call(this,u,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var h=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||h;var d=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_style="collapse";for(var m=0;m<d.length;m++)d[m]!=="expand"?this.brace_style="collapse":this.brace_style=d[m]}o.prototype=new l,r.exports.Options=o})],e={};function n(r){var s=e[r];if(s!==void 0)return s.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,n),a.exports}var i=n(15);ko=i})();var _h=ko,So;(function(){var t=[,,(function(r){function s(o){this.__parent=o,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}s.prototype.clone_empty=function(){var o=new s(this.__parent);return o.set_indent(this.__indent_count,this.__alignment_count),o},s.prototype.item=function(o){return o<0?this.__items[this.__items.length+o]:this.__items[o]},s.prototype.has_match=function(o){for(var u=this.__items.length-1;u>=0;u--)if(this.__items[u].match(o))return!0;return!1},s.prototype.set_indent=function(o,u){this.is_empty()&&(this.__indent_count=o||0,this.__alignment_count=u||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},s.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},s.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},s.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var o=this.__parent.current_line;return o.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),o.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),o.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,o.__items[0]===" "&&(o.__items.splice(0,1),o.__character_count-=1),!0}return!1},s.prototype.is_empty=function(){return this.__items.length===0},s.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},s.prototype.push=function(o){this.__items.push(o);var u=o.lastIndexOf(`
`);u!==-1?this.__character_count=o.length-u:this.__character_count+=o.length},s.prototype.pop=function(){var o=null;return this.is_empty()||(o=this.__items.pop(),this.__character_count-=o.length),o},s.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},s.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},s.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},s.prototype.toString=function(){var o="";return this.is_empty()?this.__parent.indent_empty_lines&&(o=this.__parent.get_indent_string(this.__indent_count)):(o=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),o+=this.__items.join("")),o};function a(o,u){this.__cache=[""],this.__indent_size=o.indent_size,this.__indent_string=o.indent_char,o.indent_with_tabs||(this.__indent_string=new Array(o.indent_size+1).join(o.indent_char)),u=u||"",o.indent_level>0&&(u=new Array(o.indent_level+1).join(this.__indent_string)),this.__base_string=u,this.__base_string_length=u.length}a.prototype.get_indent_size=function(o,u){var h=this.__base_string_length;return u=u||0,o<0&&(h=0),h+=o*this.__indent_size,h+=u,h},a.prototype.get_indent_string=function(o,u){var h=this.__base_string;return u=u||0,o<0&&(o=0,h=""),u+=o*this.__indent_size,this.__ensure_cache(u),h+=this.__cache[u],h},a.prototype.__ensure_cache=function(o){for(;o>=this.__cache.length;)this.__add_column()},a.prototype.__add_column=function(){var o=this.__cache.length,u=0,h="";this.__indent_size&&o>=this.__indent_size&&(u=Math.floor(o/this.__indent_size),o-=u*this.__indent_size,h=new Array(u+1).join(this.__indent_string)),o&&(h+=new Array(o+1).join(" ")),this.__cache.push(h)};function l(o,u){this.__indent_cache=new a(o,u),this.raw=!1,this._end_with_newline=o.end_with_newline,this.indent_size=o.indent_size,this.wrap_line_length=o.wrap_line_length,this.indent_empty_lines=o.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new s(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}l.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},l.prototype.get_line_number=function(){return this.__lines.length},l.prototype.get_indent_string=function(o,u){return this.__indent_cache.get_indent_string(o,u)},l.prototype.get_indent_size=function(o,u){return this.__indent_cache.get_indent_size(o,u)},l.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},l.prototype.add_new_line=function(o){return this.is_empty()||!o&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},l.prototype.get_code=function(o){this.trim(!0);var u=this.current_line.pop();u&&(u[u.length-1]===`
`&&(u=u.replace(/\n+$/g,"")),this.current_line.push(u)),this._end_with_newline&&this.__add_outputline();var h=this.__lines.join(`
`);return o!==`
`&&(h=h.replace(/[\n]/g,o)),h},l.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},l.prototype.set_indent=function(o,u){return o=o||0,u=u||0,this.next_line.set_indent(o,u),this.__lines.length>1?(this.current_line.set_indent(o,u),!0):(this.current_line.set_indent(),!1)},l.prototype.add_raw_token=function(o){for(var u=0;u<o.newlines;u++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(o.whitespace_before),this.current_line.push(o.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},l.prototype.add_token=function(o){this.__add_space_before_token(),this.current_line.push(o),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},l.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},l.prototype.remove_indent=function(o){for(var u=this.__lines.length;o<u;)this.__lines[o]._remove_indent(),o++;this.current_line._remove_wrap_indent()},l.prototype.trim=function(o){for(o=o===void 0?!1:o,this.current_line.trim();o&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},l.prototype.just_added_newline=function(){return this.current_line.is_empty()},l.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},l.prototype.ensure_empty_line_above=function(o,u){for(var h=this.__lines.length-2;h>=0;){var d=this.__lines[h];if(d.is_empty())break;if(d.item(0).indexOf(o)!==0&&d.item(-1)!==u){this.__lines.splice(h+1,0,new s(this)),this.previous_line=this.__lines[this.__lines.length-2];break}h--}},r.exports.Output=l}),(function(r){function s(a,l,o,u){this.type=a,this.text=l,this.comments_before=null,this.newlines=o||0,this.whitespace_before=u||"",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null}r.exports.Token=s}),,,(function(r){function s(o,u){this.raw_options=a(o,u),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}s.prototype._get_array=function(o,u){var h=this.raw_options[o],d=u||[];return typeof h=="object"?h!==null&&typeof h.concat=="function"&&(d=h.concat()):typeof h=="string"&&(d=h.split(/[^a-zA-Z0-9_\/\-]+/)),d},s.prototype._get_boolean=function(o,u){var h=this.raw_options[o],d=h===void 0?!!u:!!h;return d},s.prototype._get_characters=function(o,u){var h=this.raw_options[o],d=u||"";return typeof h=="string"&&(d=h.replace(/\\r/,"\r").replace(/\\n/,`
`).replace(/\\t/," ")),d},s.prototype._get_number=function(o,u){var h=this.raw_options[o];u=parseInt(u,10),isNaN(u)&&(u=0);var d=parseInt(h,10);return isNaN(d)&&(d=u),d},s.prototype._get_selection=function(o,u,h){var d=this._get_selection_list(o,u,h);if(d.length!==1)throw new Error("Invalid Option Value: The option '"+o+`' can only be one of the following values:
`+u+`
You passed in: '`+this.raw_options[o]+"'");return d[0]},s.prototype._get_selection_list=function(o,u,h){if(!u||u.length===0)throw new Error("Selection list cannot be empty.");if(h=h||[u[0]],!this._is_valid_selection(h,u))throw new Error("Invalid Default Value!");var d=this._get_array(o,h);if(!this._is_valid_selection(d,u))throw new Error("Invalid Option Value: The option '"+o+`' can contain only the following values:
`+u+`
You passed in: '`+this.raw_options[o]+"'");return d},s.prototype._is_valid_selection=function(o,u){return o.length&&u.length&&!o.some(function(h){return u.indexOf(h)===-1})};function a(o,u){var h={};o=l(o);var d;for(d in o)d!==u&&(h[d]=o[d]);if(u&&o[u])for(d in o[u])h[d]=o[u][d];return h}function l(o){var u={},h;for(h in o){var d=h.replace(/-/g,"_");u[d]=o[h]}return u}r.exports.Options=s,r.exports.normalizeOpts=l,r.exports.mergeOpts=a}),,(function(r){var s=RegExp.prototype.hasOwnProperty("sticky");function a(l){this.__input=l||"",this.__input_length=this.__input.length,this.__position=0}a.prototype.restart=function(){this.__position=0},a.prototype.back=function(){this.__position>0&&(this.__position-=1)},a.prototype.hasNext=function(){return this.__position<this.__input_length},a.prototype.next=function(){var l=null;return this.hasNext()&&(l=this.__input.charAt(this.__position),this.__position+=1),l},a.prototype.peek=function(l){var o=null;return l=l||0,l+=this.__position,l>=0&&l<this.__input_length&&(o=this.__input.charAt(l)),o},a.prototype.__match=function(l,o){l.lastIndex=o;var u=l.exec(this.__input);return u&&!(s&&l.sticky)&&u.index!==o&&(u=null),u},a.prototype.test=function(l,o){return o=o||0,o+=this.__position,o>=0&&o<this.__input_length?!!this.__match(l,o):!1},a.prototype.testChar=function(l,o){var u=this.peek(o);return l.lastIndex=0,u!==null&&l.test(u)},a.prototype.match=function(l){var o=this.__match(l,this.__position);return o?this.__position+=o[0].length:o=null,o},a.prototype.read=function(l,o,u){var h="",d;return l&&(d=this.match(l),d&&(h+=d[0])),o&&(d||!l)&&(h+=this.readUntil(o,u)),h},a.prototype.readUntil=function(l,o){var u="",h=this.__position;l.lastIndex=this.__position;var d=l.exec(this.__input);return d?(h=d.index,o&&(h+=d[0].length)):h=this.__input_length,u=this.__input.substring(this.__position,h),this.__position=h,u},a.prototype.readUntilAfter=function(l){return this.readUntil(l,!0)},a.prototype.get_regexp=function(l,o){var u=null,h="g";return o&&s&&(h="y"),typeof l=="string"&&l!==""?u=new RegExp(l,h):l&&(u=new RegExp(l.source,h)),u},a.prototype.get_literal_regexp=function(l){return RegExp(l.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},a.prototype.peekUntilAfter=function(l){var o=this.__position,u=this.readUntilAfter(l);return this.__position=o,u},a.prototype.lookBack=function(l){var o=this.__position-1;return o>=l.length&&this.__input.substring(o-l.length,o).toLowerCase()===l},r.exports.InputScanner=a}),(function(r,s,a){var l=a(8).InputScanner,o=a(3).Token,u=a(10).TokenStream,h=a(11).WhitespacePattern,d={START:"TK_START",RAW:"TK_RAW",EOF:"TK_EOF"},m=function(f,w){this._input=new l(f),this._options=w||{},this.__tokens=null,this._patterns={},this._patterns.whitespace=new h(this._input)};m.prototype.tokenize=function(){this._input.restart(),this.__tokens=new u,this._reset();for(var f,w=new o(d.START,""),p=null,x=[],y=new u;w.type!==d.EOF;){for(f=this._get_next_token(w,p);this._is_comment(f);)y.add(f),f=this._get_next_token(w,p);y.isEmpty()||(f.comments_before=y,y=new u),f.parent=p,this._is_opening(f)?(x.push(p),p=f):p&&this._is_closing(f,p)&&(f.opened=p,p.closed=f,p=x.pop(),f.parent=p),f.previous=w,w.next=f,this.__tokens.add(f),w=f}return this.__tokens},m.prototype._is_first_token=function(){return this.__tokens.isEmpty()},m.prototype._reset=function(){},m.prototype._get_next_token=function(f,w){this._readWhitespace();var p=this._input.read(/.+/g);return p?this._create_token(d.RAW,p):this._create_token(d.EOF,"")},m.prototype._is_comment=function(f){return!1},m.prototype._is_opening=function(f){return!1},m.prototype._is_closing=function(f,w){return!1},m.prototype._create_token=function(f,w){var p=new o(f,w,this._patterns.whitespace.newline_count,this._patterns.whitespace.whitespace_before_token);return p},m.prototype._readWhitespace=function(){return this._patterns.whitespace.read()},r.exports.Tokenizer=m,r.exports.TOKEN=d}),(function(r){function s(a){this.__tokens=[],this.__tokens_length=this.__tokens.length,this.__position=0,this.__parent_token=a}s.prototype.restart=function(){this.__position=0},s.prototype.isEmpty=function(){return this.__tokens_length===0},s.prototype.hasNext=function(){return this.__position<this.__tokens_length},s.prototype.next=function(){var a=null;return this.hasNext()&&(a=this.__tokens[this.__position],this.__position+=1),a},s.prototype.peek=function(a){var l=null;return a=a||0,a+=this.__position,a>=0&&a<this.__tokens_length&&(l=this.__tokens[a]),l},s.prototype.add=function(a){this.__parent_token&&(a.parent=this.__parent_token),this.__tokens.push(a),this.__tokens_length+=1},r.exports.TokenStream=s}),(function(r,s,a){var l=a(12).Pattern;function o(u,h){l.call(this,u,h),h?this._line_regexp=this._input.get_regexp(h._line_regexp):this.__set_whitespace_patterns("",""),this.newline_count=0,this.whitespace_before_token=""}o.prototype=new l,o.prototype.__set_whitespace_patterns=function(u,h){u+="\\t ",h+="\\n\\r",this._match_pattern=this._input.get_regexp("["+u+h+"]+",!0)Line truncated
`,b&&d.test(b)&&(g=b.match(d)[0])),b=b.replace(m,`
`);var _=b.match(/^[\t ]*/)[0],M={text:"",type:""},A=new I,T=new f(this._options,_),R=new u(b,this._options).tokenize();this._tag_stack=new v(T);for(var L=null,k=R.next();k.type!==h.EOF;)k.type===h.TAG_OPEN||k.type===h.COMMENT?(L=this._handle_tag_open(T,k,A,M,R),A=L):k.type===h.ATTRIBUTE||k.type===h.EQUALS||k.type===h.VALUE||k.type===h.TEXT&&!A.tag_complete?L=this._handle_inside_tag(T,k,A,M):k.type===h.TAG_CLOSE?L=this._handle_tag_close(T,k,A):k.type===h.TEXT?L=this._handle_text(T,k,A):k.type===h.CONTROL_FLOW_OPEN?L=this._handle_control_flow_open(T,k):k.type===h.CONTROL_FLOW_CLOSE?L=this._handle_control_flow_close(T,k):T.add_raw_token(k),M=L,k=R.next();var E=T._output.get_code(g);return E},S.prototype._handle_control_flow_open=function(b,g){var _={text:g.text,type:g.type};return b.set_space_before_token(g.newlines||g.whitespace_before!=="",!0),g.newlines?b.print_preserved_newlines(g):b.set_space_before_token(g.newlines||g.whitespace_before!=="",!0),b.print_token(g),b.indent(),_},S.prototype._handle_control_flow_close=function(b,g){var _={text:g.text,type:g.type};return b.deindent(),g.newlines?b.print_preserved_newlines(g):b.set_space_before_token(g.newlines||g.whitespace_before!=="",!0),b.print_token(g),_},S.prototype._handle_tag_close=function(b,g,_){var M={text:g.text,type:g.type};return b.alignment_size=0,_.tag_complete=!0,b.set_space_before_token(g.newlines||g.whitespace_before!=="",!0),_.is_unformatted?b.add_raw_token(g):(_.tag_start_char==="<"&&(b.set_space_before_token(g.text[0]==="/",!0),this._is_wrap_attributes_force_expand_multiline&&_.has_wrapped_attrs&&b.print_newline(!1)),b.print_token(g)),_.indent_content&&!(_.is_unformatted||_.is_content_unformatted)&&(b.indent(),_.indent_content=!1),!_.is_inline_element&&!(_.is_unformatted||_.is_content_unformatted)&&b.set_wrap_point(),M},S.prototype._handle_inside_tag=function(b,g,_,M){var A=_.has_wrapped_attrs,T={text:g.text,type:g.type};return b.set_space_before_token(g.newlines||g.whitespace_before!=="",!0),_.is_unformatted?b.add_raw_token(g):_.tag_start_char==="{"&&g.type===h.TEXT?b.print_preserved_newlines(g)?(g.newlines=0,b.add_raw_token(g)):b.print_token(g):(g.type===h.ATTRIBUTE?b.set_space_before_token(!0):(g.type===h.EQUALS||g.type===h.VALUE&&g.previous.type===h.EQUALS)&&b.set_space_before_token(!1),g.type===h.ATTRIBUTE&&_.tag_start_char==="<"&&((this._is_wrap_attributes_preserve||this._is_wrap_attributes_preserve_aligned)&&(b.traverse_whitespace(g),A=A||g.newlines!==0),this._is_wrap_attributes_force&&_.attr_count>=this._options.wrap_attributes_min_attrs&&(M.type!==h.TAG_OPEN||this._is_wrap_attributes_force_expand_multiline)&&(b.print_newline(!1),A=!0)),b.print_token(g),A=A||b.previous_token_wrapped(),_.has_wrapped_attrs=A),T},S.prototype._handle_text=function(b,g,_){var M={text:g.text,type:"TK_CONTENT"};return _.custom_beautifier_name?this._print_custom_beatifier_text(b,g,_):_.is_unformatted||_.is_content_unformatted?b.add_raw_token(g):(b.traverse_whitespace(g),b.print_token(g)),M},S.prototype._print_custom_beatifier_text=function(b,g,_){var M=this;if(g.text!==""){var A=g.text,T,R=1,L="",k="";_.custom_beautifier_name==="javascript"&&typeof this._js_beautify=="function"?T=this._js_beautify:_.custom_beautifier_name==="css"&&typeof this._css_beautify=="function"?T=this._css_beautify:_.custom_beautifier_name==="html"&&(T=function(B,X){var J=new S(B,X,M._js_beautify,M._css_beautify);return J.beautify()}),this._options.indent_scripts==="keep"?R=0:this._options.indent_scripts==="separate"&&(R=-b.indent_level);var E=b.get_full_indent(R);if(A=A.replace(/\n[ \t]*$/,""),_.custom_beautifier_name!=="html"&&A[0]==="<"&&A.match(/^(<!--|<!\[CDATA\[)/)){var N=/^(<!--[^\n]*|<!\[CDATA\[)(\n?)([ \t\n]*)([\s\S]*)(-->|]]>)$/.exec(A);if(!N){b.add_raw_token(g);return}L=E+N[1]+`
`,A=N[4],N[5]&&(k=E+N[5]),A=A.replace(/\n[ \t]*$/,""),(N[2]||N[3].indexOf(`
`)!==-1)&&(N=N[3].match(/[ \t]+$/),N&&(g.whitespace_before=N[0]))}if(A)if(T){var U=function(){this.eol=`
`};U.prototype=this._options.raw_options;var H=new U;A=T(E+A,H)}else{var W=g.whitespace_before;W&&(A=A.replace(new RegExp(`
(`+W+")?","g"),`
`)),A=E+A.replace(/\n/g,`
`+E)}L&&(A?A=L+A+`
`+k:A=L+k),b.print_newline(!1),A&&(g.text=A,g.whitespace_before="",g.newlines=0,b.add_raw_token(g),b.print_newline(!0))}},S.prototype._handle_tag_open=function(b,g,_,M,A){var T=this._get_tag_open_token(g);if((_.is_unformatted||_.is_content_unformatted)&&!_.is_empty_element&&g.type===h.TAG_OPEN&&!T.is_start_tag?(b.add_raw_token(g),T.start_tag_token=this._tag_stack.try_pop(T.tag_name)):(b.traverse_whitespace(g),this._set_tag_position(b,g,T,_,M),T.is_inline_element||b.set_wrap_point(),b.print_token(g)),T.is_start_tag&&this._is_wrap_attributes_force){var R=0,L;do L=A.peek(R),L.type===h.ATTRIBUTE&&(T.attr_count+=1),R+=1;while(L.type!==h.EOF&&L.type!==h.TAG_CLOSE)}return(this._is_wrap_attributes_force_aligned||this._is_wrap_attributes_aligned_multiple||this._is_wrap_attributes_preserve_aligned)&&(T.alignment_size=g.text.length+1),!T.tag_complete&&!T.is_unformatted&&(b.alignment_size=T.alignment_size),T};var I=function(b,g){if(this.parent=b||null,this.text="",this.type="TK_TAG_OPEN",this.tag_name="",this.is_inline_element=!1,this.is_unformatted=!1,this.is_content_unformatted=!1,this.is_empty_element=!1,this.is_start_tag=!1,this.is_end_tag=!1,this.indent_content=!1,this.multiline_content=!1,this.custom_beautifier_name=null,this.start_tag_token=null,this.attr_count=0,this.has_wrapped_attrs=!1,this.alignment_size=0,this.tag_complete=!1,this.tag_start_char="",this.tag_check="",!g)this.tag_complete=!0;else{var _;this.tag_start_char=g.text[0],this.text=g.text,this.tag_start_char==="<"?(_=g.text.match(/^<([^\s>]*)/),this.tag_check=_?_[1]:""):(_=g.text.match(/^{{~?(?:[\^]|#\*?)?([^\s}]+)/),this.tag_check=_?_[1]:"",(g.text.startsWith("{{#>")||g.text.startsWith("{{~#>"))&&this.tag_check[0]===">"&&(this.tag_check===">"&&g.next!==null?this.tag_check=g.next.text.split(" ")[0]:this.tag_check=g.text.split(">")[1])),this.tag_check=this.tag_check.toLowerCase(),g.type===h.COMMENT&&(this.tag_complete=!0),this.is_start_tag=this.tag_check.charAt(0)!=="/",this.tag_name=this.is_start_tag?this.tag_check:this.tag_check.substr(1),this.is_end_tag=!this.is_start_tag||g.closed&&g.closed.text==="/>";var M=2;this.tag_start_char==="{"&&this.text.length>=3&&this.text.charAt(2)==="~"&&(M=3),this.is_end_tag=this.is_end_tag||this.tag_start_char==="{"&&(this.text.length<3||/[^#\^]/.test(this.text.charAt(M)))}};S.prototype._get_tag_open_token=function(b){var g=new I(this._tag_stack.get_parser_token(),b);return g.alignment_size=this._options.wrap_attributes_indent_size,g.is_end_tag=g.is_end_tag||x(g.tag_check,this._options.void_elements),g.is_empty_element=g.tag_complete||g.is_start_tag&&g.is_end_tag,g.is_unformatted=!g.tag_complete&&x(g.tag_check,this._options.unformatted),g.is_content_unformatted=!g.is_empty_element&&x(g.tag_check,this._options.content_unformatted),g.is_inline_element=x(g.tag_name,this._options.inline)||this._options.inline_custom_elements&&g.tag_name.includes("-")||g.tag_start_char==="{",g},S.prototype._set_tag_position=function(b,g,_,M,A){if(_.is_empty_element||(_.is_end_tag?_.start_tag_token=this._tag_stack.try_pop(_.tag_name):(this._do_optional_end_element(_)&&(_.is_inline_element||b.print_newline(!1)),this._tag_stack.record_tag(_),(_.tag_name==="script"||_.tag_name==="style")&&!(_.is_unformatted||_.is_content_unformatted)&&(_.custom_beautifier_name=p(_.tag_check,g)))),x(_.tag_check,this._options.extra_liners)&&(b.print_newline(!1),b._output.just_added_blankline()||b.print_newline(!0)),_.is_empty_element){if(_.tag_start_char==="{"&&_.tag_check==="else"){this._tag_stack.indent_to_tag(["if","unless","each"]),_.indent_content=!0;var T=b.current_line_has_match(/{{#if/);T||b.print_newline(!1)}_.tag_name==="!--"&&A.type===h.TAG_CLOSE&&M.is_end_tag&&_.text.indexOf(`
`)===-1||(_.is_inline_element||_.is_unformatted||b.print_newline(!1),this._calcluate_parent_multiline(b,_))}else if(_.is_end_tag){var R=!1;R=_.start_tag_token&&_.start_tag_token.multiline_content,R=R||!_.is_inline_element&&!(M.is_inline_element||M.is_unformatted)&&!(A.type===h.TAG_CLOSE&&_.start_tag_token===M)&&A.type!=="TK_CONTENT",(_.is_content_unformatted||_.is_unformatted)&&(R=!1),R&&b.print_newline(!1)}else _.indent_content=!_.custom_beautifier_name,_.tag_start_char==="<"&&(_.tag_name==="html"?_.indent_content=this._options.indent_inner_html:_.tag_name==="head"?_.indent_content=this._options.indent_head_inner_html:_.tag_name==="body"&&(_.indent_content=this._options.indent_body_inner_html)),!(_.is_inline_element||_.is_unformatted)&&(A.type!=="TK_CONTENT"||_.is_content_unformatted)&&b.print_newline(!1),this._calcluate_parent_multiline(b,_)},S.prototype._calcluate_parent_multiline=function(b,g){g.parent&&b._output.just_added_newline()&&!((g.is_inline_element||g.is_unformatted)&&g.parent.is_inline_element)&&(g.parent.multiline_content=!0)};var P=["address","article","aside","blockquote","details","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","main","menu","nav","ol","p","pre","section","table","ul"],F=["a","audio","del","ins","map","noscript","video"];S.prototype._do_optional_end_element=function(b){var g=null;if(!(b.is_empty_element||!b.is_start_tag||!b.parent)){if(b.tag_name==="body")g=g||this._tag_stack.try_pop("head");else if(b.tag_name==="li")g=g||this._tag_stack.try_pop("li",["ol","ul","menu"]);else if(b.tag_name==="dd"||b.tag_name==="dt")g=g||this._tag_stack.try_pop("dt",["dl"]),g=g||this._tag_stack.try_pop("dd",["dl"]);else if(b.parent.tag_name==="p"&&P.indexOf(b.tag_name)!==-1){var _=b.parent.parent;(!_||F.indexOf(_.tag_name)===-1)&&(g=g||this._tag_stack.try_pop("p"))}else b.tag_name==="rp"||b.tag_name==="rt"?(g=g||this._tag_stack.try_pop("rt",["ruby","rtc"]),g=g||this._tag_stack.try_pop("rp",["ruby","rtc"])):b.tag_name==="optgroup"?g=g||this._tag_stack.try_pop("optgroup",["select"]):b.tag_name==="option"?g=g||this._tag_stack.try_pop("option",["select","datalist","optgroup"]):b.tag_name==="colgroup"?g=g||this._tag_stack.try_pop("caption",["table"]):b.tag_name==="thead"?(g=g||this._tag_stack.try_pop("caption",["table"]),g=g||this._tag_stack.try_pop("colgroup",["table"])):b.tag_name==="tbody"||b.tag_name==="tfoot"?(g=g||this._tag_stack.try_pop("caption",["table"]),g=g||this._tag_stack.try_pop("colgroup",["table"]),g=g||this._tag_stack.try_pop("thead",["table"]),g=g||this._tag_stack.try_pop("tbody",["table"])):b.tag_name==="tr"?(g=g||this._tag_stack.try_pop("caption",["table"]),g=g||this._tag_stack.try_pop("colgroup",["table"]),g=g||this._tag_stack.try_pop("tr",["table","thead","tbody","tfoot"])):(b.tag_name==="th"||b.tag_name==="td")&&(g=g||this._tag_stack.try_pop("td",["table","thead","tbody","tfoot","tr"]),g=g||this._tag_stack.try_pop("th",["table","thead","tbody","tfoot","tr"]));return b.parent=this._tag_stack.get_parser_token(),g}},r.exports.Beautifier=S}),(function(r,s,a){var l=a(6).Options;function o(u){l.call(this,u,"html"),this.templating.length===1&&this.templating[0]==="auto"&&(this.templating=["django","erb","handlebars","php"]),this.indent_inner_html=this._get_boolean("indent_inner_html"),this.indent_body_inner_html=this._get_boolean("indent_body_inner_html",!0),this.indent_head_inner_html=this._get_boolean("indent_head_inner_html",!0),this.indent_handlebars=this._get_boolean("indent_handlebars",!0),this.wrap_attributes=this._get_selection("wrap_attributes",["auto","force","force-aligned","force-expand-multiline","aligned-multiple","preserve","preserve-aligned"]),this.wrap_attributes_min_attrs=this._get_number("wrap_attributes_min_attrs",2),this.wrap_attributes_indent_size=this._get_number("wrap_attributes_indent_size",this.indent_size),this.extra_liners=this._get_array("extra_liners",["head","body","/html"]),this.inline=this._get_array("inline",["a","abbr","area","audio","b","bdi","bdo","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","keygen","label","map","mark","math","meter","noscript","object","output","progress","q","ruby","s","samp","select","small","span","strong","sub","sup","svg","template","textarea","time","u","var","video","wbr","text","acronym","big","strike","tt"]),this.inline_custom_elements=this._get_boolean("inline_custom_elements",!0),this.void_elements=this._get_array("void_elements",["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr","!doctype","?xml","basefont","isindex"]),this.unformatted=this._get_array("unformatted",[]),this.content_unformatted=this._get_array("content_unformatted",["pre","textarea"]),this.unformatted_content_delimiter=this._get_characters("unformatted_content_delimiter"),this.indent_scripts=this._get_selection("indent_scripts",["normal","keep","separat Line truncated
`,indent_scripts:xe(n,"indentScripts","normal"),templating:Th(n,"all"),unformatted_content_delimiter:xe(n,"unformattedContentDelimiter","")};let o=vh(xh(i),l);if(s>0){const u=n.insertSpaces?yo(" ",a*s):yo(" ",s);o=o.split(`
`).join(`
`+u),e.start.character===0&&(o=u+o)}return[{range:e,newText:o}]}function xh(t){return t.replace(/^\s+/,"")}function xe(t,e,n){if(t&&t.hasOwnProperty(e)){const i=t[e];if(i!==null)return i}return n}function Qi(t,e,n){const i=xe(t,e,null);return typeof i=="string"?i.length>0?i.split(",").map(r=>r.trim().toLowerCase()):[]:n}function Th(t,e){const n=xe(t,"templating",e);return n===!0?["auto"]:n===!1||n===e||Array.isArray(n)===!1?["none"]:n}function kh(t,e,n){let i=e,r=0;const s=n.tabSize||4;for(;i<t.length;){const a=t.charAt(i);if(a===" ")r++;else if(a===" ")r+=s;else break;i++}return Math.floor(r/s)}function Ao(t,e){return`\r
`.indexOf(t.charAt(e))!==-1}function Lo(t,e){return" ".indexOf(t.charAt(e))!==-1}var Co;(()=>{var t={470:r=>{function s(o){if(typeof o!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(o))}function a(o,u){for(var h,d="",m=0,f=-1,w=0,p=0;p<=o.length;++p){if(p<o.length)h=o.charCodeAt(p);else{if(h===47)break;h=47}if(h===47){if(!(f===p-1||w===1))if(f!==p-1&&w===2){if(d.length<2||m!==2||d.charCodeAt(d.length-1)!==46||d.charCodeAt(d.length-2)!==46){if(d.length>2){var x=d.lastIndexOf("/");if(x!==d.length-1){x===-1?(d="",m=0):m=(d=d.slice(0,x)).length-1-d.lastIndexOf("/"),f=p,w=0;continue}}else if(d.length===2||d.length===1){d="",m=0,f=p,w=0;continue}}u&&(d.length>0?d+="/..":d="..",m=2)}else d.length>0?d+="/"+o.slice(f+1,p):d=o.slice(f+1,p),m=p-f-1;f=p,w=0}else h===46&&w!==-1?++w:w=-1}return d}var l={resolve:function(){for(var o,u="",h=!1,d=arguments.length-1;d>=-1&&!h;d--){var m;d>=0?m=arguments[d]:(o===void 0&&(o=process.cwd()),m=o),s(m),m.length!==0&&(u=m+"/"+u,h=m.charCodeAt(0)===47)}return u=a(u,!h),h?u.length>0?"/"+u:"/":u.length>0?u:"."},normalize:function(o){if(s(o),o.length===0)return".";var u=o.charCodeAt(0)===47,h=o.charCodeAt(o.length-1)===47;return(o=a(o,!u)).length!==0||u||(o="."),o.length>0&&h&&(o+="/"),u?"/"+o:o},isAbsolute:function(o){return s(o),o.length>0&&o.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var o,u=0;u<arguments.length;++u){var h=arguments[u];s(h),h.length>0&&(o===void 0?o=h:o+="/"+h)}return o===void 0?".":l.normalize(o)},relative:function(o,u){if(s(o),s(u),o===u||(o=l.resolve(o))===(u=l.resolve(u)))return"";for(var h=1;h<o.length&&o.charCodeAt(h)===47;++h);for(var d=o.length,m=d-h,f=1;f<u.length&&u.charCodeAt(f)===47;++f);for(var w=u.length-f,p=m<w?m:w,x=-1,y=0;y<=p;++y){if(y===p){if(w>p){if(u.charCodeAt(f+y)===47)return u.slice(f+y+1);if(y===0)return u.slice(f+y)}else m>p&&(o.charCodeAt(h+y)===47?x=y:y===0&&(x=0));break}var v=o.charCodeAt(h+y);if(v!==u.charCodeAt(f+y))break;v===47&&(x=y)}var S="";for(y=h+x+1;y<=d;++y)y!==d&&o.charCodeAt(y)!==47||(S.length===0?S+="..":S+="/..");return S.length>0?S+u.slice(f+x):(f+=x,u.charCodeAt(f)===47&&++f,u.slice(f))},_makeLong:function(o){return o},dirname:function(o){if(s(o),o.length===0)return".";for(var u=o.charCodeAt(0),h=u===47,d=-1,m=!0,f=o.length-1;f>=1;--f)if((u=o.charCodeAt(f))===47){if(!m){d=f;break}}else m=!1;return d===-1?h?"/":".":h&&d===1?"//":o.slice(0,d)},basename:function(o,u){if(u!==void 0&&typeof u!="string")throw new TypeError('"ext" argument must be a string');s(o);var h,d=0,m=-1,f=!0;if(u!==void 0&&u.length>0&&u.length<=o.length){if(u.length===o.length&&u===o)return"";var w=u.length-1,p=-1;for(h=o.length-1;h>=0;--h){var x=o.charCodeAt(h);if(x===47){if(!f){d=h+1;break}}else p===-1&&(f=!1,p=h+1),w>=0&&(x===u.charCodeAt(w)?--w==-1&&(m=h):(w=-1,m=p))}return d===m?m=p:m===-1&&(m=o.length),o.slice(d,m)}for(h=o.length-1;h>=0;--h)if(o.charCodeAt(h)===47){if(!f){d=h+1;break}}else m===-1&&(f=!1,m=h+1);return m===-1?"":o.slice(d,m)},extname:function(o){s(o);for(var u=-1,h=0,d=-1,m=!0,f=0,w=o.length-1;w>=0;--w){var p=o.charCodeAt(w);if(p!==47)d===-1&&(m=!1,d=w+1),p===46?u===-1?u=w:f!==1&&(f=1):u!==-1&&(f=-1);else if(!m){h=w+1;break}}return u===-1||d===-1||f===0||f===1&&u===d-1&&u===h+1?"":o.slice(u,d)},format:function(o){if(o===null||typeof o!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof o);return(function(u,h){var d=h.dir||h.root,m=h.base||(h.name||"")+(h.ext||"");return d?d===h.root?d+m:d+"/"+m:m})(0,o)},parse:function(o){s(o);var u={root:"",dir:"",base:"",ext:"",name:""};if(o.length===0)return u;var h,d=o.charCodeAt(0),m=d===47;m?(u.root="/",h=1):h=0;for(var f=-1,w=0,p=-1,x=!0,y=o.length-1,v=0;y>=h;--y)if((d=o.charCodeAt(y))!==47)p===-1&&(x=!1,p=y+1),d===46?f===-1?f=y:v!==1&&(v=1):f!==-1&&(v=-1);else if(!x){w=y+1;break}return f===-1||p===-1||v===0||v===1&&f===p-1&&f===w+1?p!==-1&&(u.base=u.name=w===0&&m?o.slice(1,p):o.slice(w,p)):(w===0&&m?(u.name=o.slice(1,f),u.base=o.slice(1,p)):(u.name=o.slice(w,f),u.base=o.slice(w,p)),u.ext=o.slice(f,p)),w>0?u.dir=o.slice(0,w-1):m&&(u.dir="/"),u},sep:"/",delimiter:":",win32:null,posix:null};l.posix=l,r.exports=l}},e={};function n(r){var s=e[r];if(s!==void 0)return s.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,n),a.exports}n.d=(r,s)=>{for(var a in s)n.o(s,a)&&!n.o(r,a)&&Object.defineProperty(r,a,{enumerable:!0,get:s[a]})},n.o=(r,s)=>Object.prototype.hasOwnProperty.call(r,s),n.r=r=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})};var i={};(()=>{let r;n.r(i),n.d(i,{URI:()=>m,Utils:()=>M}),typeof process=="object"?r=process.platform==="win32":typeof navigator=="object"&&(r=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,l=/^\/\//;function o(A,T){if(!A.scheme&&T)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${A.authoriLine truncated
This metadata name is associated with the value contained by the [\`content\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute. The possible values for the name attribute are:
* \`application-name\` which defines the name of the application running in the web page.
**Note:**
* Browsers may use this to identify the application. It is different from the [\`<title>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title "The HTML Title element (<title>) defines the document's title that is shown in a browser's title bar or a page's tab.") element, which usually contain the application name, but may also contain information like the document name or a status.
* Simple web pages shouldn't define an application-name.
* \`author\` which defines the name of the document's author.
* \`description\` which contains a short and accurate summary of the content of the page. Several browsers, like Firefox and Opera, use this as the default description of bookmarked pages.
* \`generator\` which contains the identifier of the software that generated the page.
* \`keywords\` which contains words relevant to the page's content separated by commas.
* \`referrer\` which controls the [\`Referer\` HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer) attached to requests sent from the document:
Values for the \`content\` attribute of \`<meta name="referrer">\`
\`no-referrer\`
Do not send a HTTP \`Referrer\` header.
\`origin\`
Send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the document.
\`no-referrer-when-downgrade\`
Send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) as a referrer to URLs as secure as the current page, (https→https), but does not send a referrer to less secure URLs (https→http). This is the default behaviour.
\`origin-when-cross-origin\`
Send the full URL (stripped of parameters) for same-origin requests, but only send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) for other cases.
\`same-origin\`
A referrer will be sent for [same-site origins](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy), but cross-origin requests will contain no referrer information.
\`strict-origin\`
Only send the origin of the document as the referrer to a-priori as-much-secure destination (HTTPS->HTTPS), but don't send it to a less secure destination (HTTPS->HTTP).
\`strict-origin-when-cross-origin\`
Send a full URL when performing a same-origin request, only send the origin of the document to a-priori as-much-secure destination (HTTPS->HTTPS), and send no header to a less secure destination (HTTPS->HTTP).
\`unsafe-URL\`
Send the full URL (stripped of parameters) for same-origin or cross-origin requests.
**Notes:**
* Some browsers support the deprecated values of \`always\`, \`default\`, and \`never\` for referrer.
* Dynamically inserting \`<meta name="referrer">\` (with [\`document.write\`](https://developer.mozilla.org/en-US/docs/Web/API/Document/write) or [\`appendChild\`](https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild)) makes the referrer behaviour unpredictable.
* When several conflicting policies are defined, the no-referrer policy is applied.
This attribute may also have a value taken from the extended list defined on [WHATWG Wiki MetaExtensions page](https://wiki.whatwg.org/wiki/MetaExtensions). Although none have been formally accepted yet, a few commonly used names are:
* \`creator\` which defines the name of the creator of the document, such as an organization or institution. If there are more than one, several [\`<meta>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") elements should be used.
* \`googlebot\`, a synonym of \`robots\`, is only followed by Googlebot (the indexing crawler for Google).
* \`publisher\` which defines the name of the document's publisher.
* \`robots\` which defines the behaviour that cooperative crawlers, or "robots", should use with the page. It is a comma-separated list of the values below:
Values for the content of \`<meta name="robots">\`
Value
Description
Used by
\`index\`
Allows the robot to index the page (default).
All
\`noindex\`
Requests the robot to not index the page.
All
\`follow\`
Allows the robot to follow the links on the page (default).
All
\`nofollow\`
Requests the robot to not follow the links on the page.
All
\`none\`
Equivalent to \`noindex, nofollow\`
[Google](https://support.google.com/webmasters/answer/79812)
\`noodp\`
Prevents using the [Open Directory Project](https://www.dmoz.org/) description, if any, as the page description in search engine results.
[Google](https://support.google.com/webmasters/answer/35624#nodmoz), [Yahoo](https://help.yahoo.com/kb/search-for-desktop/meta-tags-robotstxt-yahoo-search-sln2213.html#cont5), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)
\`noarchive\`
Requests the search engine not to cache the page content.
[Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives), [Yahoo](https://help.yahoo.com/kb/search-for-desktop/SLN2213.html), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)
\`nosnippet\`
Prevents displaying any description of the page in search engine results.
[Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)
\`noimageindex\`
Requests this page not to appear as the referring page of an indexed image.
[Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives)
\`nocache\`
Synonym of \`noarchive\`.
[Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)
**Notes:**
* Only cooperative robots follow these rules. Do not expect to prevent e-mail harvesters with them.
* The robot still needs to access the page in order to read these rules. To prevent bandwidth consumption, use a _[robots.txt](https://developer.mozilla.org/en-US/docs/Glossary/robots.txt "robots.txt: Robots.txt is a file which is usually placed in the root of any website. It decides whether crawlers are permitted or forbidden access to the web site.")_ file.
* If you want to remove a page, \`noindex\` will work, but only after the robot visits the page again. Ensure that the \`robots.txt\` file is not preventing revisits.
* Some values are mutually exclusive, like \`index\` and \`noindex\`, or \`follow\` and \`nofollow\`. In these cases the robot's behaviour is undefined and may vary between them.
* Some crawler robots, like Google, Yahoo and Bing, support the same values for the HTTP header \`X-Robots-Tag\`; this allows non-HTML documents like images to use these rules.
* \`slurp\`, is a synonym of \`robots\`, but only for Slurp - the crawler for Yahoo Search.
* \`viewport\`, which gives hints about the size of the initial size of the [viewport](https://developer.mozilla.org/en-US/docs/Glossary/viewport "viewport: A viewport represents a polygonal (normally rectangular) area in computer graphics that is currently being viewed. In web browser terms, it refers to the part of the document you're viewing which is currently visible in its window (or the screen, if the document is being viewed in full screen mode). Content outside the viewport is not visible onscreen until scrolled into view."). Used by mobile devices only.
Values for the content of \`<meta name="viewport">\`
Value
Possible subvalues
Description
\`width\`
A positive integer number, or the text \`device-width\`
Defines the pixel width of the viewport that you want the web site to be rendered at.
\`height\`
A positive integer, or the text \`device-height\`
Defines the height of the viewport. Not used by any browser.
\`initial-scale\`
A positive number between \`0.0\` and \`10.0\`
Defines the ratio between the device width (\`device-width\` in portrait mode or \`device-height\` in landscape mode) and the viewport size.
\`maximum-scale\`
A positive number between \`0.0\` and \`10.0\`
Defines the maximum amount to zoom in. It must be greater or equal to the \`minimum-scale\` or the behaviour is undefined. Browser settings can ignore this rule and iOS10+ ignores it by default.
\`minimum-scale\`
A positive number between \`0.0\` and \`10.0\`
Defines the minimum zoom level. It must be smaller or equal to the \`maximum-scale\` or the behaviour is undefined. Browser settings can ignore this rule and iOS10+ ignores it by default.
\`user-scalable\`
\`yes\` or \`no\`
If set to \`no\`, the user is not able to zoom in the webpage. The default is \`yes\`. Browser settings can ignore this rule, and iOS10+ ignores it by default.
Specification
Status
Comment
[CSS Device Adaptation
The definition of '<meta name="viewport">' in that specification.](https://drafts.csswg.org/css-device-adapt/#viewport-meta)
Working Draft
Non-normatively describes the Viewport META element
See also: [\`@viewport\`](https://developer.mozilla.org/en-US/docs/Web/CSS/@viewport "The @viewport CSS at-rule lets you configure the viewport through which the document is viewed. It's primarily used for mobile devices, but is also used by desktop browsers that support features like "snap to edge" (such as Microsoft Edge).")
**Notes:**
* Though unstandardized, this declaration is respected by most mobile browsers due to de-facto dominance.
* The default values may vary between devices and browsers.
* To learn about this declaration in Firefox for Mobile, see [this article](https://developer.mozilla.org/en-US/docs/Mobile/Viewport_meta_tag "Mobile/Viewport meta tag").`}},{name:"http-equiv",description:{kind:"markdown",value:'Defines a pragma directive. The attribute is named `**http-equiv**(alent)` because all the allowed values are names of particular HTTP headers:\n\n* `"content-language"` \n Defines the default language of the page. It can be overridden by the [lang](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang) attribute on any element.\n \n **Warning:** Do not use this value, as it is obsolete. Prefer the `lang` attribute on the [`<html>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/html "The HTML <html> element represents the root (top-level element) of an HTML document, so it is also referred to as the root element. All other elements must be descendants of this element.") element.\n \n* `"content-security-policy"` \n Allows page authors to define a [content policy](https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives) for the current page. Content policies mostly specify allowed server origins and script endpoints which help guard against cross-site scripting attacks.\n* `"content-type"` \n Defines the [MIME type](https://developer.mozilla.org/en-US/docs/Glossary/MIME_type) of the document, followed by its character encoding. It follows the same syntax as the HTTP `content-type` entity-header field, but as it is inside a HTML page, most values other than `text/html` are impossible. Therefore the valid syntax for its `content` is the string \'`text/html`\' followed by a character set with the following syntax: \'`; charset=_IANAcharset_`\', where `IANAcharset` is the _preferred MIME name_ for a character set as [defined by the IANA.](https://www.iana.org/assignments/character-sets)\n \n **Warning:** Do not use this value, as it is obsolete. Use the [`charset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-charset) attribute on the [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") element.\n \n **Note:** As [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") can\'t change documents\' types in XHTML or HTML5\'s XHTML serialization, never set the MIME type to an XHTML MIME type with `<meta>`.\n \n* `"refresh"` \n This instruction specifies:\n * The number of seconds until the page should be reloaded - only if the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute contains a positive integer.\n * The number of seconds until the page should redirect to another - only if the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute contains a positive integer followed by the string \'`;url=`\', and a valid URL.\n* `"set-cookie"` \n Defines a [cookie](https://developer.mozilla.org/en-US/docs/cookie) for the page. Its content must follow the syntax defined in the [IETF HTTP Cookie Specification](https://tools.ietf.org/html/draft-ietf-httpstate-cookie-14).\n \n **Warning:** Do not use this instruction, as it is obsolete. Use the HTTP header [`Set-Cookie`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) instead.'}},{name:"content",description:{kind:"markdown",value:"This attribute contains the value for the [`http-equiv`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-http-equiv) or [`name`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-name) attribute, depending on which is used."}},{name:"charset",description:{kind:"markdown",value:'This attribute declares the page\'s character encoding. It must contain a [standard IANA MIME name for character encodings](https://www.iana.org/assignments/character-sets). Although the standard doesn\'t request a specific encoding, it suggests:\n\n* Authors are encouraged to use [`UTF-8`](https://developer.mozilla.org/en-US/docs/Glossary/UTF-8).\n* Authors should not use ASCII-incompatible encodings to avoid security risk: browsers not supporting them may interpret harmful content as HTML. This happens with the `JIS_C6226-1983`, `JIS_X0212-1990`, `HZ-GB-2312`, `JOHAB`, the ISO-2022 family and the EBCDIC family.\n\n**Note:** ASCII-incompatible encodings are those that don\'t map the 8-bit code points `0x20` to `0x7E` to the `0x0020` to `0x007E` Unicode code points)\n\n* Authors **must not** use `CESU-8`, `UTF-7`, `BOCU-1` and/or `SCSU` as [cross-site scripting](https://developer.mozilla.org Line truncated
\`sync\`
Decode the image synchronously for atomic presentation with other content.
\`async\`
Decode the image asynchronously to reduce delay in presenting other content.
\`auto\`
Default mode, which indicates no preference for the decoding mode. The browser decides what is best for the user.`}},{name:"loading",valueSet:"loading",description:{kind:"markdown",value:"Indicates how the browser should load the image."}},{name:"referrerpolicy",valueSet:"referrerpolicy",description:{kind:"markdown",value:"A string indicating which referrer to use when fetching the resource:\n\n* `no-referrer:` The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer \"The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.\") header will not be sent.\n* `no-referrer-when-downgrade:` No `Referer` header will be sent when navigating to an origin without TLS (HTTPS). This is a user agent’s default behavior if no policy is otherwise specified.\n* `origin:` The `Referer` header will include the page of origin's scheme, the host, and the port.\n* `origin-when-cross-origin:` Navigating to other origins will limit the included referral data to the scheme, the host and the port, while navigating from the same origin will include the referrer's full path.\n* `unsafe-url:` The `Referer` header will include the origin and the path, but not the fragment, password, or username. This case is unsafe because it can leak origins and paths from TLS-protected resources to insecure origins."}},{name:"sizes",description:{kind:"markdown",value:"A list of one or more strings separated by commas indicating a set of source sizes. Each source size consists of:\n\n1. a media condition. This must be omitted for the last item.\n2. a source size value.\n\nSource size values specify the intended display size of the image. User agents use the current source size to select one of the sources supplied by the `srcset` attribute, when those sources are described using width ('`w`') descriptors. The selected source size affects the intrinsic size of the image (the image’s display size if no CSS styling is applied). If the `srcset` attribute is absent, or contains no values with a width (`w`) descriptor, then the `sizes` attribute has no effect."}},{name:"importance",description:"Indicates the relative importance of the resource. Priority hints are delegated using the values:"},{name:"importance",description:"`auto`: Indicates **no preference**. The browser may use its own heuristics to decide the priority of the image.\n\n`high`: Indicates to the browser that the image is of **high** priority.\n\n`low`: Indicates to the browser that the image is of **low** priority."},{name:"intrinsicsize",description:"This attribute tells the browser to ignore the actual intrinsic size of the image and pretend it’s the size specified in the attribute. Specifically, the image would raster at these dimensions and `naturalWidth`/`naturalHeight` on images would return the values specified in this attribute. [Explainer](https://github.com/ojanvafai/intrinsicsize-attribute), [examples](https://googlechrome.github.io/samples/intrinsic-size/index.html)"}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/img"}]},{name:"iframe",description:{kind:"markdown",value:"The iframe element represents a nested browsing context."},attributes:[{name:"src",description:{kind:"markdown",value:'The URL of the page to embed. Use a value of `about:blank` to embed an empty page that conforms to the [same-origin policy](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy#Inherited_origins). Also note that programatically removing an `<iframe>`\'s src attribute (e.g. via [`Element.removeAttribute()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttribute "The Element method removeAttribute() removes the attribute with the specified name from the element.")) causes `about:blank` to be loaded in the frame in Firefox (from version 65), Chromium-based browsers, and Safari/iOS.'}},{name:"srcdoc",description:{kind:"markdown",value:"Inline HTML to embed, overriding the `src` attribute. If a browser does not support the `srcdoc` attribute, it will fall back to the URL in the `src` attribute."}},{name:"name",description:{kind:"markdown",value:'A targetable name for the embedded browsing context. This can be used in the `target` attribute of the [`<a>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a "The HTML <a> element (or anchor element) creates a hyperlink to other web pages, files, locations within the same page, email addresses, or any other URL."), [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server."), or [`<base>`](https://developer.mozilla.org/en-US/doc Line truncated
\`auto\` (default)
No preference. The browser uses its own heuristics to decide the priority of the resource.
\`high\`
The resource should be downloaded before other lower-priority page resources.
\`low\`
The resource should be downloaded after other higher-priority page resources.`},{name:"referrerpolicy",description:'Indicates which [referrer](https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer) to send when fetching the frame\'s resource:\n\n* `no-referrer`: The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent.\n* `no-referrer-when-downgrade` (default): The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent to [origin](https://developer.mozilla.org/en-US/docs/Glossary/origin "origin: Web content\'s origin is defined by the scheme (protocol), host (domain), and port of the URL used to access it. Two objects have the same origin only when the scheme, host, and port all match.")s without [TLS](https://developer.mozilla.org/en-US/docs/Glossary/TLS "TLS: Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), is a protocol used by applications to communicate securely across a network, preventing tampering with and eavesdropping on email, web browsing, messaging, and other protocols.") ([HTTPS](https://developer.mozilla.org/en-US/docs/Glossary/HTTPS "HTTPS: HTTPS (HTTP Secure) is an encrypted version of the HTTP protocol. It usually uses SSL or TLS to encrypt all communication between a client and a server. This secure connection allows clients to safely exchange sensitive data with a server, for example for banking activities or online shopping.")).\n* `origin`: The sent referrer will be limited to the origin of the referring page: its [scheme](https://developer.mozilla.org/en-US/docs/Archive/Mozilla/URIScheme), [host](https://developer.mozilla.org/en-US/docs/Glossary/host "host: A host is a device connected to the Internet (or a local network). Some hosts called servers offer additional services like serving webpages or storing files and emails."), and [port](https://developer.mozilla.org/en-US/docs/Glossary/port "port: For a computer connected to a network with an IP address, a port is a communication endpoint. Ports are designated by numbers, and below 1024 each port is associated by default with a specific protocol.").\n* `origin-when-cross-origin`: The referrer sent to other origins will be limited to the scheme, the host, and the port. Navigations on the same origin will still include the path.\n* `same-origin`: A referrer will be sent for [same origin](https://developer.mozilla.org/en-US/docs/Glossary/Same-origin_policy "same origin: The same-origin policy is a critical security mechanism that restricts how a document or script loaded from one origin can interact with a resource from another origin."), but cross-origin requests will contain no referrer information.\n* `strict-origin`: Only send the origin of the document as the referrer when the protocol security level stays the same (HTTPS→HTTPS), but don\'t send it to a less secure destination (HTTPS→HTTP).\n* `strict-origin-when-cross-origin`: Send a full URL when performing a same-origin request, only send the origin when the protocol security level stays the same (HTTPS→HTTPS), and send no header to a less secure destination (HTTPS→HTTP).\n* `unsafe-url`: The referrer will include the origin _and_ the path (but not the [fragment](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/hash), [password](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/password), or [username](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/username)). **This value is unsafe**, because it leaks origins and paths from TLS-protected resources to insecure origins.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/iframe"}]},{name:"embed",description:{kind:"markdown",value:"The embed element provides an integration point for an external (typically non-HTML) application or interactive content."},void:!0,attributes:[{name:"src",description:{kind:"markdown",value:"The URL of the resource being embedded."}},{name:"type",description:{kind:"markdown",value:"The MIME type to use to select the plug-in to instantiate."}},{name:"width",description:{kind:"markdown",value:"The displayed width of the resource, in [CSS pixels](https://drafts.csswg.org/css-values/#px). This must be an absolute value; percentage Line truncated
* data: Default value. The value is passed to the object's implementation as a string.
* ref: The value is a URI to a resource where run-time values are stored.
* object: An ID of another [\`<object>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object "The HTML <object> element represents an external resource, which can be treated as an image, a nested browsing context, or a resource to be handled by a plugin.") in the same document.`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/param"}]},{name:"video",description:{kind:"markdown",value:"A video element is used for playing videos or movies, and audio files with captions."},attributes:[{name:"src"},{name:"crossorigin",valueSet:"xo"},{name:"poster"},{name:"preload",valueSet:"pl"},{name:"autoplay",valueSet:"v",description:{kind:"markdown",value:'A Boolean attribute; if specified, the video automatically begins to play back as soon as it can do so without stopping to finish loading the data.\n**Note**: Sites that automatically play audio (or video with an audio track) can be an unpleasant experience for users, so it should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control.\n\nTo disable video autoplay, `autoplay="false"` will not work; the video will autoplay if the attribute is there in the `<video>` tag at all. To remove autoplay the attribute needs to be removed altogether.\n\nIn some browsers (e.g. Chrome 70.0) autoplay is not working if no `muted` attribute is present.'}},{name:"mediagroup"},{name:"loop",valueSet:"v"},{name:"muted",valueSet:"v"},{name:"controls",valueSet:"v"},{name:"width"},{name:"height"}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/video"}]},{name:"audio",description:{kind:"markdown",value:"An audio element represents a sound or audio stream."},attributes:[{name:"src",description:{kind:"markdown",value:'The URL of the audio to embed. This is subject to [HTTP access controls](https://developer.mozilla.org/en-US/docs/HTTP_access_control). This is optional; you may instead use the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source "The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.") element within the audio block to specify the audio to embed.'}},{name:"crossorigin",valueSet:"xo",description:{kind:"markdown",value:'This enumerated attribute indicates whether to use CORS to fetch the related image. [CORS-enabled resources](https://developer.mozilla.org/en-US/docs/CORS_Enabled_Image) can be reused in the [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas "Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.") element without being _tainted_. The allowed values are:\n\nanonymous\n\nSends a cross-origin request without a credential. In other words, it sends the `Origin:` HTTP header without a cookie, X.509 certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (by not setting the `Access-Control-Allow-Origin:` HTTP header), the image will be _tainted_, and its usage restricted.\n\nuse-credentials\n\nSends a cross-origin request with a credential. In other words, it sends the `Origin:` HTTP header with a cookie, a certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (through `Access-Control-Allow-Credentials:` HTTP header), the image will be _tainted_ and its usage restricted.\n\nWhen not present, the resource is fetched without a CORS request (i.e. without sending the `Origin:` HTTP header), preventing its non-tainted used in [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas "Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.") elements. If invalid, it is handled as if the enumerated keyword **anonymous** was used. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/HTML/CORS_settings_attributes) for additional information.'}},{name:"preload",valueSet:"pl",description:{kind:"markdown",value:"This enumerated attribute is intended to provide a hint to the browser about what the author thinks will lead to the best user experience. It may have one of the following values:\n\n* `none`: Indicates that the audio should not be preloaded.\n* `metadata`: Indicates that only audio metadata (e.g. length) is fetched.\n* `auto`: Indicates that the whole audio file can be downloaded, even if the user is not expected to use it.\n* _empty string_: A synonym of the `auto` value.\n\nIf not set, `preload`'s default value is browser-defined (i.e. each browser may have its own default value). The spec advises it to be set to `metadata`.\n\n**Usage notes:**\n\n* The `autoplay` attriLine truncated
**Note**: Sites that automatically play audio (or videos with an audio track) can be an unpleasant experience for users, so should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control.`}},{name:"mediagroup"},{name:"loop",valueSet:"v",description:{kind:"markdown",value:"A Boolean attribute: if specified, the audio player will automatically seek back to the start upon reaching the end of the audio."}},{name:"muted",valueSet:"v",description:{kind:"markdown",value:"A Boolean attribute that indicates whether the audio will be initially silenced. Its default value is `false`."}},{name:"controls",valueSet:"v",description:{kind:"markdown",value:"If this attribute is present, the browser will offer controls to allow the user to control audio playback, including volume, seeking, and pause/resume playback."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/audio"}]},{name:"source",description:{kind:"markdown",value:"The source element allows authors to specify multiple alternative media resources for media elements. It does not represent anything on its own."},void:!0,attributes:[{name:"src",description:{kind:"markdown",value:'Required for [`<audio>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio "The HTML <audio> element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element: the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.") and [`<video>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video "The HTML Video element (<video>) embeds a media player which supports video playback into the document."), address of the media resource. The value of this attribute is ignored when the `<source>` element is placed inside a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture "The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.") element.'}},{name:"type",description:{kind:"markdown",value:"The MIME-type of the resource, optionally with a `codecs` parameter. See [RFC 4281](https://tools.ietf.org/html/rfc4281) for information about how to specify codecs."}},{name:"sizes",description:'Is a list of source sizes that describes the final rendered width of the image represented by the source. Each source size consists of a comma-separated list of media condition-length pairs. This information is used by the browser to determine, before laying the page out, which image defined in [`srcset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source#attr-srcset) to use. \nThe `sizes` attribute has an effect only when the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source "The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.") element is the direct child of a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture "The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.") element.'},{name:"srcset",description:"A list of one or more strings separated by commas indicating a set of possible images represented by the source for the browser to use. Each string is composed of:\n\n1. one URL to an image,\n2. a width descriptor, that is a positive integer directly followed by `'w'`. The default value, if missing, is the infinity.\n3. a pixel density descriptor, that is a positive floating number directly followed by `'x'`. The default value, if missing, is `1x`.\n\nEach string in the list must have at least a width descriptor or a pixel density descriptor to be valid. Among the list, there must be only one string containing the same tuple of width descriptor and pixel density descriptor. \nThe browser chooses the most adequate image to display at a given point of time. \nThe `srcset` attribute has an effect only when the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source \"The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.\") element is the direct child of a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture \"The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.\") element."},{name:"media",description:'[Media query](https://developer.mozilla.org/en-US/docs/CSS/Media_queries) of the resource\'s intended med Line truncated
\`left\`
The caption is displayed to the left of the table.
\`top\`
The caption is displayed above the table.
\`right\`
The caption is displayed to the right of the table.
\`bottom\`
The caption is displayed below the table.
**Usage note:** Do not use this attribute, as it has been deprecated. The [\`<caption>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption "The HTML Table Caption element (<caption>) specifies the caption (or title) of a table, and if used is always the first child of a <table>.") element should be styled using the [CSS](https://developer.mozilla.org/en-US/docs/CSS) properties [\`caption-side\`](https://developer.mozilla.org/en-US/docs/Web/CSS/caption-side "The caption-side CSS property puts the content of a table's <caption> on the specified side. The values are relative to the writing-mode of the table.") and [\`text-align\`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.").`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/caption"}]},{name:"colgroup",description:{kind:"markdown",value:"The colgroup element represents a group of one or more columns in the table that is its parent, if it has a parent and that is a table element."},attributes:[{name:"span"},{name:"align",description:'This enumerated attribute specifies how horizontal alignment of each column cell content will be handled. Possible values are:\n\n* `left`, aligning the content to the left of the cell\n* `center`, centering the content in the cell\n* `right`, aligning the content to the right of the cell\n* `justify`, inserting spaces into the textual content so that the content is justified in the cell\n* `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-charoff) attributes Unimplemented (see [bug 2212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nIf this attribute is not set, the `left` value is assumed. The descendant [`<col>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col "The HTML <col> element defines a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.") elements may override this value using their own [`align`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-align) attribute.\n\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values:\n * Do not try to set the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property on a selector giving a [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup "The HTML <colgroup> element defines a group of columns within a table.") element. Because [`<td>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td "The HTML <td> element defines a cell of a table that contains data. It participates in the table model.") elements are not descendant of the [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup "The HTML <colgroup> element defines a group of columns within a table.") element, they won\'t inherit it.\n * If the table doesn\'t use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, use one `td:nth-child(an+b)` CSS selector per column, where a is the total number of the columns in the table and b is the ordinal position of this column in the table. Only after this selector the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property can be used.\n * If the table does use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, the effect can be achieved by combining adequate CSS attribute selectors like `[colspan=n]`, though this is not trivial.\n* To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property Unimplemented.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.o Line truncated
**Note:** Do not use this attribute as it is obsolete in the latest standard. Alternatively, you can put the abbreviated description inside the cell and place the long content in the **title** attribute.`},{name:"align",description:'This enumerated attribute specifies how the cell content\'s horizontal alignment will be handled. Possible values are:\n\n* `left`: The content is aligned to the left of the cell.\n* `center`: The content is centered in the cell.\n* `right`: The content is aligned to the right of the cell.\n* `justify` (with text only): The content is stretched out inside the cell so that it covers its entire width.\n* `char` (with text only): The content is aligned to a character inside the `<th>` element with minimal offset. This character is defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-charoff) attributes Unimplemented (see [bug 2212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nThe default value when this attribute is not specified is `left`.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, apply the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property to the element.\n* To achieve the same effect as the `char` value, give the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property the same value you would use for the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-char). Unimplemented in CSS3.'},{name:"axis",description:"This attribute contains a list of space-separated strings. Each string is the `id` of a group of cells that this header applies to.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard."},{name:"bgcolor",description:`This attribute defines the background color of each cell in a column. It consists of a 6-digit hexadecimal code as defined in [sRGB](https://www.w3.org/Graphics/Color/sRGB) and is prefixed by '#'. This attribute may be used with one of sixteen predefined color strings:
 
\`black\` = "#000000"
 
\`green\` = "#008000"
 
\`silver\` = "#C0C0C0"
 
\`lime\` = "#00FF00"
 
\`gray\` = "#808080"
 
\`olive\` = "#808000"
 
\`white\` = "#FFFFFF"
 
\`yellow\` = "#FFFF00"
 
\`maroon\` = "#800000"
 
\`navy\` = "#000080"
 
\`red\` = "#FF0000"
 
\`blue\` = "#0000FF"
 
\`purple\` = "#800080"
 
\`teal\` = "#008080"
 
\`fuchsia\` = "#FF00FF"
 
\`aqua\` = "#00FFFF"
**Note:** Do not use this attribute, as it is non-standard and only implemented in some versions of Microsoft Internet Explorer: The [\`<td>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td "The HTML <td> element defines a cell of a table that contains data. It participates in the table model.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/CSS). To create a similar effect use the [\`background-color\`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color "The background-color CSS property sets the background color of an element.") property in [CSS](https://developer.mozilla.org/en-US/docs/CSS) instead.`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/td"}]},{name:"th",description:{kind:"markdown",value:"The th element represents a header cell in a table."},attributes:[{name:"colspan"},{name:"rowspan"},{name:"headers"},{name:"scope",valueSet:"s"},{name:"sorted"},{name:"abbr",description:{kind:"markdown",value:"This attribute contains a short abbreviated description of the cell's content. Some user-agents, such as speech readers, may present this description before the content itself."}},{name:"align",description:'This enumerated attribute specifies how the cell content\'s horizontal alignment will be handled. Possible values are:\n\n* `left`: The content is aligned to the left of the cell.\n* `center`: The content is centered in the cell.\n* `right`: The content is aligned to the right of the cell.\n* `justify` (with text only): The content is stretched out inside the cell so that it covers its entire width.\n* `char` (with text only): The content is aligned to a character inside the `<th>` element with minimal offset. This character is defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-charoff) attributes.\n\nThe default value when this attribute is not specified is `left`.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, apply the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property to the element.\n* To achieve the same effect as the `char` value, give the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property the same value you would use for the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-char). Unimplemented in CSS3.'},{name:"axis",description:"This attribute contains a list of space-separated strings. Each string is the `id` of a group of cells that this header applies to.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard: use the [`scope`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-scope) attribute instead."},{name:"bgcolor",description:`This attribute defines the background color of each cell in a column. It consists of a 6-digit hexadecimal code as defined in [sRGB](https://www.w3.org/Graphics/Color/sRGB) and is prefixed by '#'. This attribute may be used with one of sixteen predefined color strings:
 
\`black\` = "#000000"
 
\`green\` = "#008000"
 
\`silver\` = "#C0C0C0"
 
\`lime\` = "#00FF00"
 
\`gray\` = "#808080"
 
\`olive\` = "#808000"
 
\`white\` = "#FFFFFF"
 
\`yellow\` = "#FFFF00"
 
\`maroon\` = "#800000"
 
\`navy\` = "#000080"
 
\`red\` = "#FF0000"
 
\`blue\` = "#0000FF"
 
\`purple\` = "#800080"
 
\`teal\` = "#008080"
 
\`fuchsia\` = "#FF00FF"
 
\`aqua\` = "#00FFFF"
**Note:** Do not use this attribute, as it is non-standard and only implemented in some versions of Microsoft Internet Explorer: The [\`<th>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th "The HTML <th> element defines a cell as header of a group of table cells. The exact nature of this group is defined by the scope and headers attributes.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS). To create a similar effect use the [\`background-color\`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color "The background-color CSS property sets the background color of an element.") property in [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) instead.`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/th"}]},{name:"form",description:{kind:"markdown",value:"The form element represents a collection of form-associated elements, some of which can represent editable values that can be submitted to a server for processing."},attributes:[{name:"accept-charset",description:{kind:"markdown",value:'A space- or comma-delimited list of character encodings that the server accepts. The browser uses them in the order in which they are listed. The default value, the reserved string `"UNKNOWN"`, indicates the same encoding as that of the document containing the form element. \nIn previous versions of HTML, the different character encodings could be delimited by spaces or commas. In HTML5, only spaces are allowed as delimiters.'}},{name:"action",description:{kind:"markdown",value:'The URI of a program that processes the form information. This value can be overridden by a [`formaction`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formaction) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element.'}},{name:"autocomplete",valueSet:"o",description:{kind:"markdown",value:"Indicates whether input elements can by default have their values automatically completed by the browser. This setting can be overridden by an `autocomplete` attribute on an element belonging to the form. Possible values are:\n\n* `off`: The user must explicitly enter a value into each field for every use, or the document provides its own auto-completion method; the browser does not automatically complete entries.\n* `on`: The browser can automatically complete values based on values that the user has previously entered in the form.\n\nFor most modern browsers (including Firefox 38+, Google Chrome 34+, IE 11+) setting the autocomplete attribute will not prevent a browser's password manager from asking the user if they want to store login fields (username and password), if the user permits the storage the browser will autofill the login the next time the user visits the page. See [The autocomplete attribute and login fields](https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion#The_autocomplete_attribute_and_login_fields).\n**Note:** If you set `autocomplete` to `off` in a form because the document provides its own auto-completion, then you should also set `autocomplete` to `off` for each of the form's `input` elements that the document can auto-complete. For details, see the note regarding Google Chrome in the [Browser Compatibility chart](#compatChart)."}},{name:"enctype",valueSet:"et",description:{kind:"markdown",value:'When the value of the `method` attribute is `post`, enctype is the [MIME type](https://en.wikipedia.org/wiki/Mime_type) of content that is used to submit the form to the server. Possible values are:\n\n* `application/x-www-form-urlencoded`: The default value if the attribute is not specified.\n* `multipart/form-data`: The value used for an [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element with the `type` attribute set to "file".\n* `text/plain`: (HTML5)\n\nThis value can be overridden by a [`formenctype`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formenctype) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or Line truncated
This attribute must not be used if the \`src\` attribute is absent (i.e. for inline scripts). If it is included in this case it will have no effect.
Browsers usually assume the worst case scenario and load scripts synchronously, (i.e. \`async="false"\`) during HTML parsing.
Dynamically inserted scripts (using [\`document.createElement()\`](https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement "In an HTML document, the document.createElement() method creates the HTML element specified by tagName, or an HTMLUnknownElement if tagName isn't recognized.")) load asynchronously by default, so to turn on synchronous loading (i.e. scripts load in the order they were inserted) set \`async="false"\`.
See [Browser compatibility](#Browser_compatibility) for notes on browser support. See also [Async scripts for asm.js](https://developer.mozilla.org/en-US/docs/Games/Techniques/Async_scripts).`}},{name:"defer",valueSet:"v",description:{kind:"markdown",value:'This Boolean attribute is set to indicate to a browser that the script is meant to be executed after the document has been parsed, but before firing [`DOMContentLoaded`](https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded "/en-US/docs/Web/Events/DOMContentLoaded").\n\nScripts with the `defer` attribute will prevent the `DOMContentLoaded` event from firing until the script has loaded and finished evaluating.\n\nThis attribute must not be used if the `src` attribute is absent (i.e. for inline scripts), in this case it would have no effect.\n\nTo achieve a similar effect for dynamically inserted scripts use `async="false"` instead. Scripts with the `defer` attribute will execute in the order in which they appear in the document.'}},{name:"crossorigin",valueSet:"xo",description:{kind:"markdown",value:'Normal `script` elements pass minimal information to the [`window.onerror`](https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror "The onerror property of the GlobalEventHandlers mixin is an EventHandler that processes error events.") for scripts which do not pass the standard [CORS](https://developer.mozilla.org/en-US/docs/Glossary/CORS "CORS: CORS (Cross-Origin Resource Sharing) is a system, consisting of transmitting HTTP headers, that determines whether browsers block frontend JavaScript code from accessing responses for cross-origin requests.") checks. To allow error logging for sites which use a separate domain for static media, use this attribute. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) for a more descriptive explanation of its valid arguments.'}},{name:"nonce",description:{kind:"markdown",value:"A cryptographic nonce (number used once) to list the allowed inline scripts in a [script-src Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src). The server must generate a unique nonce value each time it transmits a policy. It is critical to provide a nonce that cannot be guessed as bypassing a resource's policy is otherwise trivial."}},{name:"integrity",description:"This attribute contains inline metadata that a user agent can use to verify that a fetched resource has been delivered free of unexpected manipulation. See [Subresource Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity)."},{name:"nomodule",description:"This Boolean attribute is set to indicate that the script should not be executed in browsers that support [ES2015 modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/) — in effect, this can be used to serve fallback scripts to older browsers that do not support modular JavaScript code."},{name:"referrerpolicy",description:'Indicates which [referrer](https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer) to send when fetching the script, or resources fetched by the script:\n\n* `no-referrer`: The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent.\n* `no-referrer-when-downgrade` (default): The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent to [origin](https://developer.mozilla.org/en-US/docs/Glossary/origin "origin: Web content\'s origin is defined by the scheme (protocol), host (domain), and port of the URL used to access it. Two objects have the same origin only when the scheme, host, and port all match.")s without [TLS](https://developer.mozilla.org/en-US/docs/Glossary/TLS "TLS: Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), is a protocol used by applications to communicate securely across a network, preventing tampering with and eavesdropping on email, web browsing, messaging, and other protocols.") ([HTTPS](https://developer.mozilla.org/en-US/docs/Glossary/HTTPS "HTTPS: HTTPS (HTTP Secure) is an encrypted version of the HTTP protocol. It usually uses SSL or TLS to encrypt all communication between a client and a server. This secure connection allows clients to safely exchange s Line truncated
* a _negative value_ means that the element should be focusable, but should not be reachable via sequential keyboard navigation;
* \`0\` means that the element should be focusable and reachable via sequential keyboard navigation, but its relative order is defined by the platform convention;
* a _positive value_ means that the element should be focusable and reachable via sequential keyboard navigation; the order in which the elements are focused is the increasing value of the [**tabindex**](#attr-tabindex). If several elements share the same tabindex, their relative order follows their relative positions in the document.`},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/tabindex"}]},{name:"title",description:{kind:"markdown",value:"Contains a text representing advisory information related to the element it belongs to. Such information can typically, but not necessarily, be presented to the user as a tooltip."},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/title"}]},{name:"translate",description:{kind:"markdown",value:"An enumerated attribute that is used to specify whether an element's attribute values and the values of its [`Text`](https://developer.mozilla.org/docs/Web/API/Text \"The Text interface represents the textual content of Element or Attr. If an element has no markup within its content, it has a single child implementing Text that contains the element's text. However, if the element contains markup, it is parsed into information items and Text nodes that form its children.\") node children are to be translated when the page is localized, or whether to leave them unchanged. It can have the following values:\n\n* empty string and `yes`, which indicates that the element will be translated.\n* `no`, which indicates that the element will not be translated."},valueSet:"y",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/translate"}]},{name:"onabort",description:{kind:"markdown",value:"The loading of a resource has been aborted."}},{name:"onblur",description:{kind:"markdown",value:"An element has lost focus (does not bubble)."}},{name:"oncanplay",description:{kind:"markdown",value:"The user agent can play the media, but estimates that not enough data has been loaded to play the media up to its end without having to stop for further buffering of content."}},{name:"oncanplaythrough",description:{kind:"markdown",value:"The user agent can play the media up to its end without having to stop for further buffering of content."}},{name:"onchange",description:{kind:"markdown",value:"The change event is fired for <input>, <select>, and <textarea> elements when a change to the element's value is committed by the user."}},{name:"onclick",description:{kind:"markdown",value:"A pointing device button has been pressed and released on an element."}},{name:"oncontextmenu",description:{kind:"markdown",value:"The right button of the mouse is clicked (before the context menu is displayed)."}},{name:"ondblclick",description:{kind:"markdown",value:"A pointing device button is clicked twice on an element."}},{name:"ondrag",description:{kind:"markdown",value:"An element or text selection is being dragged (every 350ms)."}},{name:"ondragend",description:{kind:"markdown",value:"A drag operation is being ended (by releasing a mouse button or hitting the escape key)."}},{name:"ondragenter",description:{kind:"markdown",value:"A dragged element or text selection enters a valid drop target."}},{name:"ondragleave",description:{kind:"markdown",value:"A dragged element or text selection leaves a valid drop target."}},{name:"ondragover",description:{kind:"markdown",value:"An element or text selection is being dragged over a valid drop target (every 350ms)."}},{name:"ondragstart",description:{kind:"markdown",value:"The user starts dragging an element or text selection."}},{name:"ondrop",description:{kind:"markdown",value:"An element is dropped on a valid drop target."}},{name:"ondurationchange",description:{kind:"markdown",value:"The duration attribute has been updated."}},{name:"onemptied",description:{kind:"markdown",value:"The media has become empty; for example, this event is sent if the media has already been loaded (or partially loaded), and the load() method is called to reload it."}},{name:"onended",description:{kind:"markdown",value:"Playback has stopped because the end of the media was reached."}},{name:"onerror",description:{kind:"markdown",value:"A resource failed to load."}},{name:"onfocus",description:{kind:"markdown",value:"An element has received focus (does not bubble)."}},{name:"onformchange"},{name:"onforminput"},{name:"oninput",description:{kind:"markdown",value:"The value of an element changes or the content of an element with the attribute contenteditable is modified."}},{name:"oninvalid",description:{kind:"markdown",value:"A submittable element has been checked and doesn't satisfy its constraints."}},{name:"onkeydown",description:{kind:"markdown",value:"A key is pressed down."}},{name:"onkeypress",description:{kind:"markdown",value:"A key is pressed down and that key normally produces a character value (use input instead)."}},{name:"onkeyup Line truncated
@@ -0,0 +1,62 @@
(function(){"use strict";var be,Q;class yl{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?vt.isErrorNoTelemetry(e)?new vt(e.message+`
`+e.stack):new Error(e.message+`
`+e.stack):e},0)}}emit(e){this.listeners.forEach(n=>{n(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const ki=new yl;function xn(t){Ri(t)||ki.onUnexpectedError(t)}function wl(t){Ri(t)||ki.onUnexpectedExternalError(t)}function rr(t){if(t instanceof Error){const{name:e,message:n,cause:r}=t,i=t.stacktrace||t.stack;return{$isError:!0,name:e,message:n,stack:i,noTelemetry:vt.isErrorNoTelemetry(t),cause:r?rr(r):void 0,code:t.code}}return t}const ir="Canceled";function Ri(t){return t instanceof Ei?!0:t instanceof Error&&t.name===ir&&t.message===ir}class Ei extends Error{constructor(){super(ir),this.name=this.message}}class vt extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof vt)return e;const n=new vt;return n.message=e.message,n.stack=e.stack,n}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class re extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,re.prototype)}}function xl(t,e="Unreachable"){throw new Error(e)}function vl(t,e="unexpected state"){if(!t)throw typeof e=="string"?new re(`Assertion Failed: ${e}`):e}function Xt(t){if(!t()){debugger;t(),xn(new re("Assertion Failed"))}}function sr(t,e){let n=0;for(;n<t.length-1;){const r=t[n],i=t[n+1];if(!e(r,i))return!1;n++}return!0}function Ll(t){return typeof t=="string"}function Nl(t){return!!t&&typeof t[Symbol.iterator]=="function"}var vn;(function(t){function e(v){return!!v&&typeof v=="object"&&typeof v[Symbol.iterator]=="function"}t.is=e;const n=Object.freeze([]);function r(){return n}t.empty=r;function*i(v){yield v}t.single=i;function s(v){return e(v)?v:i(v)}t.wrap=s;function a(v){return v??n}t.from=a;function*o(v){for(let S=v.length-1;S>=0;S--)yield v[S]}t.reverse=o;function u(v){return!v||v[Symbol.iterator]().next().done===!0}t.isEmpty=u;function c(v){return v[Symbol.iterator]().next().value}t.first=c;function h(v,S){let C=0;for(const D of v)if(S(D,C++))return!0;return!1}t.some=h;function f(v,S){let C=0;for(const D of v)if(!S(D,C++))return!1;return!0}t.every=f;function m(v,S){for(const C of v)if(S(C))return C}t.find=m;function*g(v,S){for(const C of v)S(C)&&(yield C)}t.filter=g;function*d(v,S){let C=0;for(const D of v)yield S(D,C++)}t.map=d;function*p(v,S){let C=0;for(const D of v)yield*S(D,C++)}t.flatMap=p;function*y(...v){for(const S of v)Nl(S)?yield*S:yield S}t.concat=y;function w(v,S,C){let D=C;for(const P of v)D=S(D,P);return D}t.reduce=w;function x(v){let S=0;for(const C of v)S++;return S}t.length=x;function*b(v,S,C=v.length){for(S<-v.length&&(S=0),S<0&&(S+=v.length),C<0?C+=v.length:C>v.length&&(C=v.length);S<C;S++)yield v[S]}t.slice=b;function N(v,S=Number.POSITIVE_INFINITY){const C=[];if(S===0)return[C,v];const D=v[Symbol.iterator]();for(let P=0;P<S;P++){const _=D.next();if(_.done)return[C,t.empty()];C.push(_.value)}return[C,{[Symbol.iterator](){return D}}]}t.consume=N;async function L(v){const S=[];for await(const C of v)S.push(C);return S}t.asyncToArray=L;async function R(v){let S=[];for await(const C of v)S=S.concat(C);return S}t.asyncToArrayFlat=R})(vn||(vn={}));function Ef(t,e){}function Ti(t){if(vn.is(t)){const e=[];for(const n of t)if(n)try{n.dispose()}catch(r){e.push(r)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function _l(...t){return Qt(()=>Ti(t))}class Sl{constructor(e){this._isDisposed=!1,this._fn=e}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,this._fn()}}}function Qt(t){return new Sl(t)}const Yn=class Yn{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Ti(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e||e===lt.None)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Yn.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}};Yn.DISABLE_DISPOSED_WARNING=!1;let Yt=Yn;const _i=class _i{constructor(){this._store=new Yt,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};_i.None=Object.freeze({dispose(){}});let lt=_i;const jt=class jt{constructor(e){this.element=e,this.next=jt.Undefined,this.prev=jt.Undefined}};jt.Undefined=new jt(void 0);let K=jt;class Al{constructor(){this._first=K.Undefined,this._last=K. Line truncated
`).slice(2).join(`
`))}}class An extends Error{constructor(e,n,r,i,s){super(s?`[${s}] potential listener LEAK detected, ${e}`:`potential listener LEAK detected, ${e}`),this.name="ListenerLeakError",this.kind=e,this.listenerCount=i,this.details=n,this.stack=r}static is(e){return e instanceof An||e instanceof Error&&typeof e.kind=="string"&&typeof e.listenerCount=="number"}}class ql extends An{constructor(e,n,r,i,s){super(e,n,r,i,s),this.name="ListenerRefusalError"}}class gr{constructor(e){this.value=e}}const jl=2;class Te{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new dr(e?.onListenerError??xn,this._options?.leakWarningThreshold??Ul,this._options?.leakWarningName):void 0,this._perfMon=this._options?._profName?new mr(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,n,r)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const o=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(o);const u=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],c=u[1]/this._size>.3?"dominated":"popular",h=new ql(c,`${o}. HINT: Stack shows most frequent listener (${u[1]}-times)`,u[0],this._size,this._options?.leakWarningName);return(this._options?.onListenerError||xn)(h),lt.None}if(this._disposed)return lt.None;n&&(e=e.bind(n));const i=new gr(e);let s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(i.stack=Sn.create(),s=this._leakageMon.check(i.stack,this._size+1)),this._listeners?this._listeners instanceof gr?(this._deliveryQueue??=new Wl,this._listeners=[this._listeners,i]):this._listeners.push(i):(this._options?.onWillAddFirstListener?.(this),this._listeners=i,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;const a=Qt(()=>{s?.(),this._removeListener(i)});return pr(a,r),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const n=this._listeners,r=n.indexOf(e);if(r===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,n[r]=void 0;const i=this._deliveryQueue.current===this;if(this._size*jl<=n.length){let s=0;for(let a=0;a<n.length;a++)n[a]?n[s++]=n[a]:i&&s<this._deliveryQueue.end&&(this._deliveryQueue.end--,s<this._deliveryQueue.i&&this._deliveryQueue.i--);n.length=s}}_deliver(e,n){if(!e)return;const r=this._options?.onListenerError||xn;if(!r){e.value(n);return}try{e.value(n)}catch(i){r(i)}}_deliverQueue(e){const n=e.current._listeners;for(;e.i<e.end;)this._deliver(n[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof gr)this._deliver(this._listeners,e);else{const n=this._deliveryQueue;n.enqueue(this,e,this._listeners.length),this._deliverQueue(n)}this._perfMon?.stop()}hasListeners(){return this._size>0}}class Wl{constructor(){this.i=-1,this.end=0}enqueue(e,n,r){this.i=0,this.end=r,this.current=e,this.value=n}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}function pr(t,e){e instanceof Yt?e.add(t):Array.isArray(e)&&e.push(t)}function Oi(t,e){if(e instanceof Yt)e.delete(t);else if(Array.isArray(e)){const n=e.indexOf(t);n!==-1&&e.splice(n,1)}t.dispose()}function Hl(t){return t}class zl{constructor(e,n){this.lastCache=void 0,this.lastArgKey=void 0,typeof e=="function"?(this._fn=e,this._computeKey=Hl):(this._fn=n,this._computeKey=e.getCacheKey)}get(e){const n=this._computeKey(e);return this.lastArgKey!==n&&(this.lastArgKey=n,this.lastCache=this._fn(e)),this.lastCache}}var ut;(function(t){t[t.Uninitialized=0]="Uninitialized",t[t.Running=1]="Running",t[t.Completed=2]="Completed"})(ut||(ut={}));class br{constructor(e){this.executor=e,this._state=ut.Uninitialized}get value(){if(this._state===ut.Uninitialized){this._state=ut.Running;try{this._value=this.executor()}catch(e){this._error=e}finally{this._state=ut.Completed}}else if(this._state===ut.Running)throw new Error("Cannot read the value of a lazy that is being initialized");if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}function Gl(t){return t.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Jl(t){return t.source==="^"||t.source==="^$"||t.source==="$"||t.source==="^\\s*$"?!1:!!(t.exec("")&&t.lastIndex===0)}function Xl(t){re Line truncated
`||t===" "}class nn{constructor(e,n,r){this.changes=e,this.moves=n,this.hitTimeout=r}}class ba{constructor(e,n){this.lineRangeMapping=e,this.changes=n}}function ac(t,e,n=(r,i)=>r===i){if(t===e)return!0;if(!t||!e||t.length!==e.length)return!1;for(let r=0,i=t.length;r<i;r++)if(!n(t[r],e[r]))return!1;return!0}function*oc(t,e){let n,r;for(const i of t)r!==void 0&&e(r,i)?n.push(i):(n&&(yield n),n=[i]),r=i;n&&(yield n)}function lc(t,e){for(let n=0;n<=t.length;n++)e(n===0?void 0:t[n-1],n===t.length?void 0:t[n])}function uc(t,e){for(let n=0;n<t.length;n++)e(n===0?void 0:t[n-1],t[n],n+1===t.length?void 0:t[n+1])}function cc(t,e){for(const n of e)t.push(n)}var Dr;(function(t){function e(s){return s<0}t.isLessThan=e;function n(s){return s<=0}t.isLessThanOrEqual=n;function r(s){return s>0}t.isGreaterThan=r;function i(s){return s===0}t.isNeitherLessOrGreaterThan=i,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(Dr||(Dr={}));function Rt(t,e){return(n,r)=>e(t(n),t(r))}const rn=(t,e)=>t-e;function fc(t){return(e,n)=>-t(e,n)}const Gt=class Gt{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(n=>(e.push(n),!0)),e}filter(e){return new Gt(n=>this.iterate(r=>e(r)?n(r):!0))}map(e){return new Gt(n=>this.iterate(r=>n(e(r))))}findLast(e){let n;return this.iterate(r=>(e(r)&&(n=r),!0)),n}findLastMaxBy(e){let n,r=!0;return this.iterate(i=>((r||Dr.isGreaterThan(e(i,n)))&&(r=!1,n=i),!0)),n}};Gt.empty=new Gt(e=>{});let ya=Gt;class B{static fromTo(e,n){return new B(e,n)}static addRange(e,n){let r=0;for(;r<n.length&&n[r].endExclusive<e.start;)r++;let i=r;for(;i<n.length&&n[i].start<=e.endExclusive;)i++;if(r===i)n.splice(r,0,e);else{const s=Math.min(e.start,n[r].start),a=Math.max(e.endExclusive,n[i-1].endExclusive);n.splice(r,i-r,new B(s,a))}}static tryCreate(e,n){if(!(e>n))return new B(e,n)}static ofLength(e){return new B(0,e)}static ofStartAndLength(e,n){return new B(e,e+n)}static emptyAt(e){return new B(e,e)}constructor(e,n){if(this.start=e,this.endExclusive=n,e>n)throw new re(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new B(this.start+e,this.endExclusive+e)}deltaStart(e){return new B(this.start+e,this.endExclusive)}deltaEnd(e){return new B(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}containsRange(e){return this.start<=e.start&&e.endExclusive<=this.endExclusive}contains(e){return this.start<=e&&e<this.endExclusive}join(e){return new B(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);if(n<=r)return new B(n,r)}intersectionLength(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return Math.max(0,r-n)}intersects(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return n<r}intersectsOrTouches(e){const n=Math.max(this.start,e.start),r=Math.min(this.endExclusive,e.endExclusive);return n<=r}isBefore(e){return this.endExclusive<=e.start}isAfter(e){return this.start>=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new re(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new re(`Invalid clipping range: ${this.toString()}`);return e<this.start?this.endExclusive-(this.start-e)%this.length:e>=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let n=this.start;n<this.endExclusive;n++)e(n)}joinRightTouching(e){if(this.endExclusive!==e.start)throw new re(`Invalid join: ${this.toString()} and ${e.toString()}`);return new B(this.start,e.endExclusive)}withMargin(e,n){return n===void 0&&(n=e),new B(this.start-e,this.endExclusive+n)}}function Et(t,e){const n=Tt(t,e);return n===-1?void 0:t[n]}function Tt(t,e,n=0,r=t.length){let i=n,s=r;for(;i<s;){const a=Math.floor((i+s)/2);e(t[a])?i=a+1:s=a}return i-1}function hc(t,e){const n=Or(t,e);return n===t.length?void 0:t[n]}function Or(t,e,n=0,r=t.length){let i=n,s=r;for(;i<s;){const a=Math.floor((i+s)/2);e(t[a])?s=a:i=a+1}return i}const er=class er{constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(er.assertInvariants){if(this._prevFindLastPredicate){for(const r of this._array)if(this._prevFindLastPredicate(r)&&!e(r))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=e}const n=Tt(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=n+1,n===-1?void 0:this._array[n]}};er.assertInvariants=!1;let Cn=er;const ke=class ke{static ofLength(e,n){return new ke(e,e+n)}static fromRange(e){return new ke(e Line truncated
`?(n++,r=0):r++;return new Ve(n,r)}constructor(e,n){this.lineCount=e,this.columnCount=n}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}add(e){return e.lineCount===0?new Ve(this.lineCount,this.columnCount+e.columnCount):new Ve(this.lineCount+e.lineCount,e.columnCount)}createRange(e){return this.lineCount===0?new j(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new j(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}toRange(){return new j(1,1,this.lineCount+1,this.columnCount+1)}toLineRange(){return z.ofLength(1,this.lineCount+1)}addToPosition(e){return this.lineCount===0?new J(e.lineNumber,e.column+this.columnCount):new J(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}};Ve.zero=new Ve(0,0);let tt=Ve;class mc{getOffsetRange(e){return new B(this.getOffset(e.getStartPosition()),this.getOffset(e.getEndPosition()))}getRange(e){return j.fromPositions(this.getPosition(e.start),this.getPosition(e.endExclusive))}getStringReplacement(e){return new ft.deps.StringReplacement(this.getOffsetRange(e.range),e.text)}getTextReplacement(e){return new ft.deps.TextReplacement(this.getRange(e.replaceRange),e.newText)}getTextEdit(e){const n=e.replacements.map(r=>this.getTextReplacement(r));return new ft.deps.TextEdit(n)}}const Si=class Si{static get deps(){if(!this._deps)throw new Error("Dependencies not set. Call _setDependencies first.");return this._deps}};Si._deps=void 0;let ft=Si;function dc(t){ft._deps=t}class wa extends mc{constructor(e){super(),this.text=e}get lineStartOffsetByLineIdx(){return this._lineStartOffsetByLineIdx||this._computeLineOffsets(),this._lineStartOffsetByLineIdx}get lineEndOffsetByLineIdx(){return this._lineEndOffsetByLineIdx||this._computeLineOffsets(),this._lineEndOffsetByLineIdx}_computeLineOffsets(){this._lineStartOffsetByLineIdx=[],this._lineEndOffsetByLineIdx=[],this._lineStartOffsetByLineIdx.push(0);for(let e=0;e<this.text.length;e++)this.text.charAt(e)===`
`&&(this._lineStartOffsetByLineIdx.push(e+1),e>0&&this.text.charAt(e-1)==="\r"?this._lineEndOffsetByLineIdx.push(e-1):this._lineEndOffsetByLineIdx.push(e));this._lineEndOffsetByLineIdx.push(this.text.length)}getOffset(e){const n=this._validatePosition(e);return this.lineStartOffsetByLineIdx[n.lineNumber-1]+n.column-1}_validatePosition(e){if(e.lineNumber<1)return new J(1,1);const n=this.textLength.lineCount+1;if(e.lineNumber>n){const i=this.getLineLength(n);return new J(n,i+1)}if(e.column<1)return new J(e.lineNumber,1);const r=this.getLineLength(e.lineNumber);return e.column-1>r?new J(e.lineNumber,r+1):e}getPosition(e){const n=Tt(this.lineStartOffsetByLineIdx,s=>s<=e),r=n+1,i=e-this.lineStartOffsetByLineIdx[n]+1;return new J(r,i)}get textLength(){const e=this.lineStartOffsetByLineIdx.length-1;return new ft.deps.TextLength(e,this.text.length-this.lineStartOffsetByLineIdx[e])}getLineLength(e){return this.lineEndOffsetByLineIdx[e-1]-this.lineStartOffsetByLineIdx[e-1]}}class xa{constructor(){this._transformer=void 0}get endPositionExclusive(){return this.length.addToPosition(new J(1,1))}get lineRange(){return this.length.toLineRange()}getValue(){return this.getValueOfRange(this.length.toRange())}getValueOfOffsetRange(e){return this.getValueOfRange(this.getTransformer().getRange(e))}getLineLength(e){return this.getValueOfRange(new j(e,1,e,Number.MAX_SAFE_INTEGER)).length}getTransformer(){return this._transformer||(this._transformer=new wa(this.getValue())),this._transformer}getLineAt(e){return this.getValueOfRange(new j(e,1,e,Number.MAX_SAFE_INTEGER))}}class gc extends xa{constructor(e,n){vl(n>=1),super(),this._getLineContent=e,this._lineCount=n}getValueOfRange(e){if(e.startLineNumber===e.endLineNumber)return this._getLineContent(e.startLineNumber).substring(e.startColumn-1,e.endColumn-1);let n=this._getLineContent(e.startLineNumber).substring(e.startColumn-1);for(let r=e.startLineNumber+1;r<e.endLineNumber;r++)n+=`
`+this._getLineContent(r);return n+=`
`+this._getLineContent(e.endLineNumber).substring(0,e.endColumn-1),n}getLineLength(e){return this._getLineContent(e).length}get length(){const e=this._getLineContent(this._lineCount);return new tt(this._lineCount-1,e.length)}}class In extends gc{constructor(e){super(n=>e[n-1],e.length)}}class Fn extends xa{constructor(e){super(),this.value=e,this._t=new wa(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}getTransformer(){return this._t}}let pc=class Ai{static fromStringEdit(e,n){const r=e.replacements.map(i=>Pe.fromStringReplacement(i,n));return new Ai(r)}static fromParallelReplacementsUnsorted(e){const n=e.slice().sort(Rt(r=>r.range,j.compareRangesUsingStarts));return new Ai(n)}constructor(e){this.replacements=e,Xt(()=>sr(e,(n,r)=>n.range.getEndPosition().isBeforeOrEqual(r.range.getStartPosition())))}mapPosition(e){let n=0,r=0,i=0;for(const s of this.replacements){const a=s.range.getStartPosition();if(e.isBeforeOrEqual(a))break;const o=s.range.getEndPosition(),u=tt.ofText(s.text);if(e.isBefore(o)){const c=new J(a.lineNumber+n,a.column+(a.lineNumber+n===r?i:0)),h=u.addToPosition(c);return Vn(c,h)}a.lineNumber+n!==r&&(i=0),n+=u.lineCount-(s.range.endLineNumber-s.range.startLineNumber),u.lineCount===0?o.lineNumber!==a.lineNumber?i+=u.columnCount-(o.column-1):i+=u.columnCount-(o.column-a.column):i=u.columnCount,r=o.lineNumber+n}return new J(e.lineNumber+n,e.column+(e.lineNumber+n===r?i:0))}mapRange(e){function n(a){return a instanceof J?a:a.getStartPosition()}function r(a){return a instanceof J?a:a.getEndPosition()}const i=n(this.mapPosition(e.getStartPosition())),s=r(this.mapPosition(e.getEndPosition()));return Vn(i,s)}apply(e){let n="",r=new J(1,1);for(const s of this.replacements){const a=s.range,o=a.getStartPosition(),u=a.getEndPosition(),c=Vn(r,o);c.isEmpty()||(n+=e.getValueOfRange(c)),n+=s.text,r=u}const i=Vn(r,e.endPositionExclusive);return i.isEmpty()||(n+=e.getValueOfRange(i)),n}applyToString(e){const n=new Fn(e);return this.apply(n)}getNewRanges(){const e=[];let n=0,r=0,i=0;for(const s of this.replacements){const a=tt.ofText(s.text),o=J.lift({lineNumber:s.range.startLineNumber+r,column:s.range.startColumn+(s.range.startLineNumber===n?i:0)}),u=a.createRange(o);e.push(u),r=u.endLineNumber-s.range.endLineNumber,i=u.endColumn-s.range.endColumn,n=s.range.endLineNumber}return e}toReplacement(e){if(this.replacements.length===0)throw new re;if(this.replacements.length===1)return this.replacements[0];const n=this.replacements[0].range.getStartPosition(),r=this.replacements[this.replacements.length-1].range.getEndPosition();let i="";for(let s=0;s<this.replacements.length;s++){const a=this.replacements[s];if(i+=a.text,s<this.replacements.length-1){const o=this.replacements[s+1],u=j.fromPositions(a.range.getEndPosition(),o.range.getStartPosition()),c=e.getValueOfRange(u);i+=c}}return new Pe(j.fromPositions(n,r),i)}toString(e){return e===void 0?this.replacements.map(n=>n.toString()).join(`
`):typeof e=="string"?this.toString(new Fn(e)):this.replacements.length===0?"":this.replacements.map(n=>{const i=e.getValueOfRange(n.range),s=j.fromPositions(new J(Math.max(1,n.range.startLineNumber-1),1),n.range.getStartPosition());let a=e.getValueOfRange(s);a.length>10&&(a="..."+a.substring(a.length-10));const o=j.fromPositions(n.range.getEndPosition(),new J(n.range.endLineNumber+1,1));let u=e.getValueOfRange(o);u.length>10&&(u=u.substring(0,10)+"...");let c=i;if(c.length>10){const f=Math.floor(5);c=c.substring(0,f)+"..."+c.substring(c.length-f)}let h=n.text;if(h.length>10){const f=Math.floor(5);h=h.substring(0,f)+"..."+h.substring(h.length-f)}return c.length===0?`${a}❰${h}❱${u}`:`${a}❰${c}↦${h}❱${u}`}).join(`
`)}};class Pe{static joinReplacements(e,n){if(e.length===0)throw new re;if(e.length===1)return e[0];const r=e[0].range.getStartPosition(),i=e[e.length-1].range.getEndPosition();let s="";for(let a=0;a<e.length;a++){const o=e[a];if(s+=o.text,a<e.length-1){const u=e[a+1],c=j.fromPositions(o.range.getEndPosition(),u.range.getStartPosition()),h=n.getValueOfRange(c);s+=h}}return new Pe(j.fromPositions(r,i),s)}static fromStringReplacement(e,n){return new Pe(n.getTransformer().getRange(e.replaceRange),e.newText)}static delete(e){return new Pe(e,"")}constructor(e,n){this.range=e,this.text=n}get isEmpty(){return this.range.isEmpty()&&this.text.length===0}static equals(e,n){return e.range.equalsRange(n.range)&&e.text===n.text}equals(e){return Pe.equals(this,e)}removeCommonPrefixAndSuffix(e){return this.removeCommonPrefix(e).removeCommonSuffix(e)}removeCommonPrefix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
`,`
`),r=this.text.replaceAll(`\r
`,`
`),i=yr(n,r),s=tt.ofText(n.substring(0,i)).addToPosition(this.range.getStartPosition()),a=r.substring(i),o=j.fromPositions(s,this.range.getEndPosition());return new Pe(o,a)}removeCommonSuffix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
`,`
`),r=this.text.replaceAll(`\r
`,`
`),i=wr(n,r),s=tt.ofText(n.substring(0,n.length-i)).addToPosition(this.range.getStartPosition()),a=r.substring(0,r.length-i),o=j.fromPositions(this.range.getStartPosition(),s);return new Pe(o,a)}toString(){const e=this.range.getStartPosition(),n=this.range.getEndPosition();return`(${e.lineNumber},${e.column} -> ${n.lineNumber},${n.column}): "${this.text}"`}}function Vn(t,e){if(t.lineNumber===e.lineNumber&&t.column===Number.MAX_SAFE_INTEGER)return j.fromPositions(e,e);if(!t.isBeforeOrEqual(e))throw new re("start must be before end");return new j(t.lineNumber,t.column,e.lineNumber,e.column)}class Le{static inverse(e,n,r){const i=[];let s=1,a=1;for(const u of e){const c=new Le(new z(s,u.original.startLineNumber),new z(a,u.modified.startLineNumber));c.modified.isEmpty||i.push(c),s=u.original.endLineNumberExclusive,a=u.modified.endLineNumberExclusive}const o=new Le(new z(s,n+1),new z(a,r+1));return o.modified.isEmpty||i.push(o),i}static clip(e,n,r){const i=[];for(const s of e){const a=s.original.intersect(n),o=s.modified.intersect(r);a&&!a.isEmpty&&o&&!o.isEmpty&&i.push(new Le(a,o))}return i}constructor(e,n){this.original=e,this.modified=n}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new Le(this.modified,this.original)}join(e){return new Le(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),n=this.modified.toInclusiveRange();if(e&&n)return new Ne(e,n);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new re("not a valid diff");return new Ne(new j(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new j(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new Ne(new j(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new j(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,n){if(va(this.original.endLineNumberExclusive,e)&&va(this.modified.endLineNumberExclusive,n))return new Ne(new j(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new j(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new Ne(j.fromPositions(new J(this.original.startLineNumber,1),Mt(new J(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),j.fromPositions(new J(this.modified.startLineNumber,1),Mt(new J(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new Ne(j.fromPositions(Mt(new J(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),Mt(new J(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),j.fromPositions(Mt(new J(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),n),Mt(new J(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));throw new re}}function Mt(t,e){if(t.lineNumber<1)return new J(1,1);if(t.lineNumber>e.length)return new J(e.length,e[e.length-1].length+1);const n=e[t.lineNumber-1];return t.column>n.length+1?new J(t.lineNumber,n.length+1):t}function va(t,e){return t>=1&&t<=e.length}class Xe extends Le{static fromRangeMappings(e){const n=z.join(e.map(i=>z.fromRangeInclusive(i.originalRange))),r=z.join(e.map(i=>z.fromRangeInclusive(i.modifiedRange)));return new Xe(n,r,e)}constructor(e,n,r){super(e,n),this.innerChanges=r}flip(){return new Xe(this.modified,this.original,this.innerChanges?.map(e=>e.flip()))}withInnerChangesFromLineRanges(){return new Xe(this.original,this.modified,[this.toRangeMapping()])}}class Ne{static fromEdit(e){const n=e.getNewRanges();return e.replacements.map((i,s)=>new Ne(i.range,n[s]))}static assertSorted(e){for(let n=1;n<e.length;n++){const r=e[n-1],i=e[n];if(!(r.originalRange.getEndPosition().isBeforeOrEqual(i.originalRange.getStartPosition())&&r.modifiedRange.getEndPosition().isBeforeOrEqual(i.modifiedRange.getStartPosition())))throw new re("Range mappings must be sorted")}}constructor(e,n){this.originalRange=e,this.modifiedRange=n}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new Ne(this.modifiedRange,this.originalRange)}toTextEdit(e){const n=e.getValueOfRange(this.modifiedRange);return new Pe(this.originalRange,n)}}function $r(t,e,n,r=!1){const i=[];for(const s of oc(t.map(a=>bc(a,e,n)),(a,o)=>a.original.intersectsOrTouches(o.original)||a.modified.intersectsOrTouches(o.modified))){const a=s[0],o=s[s.length-1];i.push(new Xe(a.original.join(o.original),a.modified.join(o.modified),s.map(u=>u.innerChanges[0])))}return Xt(()=>!r&&i.length>0&&(i[0].modified.startLineNumber!==i[0].original.startLineNumber||n.length.lineCount-i[i.length-1].modified.endLineNumberExclusive!==e.length. Line truncated
`);this.histogram[o]=(this.histogram[o]||0)+1}this.totalCount=i}computeSimilarity(e){let n=0;const r=Math.max(this.histogram.length,e.histogram.length);for(let i=0;i<r;i++)n+=Math.abs((this.histogram[i]??0)-(e.histogram[i]??0));return 1-n/(this.totalCount+e.totalCount)}};bn.chrKeys=new Map;let Dn=bn;class _c{compute(e,n,r=an.instance,i){if(e.length===0||n.length===0)return Qe.trivial(e,n);const s=new qr(e.length,n.length),a=new qr(e.length,n.length),o=new qr(e.length,n.length);for(let d=0;d<e.length;d++)for(let p=0;p<n.length;p++){if(!r.isValid())return Qe.trivialTimedOut(e,n);const y=d===0?0:s.get(d-1,p),w=p===0?0:s.get(d,p-1);let x;e.getElement(d)===n.getElement(p)?(d===0||p===0?x=0:x=s.get(d-1,p-1),d>0&&p>0&&a.get(d-1,p-1)===3&&(x+=o.get(d-1,p-1)),x+=i?i(d,p):1):x=-1;const b=Math.max(y,w,x);if(b===x){const N=d>0&&p>0?o.get(d-1,p-1):0;o.set(d,p,N+1),a.set(d,p,3)}else b===y?(o.set(d,p,0),a.set(d,p,1)):b===w&&(o.set(d,p,0),a.set(d,p,2));s.set(d,p,b)}const u=[];let c=e.length,h=n.length;function f(d,p){(d+1!==c||p+1!==h)&&u.push(new ee(new B(d+1,c),new B(p+1,h))),c=d,h=p}let m=e.length-1,g=n.length-1;for(;m>=0&&g>=0;)a.get(m,g)===3?(f(m,g),m--,g--):a.get(m,g)===1?m--:g--;return f(-1,-1),u.reverse(),new Qe(u,!1)}}class Sa{compute(e,n,r=an.instance){if(e.length===0||n.length===0)return Qe.trivial(e,n);const i=e,s=n;function a(p,y){for(;p<i.length&&y<s.length&&i.getElement(p)===s.getElement(y);)p++,y++;return p}let o=0;const u=new Sc;u.set(0,a(0,0));const c=new Ac;c.set(0,u.get(0)===0?null:new Aa(null,0,0,u.get(0)));let h=0;e:for(;;){if(o++,!r.isValid())return Qe.trivialTimedOut(i,s);const p=-Math.min(o,s.length+o%2),y=Math.min(o,i.length+o%2);for(h=p;h<=y;h+=2){const w=h===y?-1:u.get(h+1),x=h===p?-1:u.get(h-1)+1,b=Math.min(Math.max(w,x),i.length),N=b-h;if(b>i.length||N>s.length)continue;const L=a(b,N);u.set(h,L);const R=b===w?c.get(h+1):c.get(h-1);if(c.set(h,L!==b?new Aa(R,b,N,L-b):R),u.get(h)===i.length&&u.get(h)-h===s.length)break e}}let f=c.get(h);const m=[];let g=i.length,d=s.length;for(;;){const p=f?f.x+f.length:0,y=f?f.y+f.length:0;if((p!==g||y!==d)&&m.push(new ee(new B(p,g),new B(y,d))),!f)break;g=f.x,d=f.y,f=f.prev}return m.reverse(),new Qe(m,!1)}}class Aa{constructor(e,n,r,i){this.prev=e,this.x=n,this.y=r,this.length=i}}class Sc{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const r=this.negativeArr;this.negativeArr=new Int32Array(r.length*2),this.negativeArr.set(r)}this.negativeArr[e]=n}else{if(e>=this.positiveArr.length){const r=this.positiveArr;this.positiveArr=new Int32Array(r.length*2),this.positiveArr.set(r)}this.positiveArr[e]=n}}}class Ac{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){e<0?(e=-e-1,this.negativeArr[e]=n):this.positiveArr[e]=n}}class On{constructor(e,n,r){this.lines=e,this.range=n,this.considerWhitespaceChanges=r,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let i=this.range.startLineNumber;i<=this.range.endLineNumber;i++){let s=e[i-1],a=0;i===this.range.startLineNumber&&this.range.startColumn>1&&(a=this.range.startColumn-1,s=s.substring(a)),this.lineStartOffsets.push(a);let o=0;if(!r){const c=s.trimStart();o=s.length-c.length,s=c.trimEnd()}this.trimmedWsLengthsByLineIdx.push(o);const u=i===this.range.endLineNumber?Math.min(this.range.endColumn-1-a-o,s.length):s.length;for(let c=0;c<u;c++)this.elements.push(s.charCodeAt(c));i<this.range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new B(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map(n=>String.fromCharCode(n)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const n=Ea(e>0?this.elements[e-1]:-1),r=Ea(e<this.elements.length?this.elements[e]:-1);if(n===7&&r===8)return 0;if(n===8)return 150;let i=0;return n!==r&&(i+=10,n===0&&r===1&&(i+=1)),i+=Ra(n),i+=Ra(r),i}translateOffset(e,n="right"){const r=Tt(this.firstElementOffsetByLineIdx,s=>s<=e),i=e-this.firstElementOffsetByLineIdx[r];return new J(this.range.startLineNumber+r,1+this.lineStartOffsets[r]+i+(i===0&&n==="left"?0:this.trimmedWsLengthsByLineIdx[r]))}translateRange(e){const n=this.translateOffset(e.start,"right"),r=this.translateOffset(e.endExclusive,"left");return r.isBefore(n)?j.fromPositions(r,r):j.fromPositions(n,r)}findWordContaining(e){if(e<0||e>=this.elements.length||!Ct(this.elements[e]))return;let n=e;for(;n>0&&Ct(this.elements[n-1]);)n--;let r=e;for(;r<this.elements.length&&Ct(this.elements[r]);)r++;return new B(n,r)}findSubWordContaining(e){if(e<0||e>=this.elements.length||!Ct(this.elements[e]))return Line truncated
`).length>=15&&Ec(f,g=>g.length>=2)>=2}),a=Cc(t,a),a}function Ec(t,e){let n=0;for(const r of t)e(r)&&n++;return n}function Tc(t,e,n,r){const i=[],s=t.filter(u=>u.modified.isEmpty&&u.original.length>=3).map(u=>new Dn(u.original,e,u)),a=new Set(t.filter(u=>u.original.isEmpty&&u.modified.length>=3).map(u=>new Dn(u.modified,n,u))),o=new Set;for(const u of s){let c=-1,h;for(const f of a){const m=u.computeSimilarity(f);m>c&&(c=m,h=f)}if(c>.9&&h&&(a.delete(h),i.push(new Le(u.range,h.range)),o.add(u.source),o.add(h.source)),!r.isValid())return{moves:i,excludedChanges:o}}return{moves:i,excludedChanges:o}}function Mc(t,e,n,r,i,s){const a=[],o=new Xu;for(const m of t)for(let g=m.original.startLineNumber;g<m.original.endLineNumberExclusive-2;g++){const d=`${e[g-1]}:${e[g+1-1]}:${e[g+2-1]}`;o.add(d,{range:new z(g,g+3)})}const u=[];t.sort(Rt(m=>m.modified.startLineNumber,rn));for(const m of t){let g=[];for(let d=m.modified.startLineNumber;d<m.modified.endLineNumberExclusive-2;d++){const p=`${n[d-1]}:${n[d+1-1]}:${n[d+2-1]}`,y=new z(d,d+3),w=[];o.forEach(p,({range:x})=>{for(const N of g)if(N.originalLineRange.endLineNumberExclusive+1===x.endLineNumberExclusive&&N.modifiedLineRange.endLineNumberExclusive+1===y.endLineNumberExclusive){N.originalLineRange=new z(N.originalLineRange.startLineNumber,x.endLineNumberExclusive),N.modifiedLineRange=new z(N.modifiedLineRange.startLineNumber,y.endLineNumberExclusive),w.push(N);return}const b={modifiedLineRange:y,originalLineRange:x};u.push(b),w.push(b)}),g=w}if(!s.isValid())return[]}u.sort(fc(Rt(m=>m.modifiedLineRange.length,rn)));const c=new Oe,h=new Oe;for(const m of u){const g=m.modifiedLineRange.startLineNumber-m.originalLineRange.startLineNumber,d=c.subtractFrom(m.modifiedLineRange),p=h.subtractFrom(m.originalLineRange).getWithDelta(g),y=d.getIntersection(p);for(const w of y.ranges){if(w.length<3)continue;const x=w,b=w.delta(-g);a.push(new Le(b,x)),c.addRange(x),h.addRange(b)}}a.sort(Rt(m=>m.original.startLineNumber,rn));const f=new Cn(t);for(let m=0;m<a.length;m++){const g=a[m],d=f.findLastMonotonous(R=>R.original.startLineNumber<=g.original.startLineNumber),p=Et(t,R=>R.modified.startLineNumber<=g.modified.startLineNumber),y=Math.max(g.original.startLineNumber-d.original.startLineNumber,g.modified.startLineNumber-p.modified.startLineNumber),w=f.findLastMonotonous(R=>R.original.startLineNumber<g.original.endLineNumberExclusive),x=Et(t,R=>R.modified.startLineNumber<g.modified.endLineNumberExclusive),b=Math.max(w.original.endLineNumberExclusive-g.original.endLineNumberExclusive,x.modified.endLineNumberExclusive-g.modified.endLineNumberExclusive);let N;for(N=0;N<y;N++){const R=g.original.startLineNumber-N-1,v=g.modified.startLineNumber-N-1;if(R>r.length||v>i.length||c.contains(v)||h.contains(R)||!Ta(r[R-1],i[v-1],s))break}N>0&&(h.addRange(new z(g.original.startLineNumber-N,g.original.startLineNumber)),c.addRange(new z(g.modified.startLineNumber-N,g.modified.startLineNumber)));let L;for(L=0;L<b;L++){const R=g.original.endLineNumberExclusive+L,v=g.modified.endLineNumberExclusive+L;if(R>r.length||v>i.length||c.contains(v)||h.contains(R)||!Ta(r[R-1],i[v-1],s))break}L>0&&(h.addRange(new z(g.original.endLineNumberExclusive,g.original.endLineNumberExclusive+L)),c.addRange(new z(g.modified.endLineNumberExclusive,g.modified.endLineNumberExclusive+L))),(N>0||L>0)&&(a[m]=new Le(new z(g.original.startLineNumber-N,g.original.endLineNumberExclusive+L),new z(g.modified.startLineNumber-N,g.modified.endLineNumberExclusive+L)))}return a}function Ta(t,e,n){if(t.trim()===e.trim())return!0;if(t.length>300&&e.length>300)return!1;const i=new Sa().compute(new On([t],new j(1,1,1,t.length),!1),new On([e],new j(1,1,1,e.length),!1),n);let s=0;const a=ee.invert(i.diffs,t.length);for(const h of a)h.seq1Range.forEach(f=>{jr(t.charCodeAt(f))||s++});function o(h){let f=0;for(let m=0;m<t.length;m++)jr(h.charCodeAt(m))||f++;return f}const u=o(t.length>e.length?t:e);return s/u>.6&&u>10}function Pc(t){if(t.length===0)return t;t.sort(Rt(n=>n.original.startLineNumber,rn));const e=[t[0]];for(let n=1;n<t.length;n++){const r=e[e.length-1],i=t[n],s=i.original.startLineNumber-r.original.endLineNumberExclusive,a=i.modified.startLineNumber-r.modified.endLineNumberExclusive;if(s>=0&&a>=0&&s+a<=2){e[e.length-1]=r.join(i);continue}e.push(i)}return e}function Cc(t,e){const n=new Cn(t);return e=e.filter(r=>{const i=n.findLastMonotonous(o=>o.original.startLineNumber<r.original.endLineNumberExclusive)||new Le(new z(1,1),new z(1,1)),s=Et(t,o=>o.modified.startLineNumber<r.modified.endLineNumberExclusive);return i!==s}),e}function Ma(t,e,n){let r=n;return r=Pa(t,e,r),r=Pa(t,e,r),r=Ic(t,e,r),r}function Pa(t,e,n){if(n.length===0)return n;const r=[];r.push(n[0]);for(let s=1;s<n.length;s++){const a=r[r.length-1];let o=n[s];if(o.seq1Range.isEmpty||o.seq2Range.isEmpty){const u=o.seq1Range.start-a.seq1Range.endExclusive;let c;for(c=1;c<=u&&!(t.getElement(o.seq1Range.start-c)!==t.getElement(o.seq1Range.endExclusive-c)||e.getElement(o.seq2Range Line truncated
`)}isStronglyEqual(e,n){return this.lines[e]===this.lines[n]}}function Va(t){let e=0;for(;e<t.length&&(t.charCodeAt(e)===32||t.charCodeAt(e)===9);)e++;return e}class $c{constructor(){this.dynamicProgrammingDiffing=new _c,this.myersDiffingAlgorithm=new Sa}computeDiff(e,n,r){if(e.length<=1&&ac(e,n,(v,S)=>v===S))return new nn([],[],!1);if(e.length===1&&e[0].length===0||n.length===1&&n[0].length===0)return new nn([new Xe(new z(1,e.length+1),new z(1,n.length+1),[new Ne(new j(1,1,e.length,e[e.length-1].length+1),new j(1,1,n.length,n[n.length-1].length+1))])],[],!1);const i=r.maxComputationTimeMs===0?an.instance:new Nc(r.maxComputationTimeMs),s=!r.ignoreTrimWhitespace,a=new Map;function o(v){let S=a.get(v);return S===void 0&&(S=a.size,a.set(v,S)),S}const u=e.map(v=>o(v.trim())),c=n.map(v=>o(v.trim())),h=new Fa(u,e),f=new Fa(c,n),m=h.length+f.length<1700?this.dynamicProgrammingDiffing.compute(h,f,i,(v,S)=>e[v]===n[S]?n[S].length===0?.1:1+Math.log(1+n[S].length):.99):this.myersDiffingAlgorithm.compute(h,f,i);let g=m.diffs,d=m.hitTimeout;g=Ma(h,f,g),g=Dc(h,f,g);const p=[],y=v=>{if(s)for(let S=0;S<v;S++){const C=w+S,D=x+S;if(e[C]!==n[D]){const P=this.refineDiff(e,n,new ee(new B(C,C+1),new B(D,D+1)),i,s,r);for(const _ of P.mappings)p.push(_);P.hitTimeout&&(d=!0)}}};let w=0,x=0;for(const v of g){Xt(()=>v.seq1Range.start-w===v.seq2Range.start-x);const S=v.seq1Range.start-w;y(S),w=v.seq1Range.endExclusive,x=v.seq2Range.endExclusive;const C=this.refineDiff(e,n,v,i,s,r);C.hitTimeout&&(d=!0);for(const D of C.mappings)p.push(D)}y(e.length-w);const b=new In(e),N=new In(n),L=$r(p,b,N);let R=[];return r.computeMoves&&(R=this.computeMoves(L,e,n,u,c,i,s,r)),Xt(()=>{function v(C,D){if(C.lineNumber<1||C.lineNumber>D.length)return!1;const P=D[C.lineNumber-1];return!(C.column<1||C.column>P.length+1)}function S(C,D){return!(C.startLineNumber<1||C.startLineNumber>D.length+1||C.endLineNumberExclusive<1||C.endLineNumberExclusive>D.length+1)}for(const C of L){if(!C.innerChanges)return!1;for(const D of C.innerChanges)if(!(v(D.modifiedRange.getStartPosition(),n)&&v(D.modifiedRange.getEndPosition(),n)&&v(D.originalRange.getStartPosition(),e)&&v(D.originalRange.getEndPosition(),e)))return!1;if(!S(C.modified,n)||!S(C.original,e))return!1}return!0}),new nn(L,R,d)}computeMoves(e,n,r,i,s,a,o,u){return Rc(e,n,r,i,s,a).map(f=>{const m=this.refineDiff(n,r,new ee(f.original.toOffsetRange(),f.modified.toOffsetRange()),a,o,u),g=$r(m.mappings,new In(n),new In(r),!0);return new ba(f,g)})}refineDiff(e,n,r,i,s,a){const u=Bc(r).toRangeMapping2(e,n),c=new On(e,u.originalRange,s),h=new On(n,u.modifiedRange,s),f=c.length+h.length<500?this.dynamicProgrammingDiffing.compute(c,h,i):this.myersDiffingAlgorithm.compute(c,h,i);let m=f.diffs;return m=Ma(c,h,m),m=Ia(c,h,m,(d,p)=>d.findWordContaining(p)),a.extendToSubwords&&(m=Ia(c,h,m,(d,p)=>d.findSubWordContaining(p),!0)),m=Fc(c,h,m),m=Oc(c,h,m),{mappings:m.map(d=>new Ne(c.translateRange(d.seq1Range),h.translateRange(d.seq2Range))),hitTimeout:f.hitTimeout}}}function Bc(t){return new Le(new z(t.seq1Range.start+1,t.seq1Range.endExclusive+1),new z(t.seq2Range.start+1,t.seq2Range.endExclusive+1))}var nt;(function(t){t.inMemory="inmemory",t.vscode="vscode",t.internal="private",t.walkThrough="walkThrough",t.walkThroughSnippet="walkThroughSnippet",t.http="http",t.https="https",t.file="file",t.mailto="mailto",t.untitled="untitled",t.data="data",t.command="command",t.vscodeRemote="vscode-remote",t.vscodeRemoteResource="vscode-remote-resource",t.vscodeManagedRemoteResource="vscode-managed-remote-resource",t.vscodeUserData="vscode-userdata",t.vscodeCustomEditor="vscode-custom-editor",t.vscodeNotebookCell="vscode-notebook-cell",t.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",t.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",t.vscodeNotebookCellOutput="vscode-notebook-cell-output",t.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",t.vscodeNotebookMetadata="vscode-notebook-metadata",t.vscodeInteractiveInput="vscode-interactive-input",t.vscodeSettings="vscode-settings",t.vscodeWorkspaceTrust="vscode-workspace-trust",t.vscodeTerminal="vscode-terminal",t.vscodeImageCarousel="vscode-image-carousel",t.vscodeChatCodeBlock="vscode-chat-code-block",t.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",t.vscodeChatEditor="vscode-chat-editor",t.vscodeChatInput="chatSessionInput",t.vscodeLocalChatSession="vscode-chat-session",t.webviewPanel="webview-panel",t.vscodeWebview="vscode-webview",t.vscodeBrowser="vscode-browser",t.extension="extension",t.vscodeFileResource="vscode-file",t.tmp="tmp",t.vsls="vsls",t.vscodeSourceControl="vscode-scm",t.commentsInput="comment",t.codeSetting="code-setting",t.outputChannel="output",t.accessibleView="accessible-view",t.chatEditingSnapshotScheme="chat-editing-snapshot-text-model",t.chatEditingModel="chat-editing-text-model",t.copilotPr="copilot-pr"})(nt||(nt={}));const Uc="tkn";class qc{constructor(){this._hosts=Object.create(null),this._ports=Object.cre Line truncated
`)),s=new Fn(n.join(`
`)),a=this._computer.computeDiff(i.value,s.value,{ignoreTrimWhitespace:!0,computeMoves:r.computeMoves,extendToSubwords:r.extendToSubwords}),o=i.getTransformer(),u=s.getTransformer(),c=[];let h=0;for(const g of a.edits.replacements){const d=g.range.start+h,p=d+g.newText.length,y=o.getRange(new B(g.range.start,g.range.endExclusive)),w=u.getRange(new B(d,p));c.push(new Ne(y,w)),h+=g.newText.length-(g.range.endExclusive-g.range.start)}const f=$r(c,i,s),m=[];if(r.computeMoves)for(const g of a.moves){const d=o.getPosition(g.range.original.start),p=o.getPosition(g.range.original.endExclusive),y=u.getPosition(g.range.modified.start),w=u.getPosition(g.range.modified.endExclusive),x=new z(d.lineNumber,p.lineNumber),b=new z(y.lineNumber,w.lineNumber);m.push(new ba(new Le(x,b),[]))}return new nn(f,m,a.hitTimeout)}}const Bn={getLegacy:()=>new wc,getDefault:()=>new $c,getAdvancedExternal:()=>$a(!1),getAdvancedWasm:()=>$a(!0)};function it(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}class A{constructor(e,n,r,i=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,n))|0,this.b=Math.min(255,Math.max(0,r))|0,this.a=it(Math.max(Math.min(1,i),0),3)}static equals(e,n){return e.r===n.r&&e.g===n.g&&e.b===n.b&&e.a===n.a}}class Re{constructor(e,n,r,i){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=it(Math.max(Math.min(1,n),0),3),this.l=it(Math.max(Math.min(1,r),0),3),this.a=it(Math.max(Math.min(1,i),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.l===n.l&&e.a===n.a}static fromRGBA(e){const n=e.r/255,r=e.g/255,i=e.b/255,s=e.a,a=Math.max(n,r,i),o=Math.min(n,r,i);let u=0,c=0;const h=(o+a)/2,f=a-o;if(f>0){switch(c=Math.min(h<=.5?f/(2*h):f/(2-2*h),1),a){case n:u=(r-i)/f+(r<i?6:0);break;case r:u=(i-n)/f+2;break;case i:u=(n-r)/f+4;break}u*=60,u=Math.round(u)}return new Re(u,c,h,s)}static _hue2rgb(e,n,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(n-e)*6*r:r<1/2?n:r<2/3?e+(n-e)*(2/3-r)*6:e}static toRGBA(e){const n=e.h/360,{s:r,l:i,a:s}=e;let a,o,u;if(r===0)a=o=u=i;else{const c=i<.5?i*(1+r):i+r-i*r,h=2*i-c;a=Re._hue2rgb(h,c,n+1/3),o=Re._hue2rgb(h,c,n),u=Re._hue2rgb(h,c,n-1/3)}return new A(Math.round(a*255),Math.round(o*255),Math.round(u*255),s)}}class It{constructor(e,n,r,i){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=it(Math.max(Math.min(1,n),0),3),this.v=it(Math.max(Math.min(1,r),0),3),this.a=it(Math.max(Math.min(1,i),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.v===n.v&&e.a===n.a}static fromRGBA(e){const n=e.r/255,r=e.g/255,i=e.b/255,s=Math.max(n,r,i),a=Math.min(n,r,i),o=s-a,u=s===0?0:o/s;let c;return o===0?c=0:s===n?c=((r-i)/o%6+6)%6:s===r?c=(i-n)/o+2:c=(n-r)/o+4,new It(Math.round(c*60),u,s,e.a)}static toRGBA(e){const{h:n,s:r,v:i,a:s}=e,a=i*r,o=a*(1-Math.abs(n/60%2-1)),u=i-a;let[c,h,f]=[0,0,0];return n<60?(c=a,h=o):n<120?(c=o,h=a):n<180?(h=a,f=o):n<240?(h=o,f=a):n<300?(c=o,f=a):n<=360&&(c=a,f=o),c=Math.round((c+u)*255),h=Math.round((h+u)*255),f=Math.round((f+u)*255),new A(c,h,f,s)}}let Un=(Q=class{static fromHex(e){return Q.Format.CSS.parseHex(e)||Q.red}static equals(e,n){return!e&&!n?!0:!e||!n?!1:e.equals(n)}get hsla(){return this._hsla?this._hsla:Re.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:It.fromRGBA(this.rgba)}constructor(e){if(e)if(e instanceof A)this.rgba=e;else if(e instanceof Re)this._hsla=e,this.rgba=Re.toRGBA(e);else if(e instanceof It)this._hsva=e,this.rgba=It.toRGBA(e);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(e){return!!e&&A.equals(this.rgba,e.rgba)&&Re.equals(this.hsla,e.hsla)&&It.equals(this.hsva,e.hsva)}getRelativeLuminance(){const e=Q._relativeLuminanceForComponent(this.rgba.r),n=Q._relativeLuminanceForComponent(this.rgba.g),r=Q._relativeLuminanceForComponent(this.rgba.b),i=.2126*e+.7152*n+.0722*r;return it(i,4)}static _relativeLuminanceForComponent(e){const n=e/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){const n=this.getRelativeLuminance(),r=e.getRelativeLuminance();return n>r}isDarkerThan(e){const n=this.getRelativeLuminance(),r=e.getRelativeLuminance();return n<r}lighten(e){return new Q(new Re(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*e,this.hsla.a))}darken(e){return new Q(new Re(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*e,this.hsla.a))}transparent(e){const{r:n,g:r,b:i,a:s}=this.rgba;return new Q(new A(n,r,i,s*e))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new Q(new A(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}mix(e,n=.5){const r=Math.min(Math.max(n,0),1),i=this.rgba,s=e.rgba,a=i.r+(s.r-i.r)*r,o=i.g+(s.g-i.g)*r,u=i.b+(s.b-i.b)*r,c=i.a+(s.a-i.a)*r;return new Q(new A(a,o,u,c))}makeOpaque(e){if(this.isOpaque()||e.rgba.a!==1)return this;const{r:n,g:r,b:i,a:s}=this.rgba;return new Q(new A(e.rgba.r-s*(e.rgba.r-n),e.rgba.g-s*(e.rgba.g-r),e.rgba.b-s*(e.rgba. Line truncated
`);s.lastIndex=0;let h;for(;(h=s.exec(c))!==null;){const f=c.substring(0,h.index),m=(f.match(/\n/g)||[]).length,g=a+m,d=h[0].split(`
`),p=d.length,y=g+p-1,w=f.lastIndexOf(`
`)+1,x=h.index-w+1,b=d[d.length-1],N=p===1?x+h[0].length:b.length+1,L={startLineNumber:g,startColumn:x,endLineNumber:y,endColumn:N},R=(h.groups??{}).label??"",v=((h.groups??{}).separator??"")!=="",S={range:L,text:R,hasSeparatorLine:v,shouldBeInComments:!0};(S.text||S.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<S.range.startLineNumber)&&n.push(S),s.lastIndex=h.index+h[0].length}}return n}function l1(t){t=t.trim();const e=t.startsWith("-");return t=t.replace(r1,""),{text:t,hasSeparatorLine:e}}class Wa{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,n)=>{this.completeCallback=e,this.errorCallback=n})}complete(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.completeCallback(e),this.outcome={outcome:0,value:e},n()})}error(e){return this.isSettled?Promise.resolve():new Promise(n=>{this.errorCallback(e),this.outcome={outcome:1,value:e},n()})}cancel(){return this.error(new Ei)}}var Ha;(function(t){async function e(r){let i;const s=await Promise.all(r.map(a=>a.then(o=>o,o=>{i||(i=o)})));if(typeof i<"u")throw i;return s}t.settled=e;function n(r){return new Promise(async(i,s)=>{try{await r(i,s)}catch(a){s(a)}})}t.withAsyncBody=n})(Ha||(Ha={}));class u1{constructor(){this._unsatisfiedConsumers=[],this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(e){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){const n=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(n,e)}else this._unconsumedValues.push(e)}produceFinal(e){this._ensureNoFinalValue(),this._finalValue=e;for(const n of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(n,e);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new re("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(e,n){n.ok?e.complete(n.value):e.error(n.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){const e=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return e.ok?Promise.resolve(e.value):Promise.reject(e.error)}else{const e=new Wa;return this._unsatisfiedConsumers.push(e),e.p}}}const ge=class ge{constructor(e,n){this._onReturn=n,this._producerConsumer=new u1,this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async r=>(this._finishError(r),{done:!0,value:void 0})},queueMicrotask(async()=>{const r=e({emitOne:i=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:i}}),emitMany:i=>{for(const s of i)this._producerConsumer.produce({ok:!0,value:{done:!1,value:s}})},reject:i=>this._finishError(i)});if(!this._producerConsumer.hasFinalValue)try{await r,this._finishOk()}catch(i){this._finishError(i)}})}static fromArray(e){return new ge(n=>{n.emitMany(e)})}static fromPromise(e){return new ge(async n=>{n.emitMany(await e)})}static fromPromisesResolveOrder(e){return new ge(async n=>{await Promise.all(e.map(async r=>n.emitOne(await r)))})}static merge(e){return new ge(async n=>{await Promise.all(e.map(async r=>{for await(const i of r)n.emitOne(i)}))})}static map(e,n){return new ge(async r=>{for await(const i of e)r.emitOne(n(i))})}static tee(e){let n,r;const i=new Wa,s=async()=>{if(!(!n||!r))try{for await(const u of e)n.emitOne(u),r.emitOne(u)}catch(u){n.reject(u),r.reject(u)}finally{i.complete()}},a=new ge(async u=>(n=u,s(),i.p)),o=new ge(async u=>(r=u,s(),i.p));return[a,o]}map(e){return ge.map(this,e)}static coalesce(e){return ge.filter(e,n=>!!n)}coalesce(){return ge.coalesce(this)}static filter(e,n){return new ge(async r=>{for await(const i of e)n(i)&&r.emitOne(i)})}filter(e){return ge.filter(this,e)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(e){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:e})}[Symbol.asyncIterator](){return this._iterator}};ge.EMPTY=ge.fromArray([]);let za=ge;class c1{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,n){e=At(e);const r=this.values,i=this.prefixSum,s=n.length;return s===0?!1:(this.values=new Uint32Array(r.length+s),this.values.set(r.subarray(0,e),0),this.values.set(r.subarray(e),e+s),this.values.set(n,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,n){return e=At(e),n=At(n),this.values[e]===n?!1:(this.values[e]=n,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,n){e=At(e),n=At(n);const r=this.values,i=this.prefixSum;if(e>=r.length)return!1;const s=r.length-e;return n>=s&&(n=s),n===0?!1:(this.values=new Uint32Array(r.length Line truncated
`;break;case 114:b+="\r";break;case 116:b+=" ";break;case 117:const v=m(4);v>=0?b+=String.fromCharCode(v):f=4;break;default:f=5}N=r;continue}if(L>=0&&L<=31)if(un(L)){b+=t.substring(N,r),f=2;break}else f=6;r++}return b}function y(){if(i="",f=0,s=r,u=o,h=c,r>=n)return s=n,a=17;let b=t.charCodeAt(r);if(Zr(b)){do r++,i+=String.fromCharCode(b),b=t.charCodeAt(r);while(Zr(b));return a=15}if(un(b))return r++,i+=String.fromCharCode(b),b===13&&t.charCodeAt(r)===10&&(r++,i+=`
`),o++,c=r,a=14;switch(b){case 123:return r++,a=1;case 125:return r++,a=2;case 91:return r++,a=3;case 93:return r++,a=4;case 58:return r++,a=6;case 44:return r++,a=5;case 34:return r++,i=p(),a=10;case 47:const N=r-1;if(t.charCodeAt(r+1)===47){for(r+=2;r<n&&!un(t.charCodeAt(r));)r++;return i=t.substring(N,r),a=12}if(t.charCodeAt(r+1)===42){r+=2;const L=n-1;let R=!1;for(;r<L;){const v=t.charCodeAt(r);if(v===42&&t.charCodeAt(r+1)===47){r+=2,R=!0;break}r++,un(v)&&(v===13&&t.charCodeAt(r)===10&&r++,o++,c=r)}return R||(r++,f=1),i=t.substring(N,r),a=13}return i+=String.fromCharCode(b),r++,a=16;case 45:if(i+=String.fromCharCode(b),r++,r===n||!Ft(t.charCodeAt(r)))return a=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return i+=d(),a=11;default:for(;r<n&&w(b);)r++,b=t.charCodeAt(r);if(s!==r){switch(i=t.substring(s,r),i){case"true":return a=8;case"false":return a=9;case"null":return a=7}return a=16}return i+=String.fromCharCode(b),r++,a=16}}function w(b){if(Zr(b)||un(b))return!1;switch(b){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function x(){let b;do b=y();while(b>=12&&b<=15);return b}return{setPosition:g,getPosition:()=>r,scan:e?x:y,getToken:()=>a,getTokenValue:()=>i,getTokenOffset:()=>s,getTokenLength:()=>r-s,getTokenStartLine:()=>u,getTokenStartCharacter:()=>s-h,getTokenError:()=>f}}function Zr(t){return t===32||t===9}function un(t){return t===10||t===13}function Ft(t){return t>=48&&t<=57}var Ga;(function(t){t[t.lineFeed=10]="lineFeed",t[t.carriageReturn=13]="carriageReturn",t[t.space=32]="space",t[t._0=48]="_0",t[t._1=49]="_1",t[t._2=50]="_2",t[t._3=51]="_3",t[t._4=52]="_4",t[t._5=53]="_5",t[t._6=54]="_6",t[t._7=55]="_7",t[t._8=56]="_8",t[t._9=57]="_9",t[t.a=97]="a",t[t.b=98]="b",t[t.c=99]="c",t[t.d=100]="d",t[t.e=101]="e",t[t.f=102]="f",t[t.g=103]="g",t[t.h=104]="h",t[t.i=105]="i",t[t.j=106]="j",t[t.k=107]="k",t[t.l=108]="l",t[t.m=109]="m",t[t.n=110]="n",t[t.o=111]="o",t[t.p=112]="p",t[t.q=113]="q",t[t.r=114]="r",t[t.s=115]="s",t[t.t=116]="t",t[t.u=117]="u",t[t.v=118]="v",t[t.w=119]="w",t[t.x=120]="x",t[t.y=121]="y",t[t.z=122]="z",t[t.A=65]="A",t[t.B=66]="B",t[t.C=67]="C",t[t.D=68]="D",t[t.E=69]="E",t[t.F=70]="F",t[t.G=71]="G",t[t.H=72]="H",t[t.I=73]="I",t[t.J=74]="J",t[t.K=75]="K",t[t.L=76]="L",t[t.M=77]="M",t[t.N=78]="N",t[t.O=79]="O",t[t.P=80]="P",t[t.Q=81]="Q",t[t.R=82]="R",t[t.S=83]="S",t[t.T=84]="T",t[t.U=85]="U",t[t.V=86]="V",t[t.W=87]="W",t[t.X=88]="X",t[t.Y=89]="Y",t[t.Z=90]="Z",t[t.asterisk=42]="asterisk",t[t.backslash=92]="backslash",t[t.closeBrace=125]="closeBrace",t[t.closeBracket=93]="closeBracket",t[t.colon=58]="colon",t[t.comma=44]="comma",t[t.dot=46]="dot",t[t.doubleQuote=34]="doubleQuote",t[t.minus=45]="minus",t[t.openBrace=123]="openBrace",t[t.openBracket=91]="openBracket",t[t.plus=43]="plus",t[t.slash=47]="slash",t[t.formFeed=12]="formFeed",t[t.tab=9]="tab"})(Ga||(Ga={}));const Ee=new Array(20).fill(0).map((t,e)=>" ".repeat(e)),Vt=200,Ja={" ":{"\n":new Array(Vt).fill(0).map((t,e)=>`
`+" ".repeat(e)),"\r":new Array(Vt).fill(0).map((t,e)=>"\r"+" ".repeat(e)),"\r\n":new Array(Vt).fill(0).map((t,e)=>`\r
`+" ".repeat(e))}," ":{"\n":new Array(Vt).fill(0).map((t,e)=>`
`+" ".repeat(e)),"\r":new Array(Vt).fill(0).map((t,e)=>"\r"+" ".repeat(e)),"\r\n":new Array(Vt).fill(0).map((t,e)=>`\r
`+" ".repeat(e))}},y1=[`
`,"\r",`\r
`];function w1(t,e,n){let r,i,s,a,o;if(e){for(a=e.offset,o=a+e.length,s=a;s>0&&!Xa(t,s-1);)s--;let L=o;for(;L<t.length&&!Xa(t,L);)L++;i=t.substring(s,L),r=x1(i,n)}else i=t,r=0,s=0,a=0,o=t.length;const u=v1(n,t),c=y1.includes(u);let h=0,f=0,m;n.insertSpaces?m=Ee[n.tabSize||4]??Dt(Ee[1],n.tabSize||4):m=" ";const g=m===" "?" ":" ";let d=Yr(i,!1),p=!1;function y(){if(h>1)return Dt(u,h)+Dt(m,r+f);const L=m.length*(r+f);return!c||L>Ja[g][u].length?u+Dt(m,r+f):L<=0?u:Ja[g][u][L]}function w(){let L=d.scan();for(h=0;L===15||L===14;)L===14&&n.keepLines?h+=1:L===14&&(h=1),L=d.scan();return p=L===16||d.getTokenError()!==0,L}const x=[];function b(L,R,v){!p&&(!e||R<o&&v>a)&&t.substring(R,v)!==L&&x.push({offset:R,length:v-R,content:L})}let N=w();if(n.keepLines&&h>0&&b(Dt(u,h),0,0),N!==17){let L=d.getTokenOffset()+s,R=m.length*r<20&&n.insertSpaces?Ee[m.length*r]:Dt(m,r);b(R,s,L)}for(;N!==17;){let L=d.getTokenOffset()+d.getTokenLength()+s,R=w(),v="",S=!1;for(;h===0&&(R===12||R===13);){let D=d.getTokenOffset()+s;b(Ee[1],L,D),L=d.getTokenOffset()+d.getTokenLength()+s,S=R===12,v=S?y():"",R=w()}if(R===2)N!==1&&f--,n.keepLines&&h>0||!n.keepLines&&N!==1?v=y():n.keepLines&&(v=Ee[1]);else if(R===4)N!==3&&f--,n.keepLines&&h>0||!n.keepLines&&N!==3?v=y():n.keepLines&&(v=Ee[1]);else{switch(N){case 3:case 1:f++,n.keepLines&&h>0||!n.keepLines?v=y():v=Ee[1];break;case 5:n.keepLines&&h>0||!n.keepLines?v=y():v=Ee[1];break;case 12:v=y();break;case 13:h>0?v=y():S||(v=Ee[1]);break;case 6:n.keepLines&&h>0?v=y():S||(v=Ee[1]);break;case 10:n.keepLines&&h>0?v=y():R===6&&!S&&(v="");break;case 7:case 8:case 9:case 11:case 2:case 4:n.keepLines&&h>0?v=y():(R===12||R===13)&&!S?v=Ee[1]:R!==5&&R!==17&&(p=!0);break;case 16:p=!0;break}h>0&&(R===12||R===13)&&(v=y())}R===17&&(n.keepLines&&h>0?v=y():v=n.insertFinalNewline?u:"");const C=d.getTokenOffset()+s;b(v,L,C),N=R}return x}function Dt(t,e){let n="";for(let r=0;r<e;r++)n+=t;return n}function x1(t,e){let n=0,r=0;const i=e.tabSize||4;for(;n<t.length;){let s=t.charAt(n);if(s===Ee[1])r++;else if(s===" ")r+=i;else break;n++}return Math.floor(r/i)}function v1(t,e){for(let n=0;n<e.length;n++){const r=e.charAt(n);if(r==="\r")return n+1<e.length&&e.charAt(n+1)===`
`?`\r
`:"\r";if(r===`
`)return`
`}return t&&t.eol||`
`}function Xa(t,e){return`\r
`.indexOf(t.charAt(e))!==-1}var qn;(function(t){t.DEFAULT={allowTrailingComma:!1}})(qn||(qn={}));function L1(t,e=[],n=qn.DEFAULT){let r=null,i=[];const s=[];function a(u){Array.isArray(i)?i.push(u):r!==null&&(i[r]=u)}return _1(t,{onObjectBegin:()=>{const u={};a(u),s.push(i),i=u,r=null},onObjectProperty:u=>{r=u},onObjectEnd:()=>{i=s.pop()},onArrayBegin:()=>{const u=[];a(u),s.push(i),i=u,r=null},onArrayEnd:()=>{i=s.pop()},onLiteralValue:a,onError:(u,c,h)=>{e.push({error:u,offset:c,length:h})}},n),i[0]}function Qa(t){if(!t.parent||!t.parent.children)return[];const e=Qa(t.parent);if(t.parent.type==="property"){const n=t.parent.children[0].value;e.push(n)}else if(t.parent.type==="array"){const n=t.parent.children.indexOf(t);n!==-1&&e.push(n)}return e}function Kr(t){switch(t.type){case"array":return t.children.map(Kr);case"object":const e=Object.create(null);for(let n of t.children){const r=n.children[1];r&&(e[n.children[0].value]=Kr(r))}return e;case"null":case"string":case"number":case"boolean":return t.value;default:return}}function N1(t,e,n=!1){return e>=t.offset&&e<t.offset+t.length||n&&e===t.offset+t.length}function Ya(t,e,n=!1){if(N1(t,e,n)){const r=t.children;if(Array.isArray(r))for(let i=0;i<r.length&&r[i].offset<=e;i++){const s=Ya(r[i],e,n);if(s)return s}return t}}function _1(t,e,n=qn.DEFAULT){const r=Yr(t,!1),i=[];function s(_){return _?()=>_(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function a(_){return _?()=>_(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice()):()=>!0}function o(_){return _?E=>_(E,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function u(_){return _?E=>_(E,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice()):()=>!0}const c=a(e.onObjectBegin),h=u(e.onObjectProperty),f=s(e.onObjectEnd),m=a(e.onArrayBegin),g=s(e.onArrayEnd),d=u(e.onLiteralValue),p=o(e.onSeparator),y=s(e.onComment),w=o(e.onError),x=n&&n.disallowComments,b=n&&n.allowTrailingComma;function N(){for(;;){const _=r.scan();switch(r.getTokenError()){case 4:L(14);break;case 5:L(15);break;case 3:L(13);break;case 1:x||L(11);break;case 2:L(12);break;case 6:L(16);break}switch(_){case 12:case 13:x?L(10):y();break;case 16:L(1);break;case 15:case 14:break;default:return _}}}function L(_,E=[],T=[]){if(w(_),E.length+T.length>0){let F=r.getToken();for(;F!==17;){if(E.indexOf(F)!==-1){N();break}else if(T.indexOf(F)!==-1)break;F=N()}}}function R(_){const E=r.getTokenValue();return _?d(E):(h(E),i.push(E)),N(),!0}function v(){switch(r.getToken()){case 11:const _=r.getTokenValue();let E=Number(_);isNaN(E)&&(L(2),E=0),d(E);break;case 7:d(null);break;case 8:d(!0);break;case 9:d(!1);break;default:return!1}return N(),!0}function S(){return r.getToken()!==10?(L(3,[],[2,5]),!1):(R(!1),r.getToken()===6?(p(":"),N(),P()||L(4,[],[2,5])):L(5,[],[2,5]),i.pop(),!0)}function C(){c(),N();let _=!1;for(;r.getToken()!==2&&r.getToken()!==17;){if(r.getToken()===5){if(_||L(4,[],[]),p(","),N(),r.getToken()===2&&b)break}else _&&L(6,[],[]);S()||L(4,[],[2,5]),_=!0}return f(),r.getToken()!==2?L(7,[2],[]):N(),!0}function D(){m(),N();let _=!0,E=!1;for(;r.getToken()!==4&&r.getToken()!==17;){if(r.getToken()===5){if(E||L(4,[],[]),p(","),N(),r.getToken()===4&&b)break}else E&&L(6,[],[]);_?(i.push(0),_=!1):i[i.length-1]++,P()||L(4,[],[4,5]),E=!0}return g(),_||i.pop(),r.getToken()!==4?L(8,[4],[]):N(),!0}function P(){switch(r.getToken()){case 3:return D();case 1:return C();case 10:return R(!0);default:return v()}}return N(),r.getToken()===17?n.allowEmptyContent?!0:(L(4,[],[]),!1):P()?(r.getToken()!==17&&L(9,[],[]),!0):(L(4,[],[]),!1)}const ht=Yr;var Za;(function(t){t[t.None=0]="None",t[t.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",t[t.UnexpectedEndOfString=2]="UnexpectedEndOfString",t[t.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",t[t.InvalidUnicode=4]="InvalidUnicode",t[t.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",t[t.InvalidCharacter=6]="InvalidCharacter"})(Za||(Za={}));var Ka;(function(t){t[t.OpenBraceToken=1]="OpenBraceToken",t[t.CloseBraceToken=2]="CloseBraceToken",t[t.OpenBracketToken=3]="OpenBracketToken",t[t.CloseBracketToken=4]="CloseBracketToken",t[t.CommaToken=5]="CommaToken",t[t.ColonToken=6]="ColonToken",t[t.NullKeyword=7]="NullKeyword",t[t.TrueKeyword=8]="TrueKeyword",t[t.FalseKeyword=9]="FalseKeyword",t[t.StringLiteral=10]="StringLiteral",t[t.NumericLiteral=11]="NumericLiteral",t[t.LineCommentTrivia=12]="LineCommentTrivia",t[t.BlockCommentTrivia=13]="BlockCommentTrivia",t[t.LineBreakTrivia=14]="LineBreakTrivia",t[t.Trivia=15]="Trivia",t[t.Unknown=16]="Unknown",t[t.EOF=17]="EOF"})(Ka||(Ka={}));const S1=L1,A1=Ya,k1=Qa,R1=Kr;var eo;(function(t){t[t.InvalidSymbol=1]="InvalidSymbol",t[t.InvalidNumberFormat=2]="InvalidNumberFormat",t[t.PropertyNameExpected=3]="PropertyNameExpected",t[t.ValueExpected=4]="ValueExpected",t[t.ColonExpected=5]="ColonExpected",t Line truncated
`,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
`&&i++}r&&n.length>0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return te.create(0,e);for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return te.create(s,e-n[s])}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}};var k;(function(t){const e=Object.prototype.toString;function n(g){return typeof g<"u"}t.defined=n;function r(g){return typeof g>"u"}t.undefined=r;function i(g){return g===!0||g===!1}t.boolean=i;function s(g){return e.call(g)==="[object String]"}t.string=s;function a(g){return e.call(g)==="[object Number]"}t.number=a;function o(g,d,p){return e.call(g)==="[object Number]"&&d<=g&&g<=p}t.numberRange=o;function u(g){return e.call(g)==="[object Number]"&&-2147483648<=g&&g<=2147483647}t.integer=u;function c(g){return e.call(g)==="[object Number]"&&0<=g&&g<=2147483647}t.uinteger=c;function h(g){return e.call(g)==="[object Function]"}t.func=h;function f(g){return g!==null&&typeof g=="object"}t.objectLiteral=f;function m(g,d){return Array.isArray(g)&&g.every(d)}t.typedArray=m})(k||(k={}));class mn{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){for(let r of e)if(mn.isIncremental(r)){const i=Ko(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);const o=Math.max(i.start.line,0),u=Math.max(i.end.line,0);let c=this._lineOffsets;const h=Zo(r.text,!1,s);if(u-o===h.length)for(let m=0,g=h.length;m<g;m++)c[m+o+1]=h[m];else h.length<1e4?c.splice(o+1,u-o,...h):this._lineOffsets=c=c.slice(0,o+1).concat(h,c.slice(u+1));const f=r.text.length-(a-s);if(f!==0)for(let m=o+1+h.length,g=c.length;m<g;m++)c[m]=c[m]+f}else if(mn.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Zo(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return{line:s,character:e-n[s]}}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var Ie;(function(t){function e(i,s,a,o){return new mn(i,s,a,o)}t.create=e;function n(i,s,a){if(i instanceof mn)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){let a=i.getText(),o=mi(s.map(P1),(h,f)=>{let m=h.range.start.line-f.range.start.line;return m===0?h.range.start.character-f.range.start.character:m}),u=0;const c=[];for(const h of o){let f=i.offsetAt(h.range.start);if(f<u)throw new Error("Overlapping edit");f>u&&c.push(a.substring(u,f)),h.newText.length&&c.push(h.newText),u=i.offsetAt(h.range.end)}return c.push(a.substr(u)),c.join("")}t.applyEdits=r})(Ie||(Ie={}));function mi(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);mi(r,e),mi(i,e);let s=0,a=0,o=0;for(;s<r.length&&a<i.length;)e(r[s],i[a])<=0?t[o++]=r[s++]:t[o++]=i[a++];for(;s<r.length;)t[o++]=r[s++];for(;a<i.length;)t[o++]=i[a++];return t}function Zo(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);(s===13||s===10)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function Ko(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function P1(t){const e=Ko(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var X;(function(t){t[t.Undefined=0]="Undefined",t[t.EnumValueMismatch=1]="EnumValueMismatch",t[t.Deprecated=2]="Deprecated",t[t.UnexpectedEndOfComment=257]="UnexpectedEndOfComment",t[t.UnexpectedEndOfString=258]="UnexpectedEndOfString",t[t.UnexpectedEndOfNumber=259]="UnexpectedEndOfNumber",t[t.InvalidUnicode=260]="InvalidUnicode",t[t.InvalidEscapeCharacter=261] Line truncated
`;for(let s=0;s<t.length;s++)i+=r+yi(t[s],r,n),s<t.length-1&&(i+=","),i+=`
`;return i+=e+"]",i}else{const i=Object.keys(t);if(i.length===0)return"{}";let s=`{
`;for(let a=0;a<i.length;a++){const o=i[a];s+=r+JSON.stringify(o)+": "+yi(t[o],r,n),a<i.length-1&&(s+=","),s+=`
`}return s+=e+"}",s}}return n(t)}class W1{constructor(e,n=[],r=Promise,i={}){this.schemaService=e,this.contributions=n,this.promiseConstructor=r,this.clientCapabilities=i}doResolve(e){for(let n=this.contributions.length-1;n>=0;n--){const r=this.contributions[n].resolveCompletion;if(r){const i=r(e);if(i)return i}}return this.promiseConstructor.resolve(e)}doComplete(e,n,r){const i={items:[],isIncomplete:!1},s=e.getText(),a=e.offsetAt(n);let o=r.getNodeFromOffset(a,!0);if(this.isInComment(e,o?o.offset:0,a))return Promise.resolve(i);if(o&&a===o.offset+o.length&&a>0){const m=s[a-1];(o.type==="object"&&m==="}"||o.type==="array"&&m==="]")&&(o=o.parent)}const u=this.getCurrentWord(e,a);let c;if(o&&(o.type==="string"||o.type==="number"||o.type==="boolean"||o.type==="null"))c=H.create(e.positionAt(o.offset),e.positionAt(o.offset+o.length));else{let m=a-u.length;m>0&&s[m-1]==='"'&&m--,c=H.create(e.positionAt(m),n)}const h=new Map,f={add:m=>{let g=m.label;const d=h.get(g);if(d)d.documentation||(d.documentation=m.documentation),d.detail||(d.detail=m.detail),d.labelDetails||(d.labelDetails=m.labelDetails);else{if(g=g.replace(/[\n]/g,"↵"),g.length>60){const p=g.substr(0,57).trim()+"...";h.has(p)||(g=p)}m.textEdit=Be.replace(c,m.insertText),m.label=g,h.set(g,m),i.items.push(m)}},setAsIncomplete:()=>{i.isIncomplete=!0},error:m=>{console.error(m)},getNumberOfProposals:()=>i.items.length};return this.schemaService.getSchemaForResource(e.uri,r).then(m=>{const g=[];let d=!0,p="",y;if(o&&o.type==="string"){const x=o.parent;x&&x.type==="property"&&x.keyNode===o&&(d=!x.valueNode,y=x,p=s.substr(o.offset+1,o.length-2),x&&(o=x.parent))}if(o&&o.type==="object"){if(o.offset===a)return i;o.properties.forEach(L=>{(!y||y!==L)&&h.set(L.keyNode.value,ci.create("__"))});let b="";d&&(b=this.evaluateSeparatorAfter(e,e.offsetAt(c.end))),m?this.getPropertyCompletions(m,r,o,d,b,f):this.getSchemaLessPropertyCompletions(r,o,p,f);const N=bi(o);this.contributions.forEach(L=>{const R=L.collectPropertyCompletions(e.uri,N,u,d,b==="",f);R&&g.push(R)}),!m&&u.length>0&&s.charAt(a-u.length-1)!=='"'&&(f.add({kind:Se.Property,label:this.getLabelForValue(u),insertText:this.getInsertTextForProperty(u,void 0,!1,b),insertTextFormat:ae.Snippet,documentation:""}),f.setAsIncomplete())}const w={};return m?this.getValueCompletions(m,r,o,a,e,f,w):this.getSchemaLessValueCompletions(r,o,a,e,f),this.contributions.length>0&&this.getContributedValueCompletions(r,o,a,e,f,g),this.promiseConstructor.all(g).then(()=>{if(f.getNumberOfProposals()===0){let x=a;o&&(o.type==="string"||o.type==="number"||o.type==="boolean"||o.type==="null")&&(x=o.offset+o.length);const b=this.evaluateSeparatorAfter(e,x);this.addFillerValueCompletions(w,b,f)}return i})})}getPropertyCompletions(e,n,r,i,s,a){n.getMatchingSchemas(e.schema,r.offset).forEach(u=>{if(u.node===r&&!u.inverted){const c=u.schema.properties;c&&Object.keys(c).forEach(f=>{const m=c[f];if(typeof m=="object"&&!m.deprecationMessage&&!m.doNotSuggest){const g={kind:Se.Property,label:f,insertText:this.getInsertTextForProperty(f,m,i,s),insertTextFormat:ae.Snippet,filterText:this.getFilterTextForValue(f),documentation:this.fromMarkup(m.markdownDescription)||m.description||""};m.suggestSortText!==void 0&&(g.sortText=m.suggestSortText),g.insertText&&cn(g.insertText,`$1${s}`)&&(g.command={title:"Suggest",command:"editor.action.triggerSuggest"}),a.add(g)}});const h=u.schema.propertyNames;if(typeof h=="object"&&!h.deprecationMessage&&!h.doNotSuggest){const f=(m,g=void 0)=>{const d={kind:Se.Property,label:m,insertText:this.getInsertTextForProperty(m,void 0,i,s),insertTextFormat:ae.Snippet,filterText:this.getFilterTextForValue(m),documentation:g||this.fromMarkup(h.markdownDescription)||h.description||""};h.suggestSortText!==void 0&&(d.sortText=h.suggestSortText),d.insertText&&cn(d.insertText,`$1${s}`)&&(d.command={title:"Suggest",command:"editor.action.triggerSuggest"}),a.add(d)};if(h.enum)for(let m=0;m<h.enum.length;m++){let g;h.markdownEnumDescriptions&&m<h.markdownEnumDescriptions.length?g=this.fromMarkup(h.markdownEnumDescriptions[m]):h.enumDescriptions&&m<h.enumDescriptions.length&&(g=h.enumDescriptions[m]),f(h.enum[m],g)}h.const&&f(h.const)}}})}getSchemaLessPropertyCompletions(e,n,r,i){const s=a=>{a.properties.forEach(o=>{const u=o.keyNode.value;i.add({kind:Se.Property,label:u,insertText:this.getInsertTextForValue(u,""),insertTextFormat:ae.Snippet,filterText:this.getFilterTextForValue(u),documentation:""})})};if(n.parent)if(n.parent.type==="property"){const a=n.parent.keyNode.value;e.visit(o=>(o.type==="property"&&o!==n.parent&&o.keyNode.value===a&&o.valueNode&&o.valueNode.type==="object"&&s(o.valueNode),!0))}else n.parent.type==="array"&&n.parent.items.forEach(a=>{a.type==="object"&&a!==n&&s(a)});else n.type==="object"&&i.add({kind:Se.Property,label:"$schema",insertText:this.getInsertTextForProperty("$schema",void 0,!0,""),insertTextFormat:ae.Snippet,documentation:"",filterText:this.getFilterTextForValue("$schema")})}getSchemaLessValueC Line truncated
`,g=g+`
`+d+"]",d+=" ",o="array";h=m+d+a.bodyText.split(`
`).join(`
`+d)+g+n,c=c||h,f=h.replace(/[\n]/g,"")}else return;r.add({kind:this.getSuggestionKind(o),label:c,documentation:this.fromMarkup(a.markdownDescription)||a.description,insertText:h,insertTextFormat:ae.Snippet,filterText:f}),s=!0}),!s&&typeof e.items=="object"&&!Array.isArray(e.items)&&i<5&&this.addDefaultValueCompletions(e.items,n,r,i+1)}addEnumValueCompletions(e,n,r){if(Ce(e.const)&&r.add({kind:this.getSuggestionKind(e.type),label:this.getLabelForValue(e.const),insertText:this.getInsertTextForValue(e.const,n),insertTextFormat:ae.Snippet,documentation:this.fromMarkup(e.markdownDescription)||e.description}),Array.isArray(e.enum))for(let i=0,s=e.enum.length;i<s;i++){const a=e.enum[i];let o=this.fromMarkup(e.markdownDescription)||e.description;e.markdownEnumDescriptions&&i<e.markdownEnumDescriptions.length&&this.doesSupportMarkdown()?o=this.fromMarkup(e.markdownEnumDescriptions[i]):e.enumDescriptions&&i<e.enumDescriptions.length&&(o=e.enumDescriptions[i]),r.add({kind:this.getSuggestionKind(e.type),label:this.getLabelForValue(a),insertText:this.getInsertTextForValue(a,n),insertTextFormat:ae.Snippet,documentation:o})}}collectTypes(e,n){if(Array.isArray(e.enum)||Ce(e.const))return;const r=e.type;Array.isArray(r)?r.forEach(i=>n[i]=!0):r&&(n[r]=!0)}addFillerValueCompletions(e,n,r){e.object&&r.add({kind:this.getSuggestionKind("object"),label:"{}",insertText:this.getInsertTextForGuessedValue({},n),insertTextFormat:ae.Snippet,detail:M("New object"),documentation:""}),e.array&&r.add({kind:this.getSuggestionKind("array"),label:"[]",insertText:this.getInsertTextForGuessedValue([],n),insertTextFormat:ae.Snippet,detail:M("New array"),documentation:""})}addBooleanValueCompletion(e,n,r){r.add({kind:this.getSuggestionKind("boolean"),label:e?"true":"false",insertText:this.getInsertTextForValue(e,n),insertTextFormat:ae.Snippet,documentation:""})}addNullValueCompletion(e,n){n.add({kind:this.getSuggestionKind("null"),label:"null",insertText:"null"+e,insertTextFormat:ae.Snippet,documentation:""})}addDollarSchemaCompletions(e,n){this.schemaService.getRegisteredSchemaIds(i=>i==="http"||i==="https").forEach(i=>{i.startsWith("http://json-schema.org/draft-")&&(i=i+"#"),n.add({kind:Se.Module,label:this.getLabelForValue(i),filterText:this.getFilterTextForValue(i),insertText:this.getInsertTextForValue(i,e),insertTextFormat:ae.Snippet,documentation:""})})}getLabelForValue(e){return JSON.stringify(e)}getValueFromLabel(e){return JSON.parse(e)}getFilterTextForValue(e){return JSON.stringify(e)}getFilterTextForSnippetValue(e){return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")}getLabelForSnippetValue(e){return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")}getInsertTextForPlainText(e){return e.replace(/[\\\$\}]/g,"\\$&")}getInsertTextForValue(e,n){const r=JSON.stringify(e,null," ");return r==="{}"?"{$1}"+n:r==="[]"?"[$1]"+n:this.getInsertTextForPlainText(r+n)}getInsertTextForSnippetValue(e,n){return yi(e,"",i=>typeof i=="string"&&i[0]==="^"?i.substr(1):JSON.stringify(i))+n}getInsertTextForGuessedValue(e,n){switch(typeof e){case"object":return e===null?"${1:null}"+n:this.getInsertTextForValue(e,n);case"string":let r=JSON.stringify(e);return r=r.substr(1,r.length-2),r=this.getInsertTextForPlainText(r),'"${1:'+r+'}"'+n;case"number":case"boolean":return"${1:"+JSON.stringify(e)+"}"+n}return this.getInsertTextForValue(e,n)}getSuggestionKind(e){if(Array.isArray(e)){const n=e;e=n.length>0?n[0]:void 0}if(!e)return Se.Value;switch(e){case"string":return Se.Value;case"object":return Se.Module;case"property":return Se.Property;default:return Se.Value}}getLabelTextForMatchingNode(e,n){switch(e.type){case"array":return"[]";case"object":return"{}";default:return n.getText().substr(e.offset,e.length)}}getInsertTextForMatchingNode(e,n,r){switch(e.type){case"array":return this.getInsertTextForValue([],r);case"object":return this.getInsertTextForValue({},r);default:const i=n.getText().substr(e.offset,e.length)+r;return this.getInsertTextForPlainText(i)}}getInsertTextForProperty(e,n,r,i){const s=this.getInsertTextForValue(e,"");if(!r)return s;const a=s+": ";let o,u=0;if(n){if(Array.isArray(n.defaultSnippets)){if(n.defaultSnippets.length===1){const c=n.defaultSnippets[0].body;Ce(c)&&(o=this.getInsertTextForSnippetValue(c,""))}u+=n.defaultSnippets.length}if(n.enum&&(!o&&n.enum.length===1&&(o=this.getInsertTextForGuessedValue(n.enum[0],"")),u+=n.enum.length),Ce(n.const)&&(o||(o=this.getInsertTextForGuessedValue(n.const,"")),u++),Ce(n.default)&&(o||(o=this.getInsertTextForGuessedValue(n.default,"")),u++),Array.isArray(n.examples)&&n.examples.length&&(o||(o=this.getInsertTextForGuessedValue(n.examples[0],"")),u+=n.examples.length),u===0){let c=Array.isArray(n.type)?n.type[0]:n.type;switch(c||(n.properties?c="object":n.items&&(c="array")),c){case"boolean":o="$1";break;case"string":o='"$1"';break;case"object":o="{$1}";break;case"array":o="[$1]";break;case"number":case"integer":o="${1:0}";break;case"null":o="${1:null}";break;default:return s}}}ret Line truncated
\r\v":{[,]}`.indexOf(i.charAt(r))===-1;)r--;return i.substring(r+1,n)}evaluateSeparatorAfter(e,n){const r=ht(e.getText(),!0);switch(r.setPosition(n),r.scan()){case 5:case 2:case 4:case 17:return"";default:return","}}findItemAtOffset(e,n,r){const i=ht(n.getText(),!0),s=e.items;for(let a=s.length-1;a>=0;a--){const o=s[a];if(r>o.offset+o.length)return i.setPosition(o.offset+o.length),i.scan()===5&&r>=i.getTokenOffset()+i.getTokenLength()?a+1:a;if(r>=o.offset)return a}return 0}isInComment(e,n,r){const i=ht(e.getText(),!1);i.setPosition(n);let s=i.scan();for(;s!==17&&i.getTokenOffset()+i.getTokenLength()<r;)s=i.scan();return(s===12||s===13)&&i.getTokenOffset()<=r}fromMarkup(e){if(e&&this.doesSupportMarkdown())return{kind:mt.Markdown,value:e}}doesSupportMarkdown(){if(!Ce(this.supportsMarkdown)){const e=this.clientCapabilities.textDocument?.completion?.completionItem?.documentationFormat;this.supportsMarkdown=Array.isArray(e)&&e.indexOf(mt.Markdown)!==-1}return this.supportsMarkdown}doesSupportsCommitCharacters(){return Ce(this.supportsCommitCharacters)||(this.labelDetailsSupport=this.clientCapabilities.textDocument?.completion?.completionItem?.commitCharactersSupport),this.supportsCommitCharacters}doesSupportsLabelDetails(){return Ce(this.labelDetailsSupport)||(this.labelDetailsSupport=this.clientCapabilities.textDocument?.completion?.completionItem?.labelDetailsSupport),this.labelDetailsSupport}}class H1{constructor(e,n=[],r){this.schemaService=e,this.contributions=n,this.promise=r||Promise}doHover(e,n,r){const i=e.offsetAt(n);let s=r.getNodeFromOffset(i);if(!s||(s.type==="object"||s.type==="array")&&i>s.offset+1&&i<s.offset+s.length-1)return this.promise.resolve(null);const a=s;if(s.type==="string"){const h=s.parent;if(h&&h.type==="property"&&h.keyNode===s&&(s=h.valueNode,!s))return this.promise.resolve(null)}const o=H.create(e.positionAt(a.offset),e.positionAt(a.offset+a.length)),u=h=>({contents:h,range:o}),c=bi(s);for(let h=this.contributions.length-1;h>=0;h--){const m=this.contributions[h].getInfoContribution(e.uri,c);if(m)return m.then(g=>u(g))}return this.schemaService.getSchemaForResource(e.uri,r).then(h=>{if(h&&s){const f=r.getMatchingSchemas(h.schema,s.offset);let m,g,d,p;f.every(w=>{if(w.node===s&&!w.inverted&&w.schema&&(m=m||w.schema.title,g=g||w.schema.markdownDescription||wi(w.schema.description),w.schema.enum)){const x=w.schema.enum.indexOf(gt(s));w.schema.markdownEnumDescriptions?d=w.schema.markdownEnumDescriptions[x]:w.schema.enumDescriptions&&(d=wi(w.schema.enumDescriptions[x])),d&&(p=w.schema.enum[x],typeof p!="string"&&(p=JSON.stringify(p)))}return!0});let y="";return m&&(y=wi(m)),g&&(y.length>0&&(y+=`
`),y+=g),d&&(y.length>0&&(y+=`
`),y+=`\`${z1(p)}\`: ${d}`),u([y])}return null})}}function wi(t){if(t)return t.replace(/([^\n\r])(\r?\n)([^\n\r])/gm,`$1
$3`).replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}function z1(t){return t.indexOf("`")!==-1?"`` "+t+" ``":t}class G1{constructor(e,n){this.jsonSchemaService=e,this.promise=n,this.validationEnabled=!0}configure(e){e&&(this.validationEnabled=e.validate!==!1,this.commentSeverity=e.allowComments?void 0:_e.Error)}doValidation(e,n,r,i){if(!this.validationEnabled)return this.promise.resolve([]);const s=[],a={},o=c=>{const h=c.range.start.line+" "+c.range.start.character+" "+c.message;a[h]||(a[h]=!0,s.push(c))},u=c=>{let h=r?.trailingCommas?Jn(r.trailingCommas):_e.Error,f=r?.comments?Jn(r.comments):this.commentSeverity,m=r?.schemaValidation?Jn(r.schemaValidation):_e.Warning,g=r?.schemaRequest?Jn(r.schemaRequest):_e.Warning;if(c){const d=(p,y)=>{if(n.root&&g){const w=n.root,x=w.type==="object"?w.properties[0]:void 0;if(x&&x.keyNode.value==="$schema"){const b=x.valueNode||x,N=H.create(e.positionAt(b.offset),e.positionAt(b.offset+b.length));o(Ze.create(N,p,g,y))}else{const b=H.create(e.positionAt(w.offset),e.positionAt(w.offset+1));o(Ze.create(b,p,g,y))}}};if(c.errors.length)d(c.errors[0],X.SchemaResolveError);else if(m){for(const y of c.warnings)d(y,X.SchemaUnsupportedFeature);const p=n.validate(e,c.schema,m,r?.schemaDraft);p&&p.forEach(o)}al(c.schema)&&(f=void 0),ol(c.schema)&&(h=void 0)}for(const d of n.syntaxErrors){if(d.code===X.TrailingComma){if(typeof h!="number")continue;d.severity=h}o(d)}if(typeof f=="number"){const d=M("Comments are not permitted in JSON.");n.comments.forEach(p=>{o(Ze.create(p,d,f,X.CommentNotPermitted))})}return s};if(i){const c=i.id||"schemaservice://untitled/"+J1++;return this.jsonSchemaService.registerExternalSchema({uri:c,schema:i}).getResolvedSchema().then(f=>u(f))}return this.jsonSchemaService.getSchemaForResource(e.uri,n).then(c=>u(c))}getLanguageStatus(e,n){return{schemas:this.jsonSchemaService.getSchemaURIsForResource(e.uri,n)}}}let J1=0;function al(t){if(t&&typeof t=="object"){if($e(t.allowComments))return t.allowComments;if(t.allOf)for(const e of t.allOf){const n=al(e);if($e(n))return n}}}function ol(t){if(t&&typeof t=="object"){if($e(t.allowTrailingCommas))return t.allowTrailingCommas;const e=t;if($e(e.allowsTrailingCommas))return e.allowsTrailingCommas;if(t.allOf)for(const n of t.allOf){const r=ol(n);if($e(r))return r}}}function Jn(t){switch(t){case"error":return _e.Error;case"warning":return _e.Warning;case"ignore":return}}const ll=48,X1=57,Q1=65,Xn=97,Y1=102;function ie(t){return t<ll?0:t<=X1?t-ll:(t<Xn&&(t+=Xn-Q1),t>=Xn&&t<=Y1?t-Xn+10:0)}function Z1(t){if(t[0]==="#")switch(t.length){case 4:return{red:ie(t.charCodeAt(1))*17/255,green:ie(t.charCodeAt(2))*17/255,blue:ie(t.charCodeAt(3))*17/255,alpha:1};case 5:return{red:ie(t.charCodeAt(1))*17/255,green:ie(t.charCodeAt(2))*17/255,blue:ie(t.charCodeAt(3))*17/255,alpha:ie(t.charCodeAt(4))*17/255};case 7:return{red:(ie(t.charCodeAt(1))*16+ie(t.charCodeAt(2)))/255,green:(ie(t.charCodeAt(3))*16+ie(t.charCodeAt(4)))/255,blue:(ie(t.charCodeAt(5))*16+ie(t.charCodeAt(6)))/255,alpha:1};case 9:return{red:(ie(t.charCodeAt(1))*16+ie(t.charCodeAt(2)))/255,green:(ie(t.charCodeAt(3))*16+ie(t.charCodeAt(4)))/255,blue:(ie(t.charCodeAt(5))*16+ie(t.charCodeAt(6)))/255,alpha:(ie(t.charCodeAt(7))*16+ie(t.charCodeAt(8)))/255}}}class K1{constructor(e){this.schemaService=e}findDocumentSymbols(e,n,r={resultLimit:Number.MAX_VALUE}){const i=n.root;if(!i)return[];let s=r.resultLimit||Number.MAX_VALUE;const a=e.uri;if((a==="vscode://defaultsettings/keybindings.json"||cn(a.toLowerCase(),"/user/keybindings.json"))&&i.type==="array"){const m=[];for(const g of i.items)if(g.type==="object"){for(const d of g.properties)if(d.keyNode.value==="key"&&d.valueNode){const p=$t.create(e.uri,at(e,g));if(m.push({name:ul(d.valueNode),kind:Ue.Function,location:p}),s--,s<=0)return r&&r.onResultLimitExceeded&&r.onResultLimitExceeded(a),m}}return m}const o=[{node:i,containerName:""}];let u=0,c=!1;const h=[],f=(m,g)=>{m.type==="array"?m.items.forEach(d=>{d&&o.push({node:d,containerName:g})}):m.type==="object"&&m.properties.forEach(d=>{const p=d.valueNode;if(p)if(s>0){s--;const y=$t.create(e.uri,at(e,d)),w=g?g+"."+d.keyNode.value:d.keyNode.value;h.push({name:this.getKeyLabel(d),kind:this.getSymbolKind(p.type),location:y,containerName:g}),o.push({node:p,containerName:w})}else c=!0})};for(;u<o.length;){const m=o[u++];f(m.node,m.containerName)}return c&&r&&r.onResultLimitExceeded&&r.onResultLimitExceeded(a),h}findDocumentSymbols2(e,n,r={resultLimit:Number.MAX_VALUE}){const i=n.root;if(!i)return[];let s=r.resultLimit||Number.MAX_VALUE;const a=e.uri;if((a==="vscode://defaultsettings/keybindings.json"||cn(a.toLowerCase(),"/user/keybindings.json"))&&i.type==="array"){const m=[];for(const g of i.items)if(g.type==="object"){for(const d of g.properties)if(d.keyNode.value==="key"&&d.valueNode){const p=at(e,g),y=at(e,d.keyNode);if(m.push({name:ul(d.valueNode),kind:Ue.Function,range:p,selectionRange:y}),s--,s<=0)return r&&r.onResultLimitExceeded&&r.onResultLimitExceeded(a),m}}return m}const o=[],uLine truncated
`,keepLines:e?.keepLines===!0};return E1(t.getText(),r,i).map(s=>Be.replace(H.create(t.positionAt(s.offset),t.positionAt(s.offset+s.length)),s.content))}var oe;(function(t){t[t.Object=0]="Object",t[t.Array=1]="Array"})(oe||(oe={}));class Qn{constructor(e,n){this.propertyName=e??"",this.beginningLineNumber=n,this.childrenProperties=[],this.lastProperty=!1,this.noKeyName=!1}addChildProperty(e){if(e.parent=this,this.childrenProperties.length>0){let n=0;e.noKeyName?n=this.childrenProperties.length:n=hf(this.childrenProperties,e,ff),n<0&&(n=n*-1-1),this.childrenProperties.splice(n,0,e)}else this.childrenProperties.push(e);return e}}function ff(t,e){const n=t.propertyName.toLowerCase(),r=e.propertyName.toLowerCase();return n<r?-1:n>r?1:0}function hf(t,e,n){const r=e.propertyName.toLowerCase(),i=t[0].propertyName.toLowerCase(),s=t[t.length-1].propertyName.toLowerCase();if(r<i)return 0;if(r>s)return t.length;let a=0,o=t.length-1;for(;a<=o;){let u=o+a>>1,c=n(e,t[u]);if(c>0)a=u+1;else if(c<0)o=u-1;else return u}return-a-1}function mf(t,e){const n={...e,keepLines:!1},r=Ie.applyEdits(t,vi(t,n,void 0)),i=Ie.create("test://test.json","json",0,r),s=df(i),a=gf(i,s),o=vi(a,n,void 0),u=Ie.applyEdits(a,o);return[Be.replace(H.create(te.create(0,0),t.positionAt(t.getText().length)),u)]}function df(t){const e=t.getText(),n=ht(e,!1);let r=new Qn,i=r,s=r,a=r,o,u=0,c=0,h,f,m=-1,g=-1,d=0,p=0,y=[],w=!1,x=!1;for(;(o=n.scan())!==17;){if(w===!0&&o!==14&&o!==15&&o!==12&&o!==13&&s.endLineNumber===void 0){let b=n.getTokenStartLine();f===2||f===4?a.endLineNumber=b-1:s.endLineNumber=b-1,d=b,w=!1}if(x===!0&&o!==14&&o!==15&&o!==12&&o!==13&&(d=n.getTokenStartLine(),x=!1),n.getTokenStartLine()!==u){for(let b=u;b<n.getTokenStartLine();b++){const N=t.getText(H.create(te.create(b,0),te.create(b+1,0))).length;c=c+N}u=n.getTokenStartLine()}switch(o){case 10:{if(h===void 0||h===1||h===5&&y[y.length-1]===oe.Object){const b=new Qn(n.getTokenValue(),d);a=s,s=i.addChildProperty(b)}break}case 3:{if(r.beginningLineNumber===void 0&&(r.beginningLineNumber=n.getTokenStartLine()),y[y.length-1]===oe.Object)i=s;else if(y[y.length-1]===oe.Array){const b=new Qn(n.getTokenValue(),d);b.noKeyName=!0,a=s,s=i.addChildProperty(b),i=s}y.push(oe.Array),s.type=oe.Array,d=n.getTokenStartLine(),d++;break}case 1:{if(r.beginningLineNumber===void 0)r.beginningLineNumber=n.getTokenStartLine();else if(y[y.length-1]===oe.Array){const b=new Qn(n.getTokenValue(),d);b.noKeyName=!0,a=s,s=i.addChildProperty(b)}s.type=oe.Object,y.push(oe.Object),i=s,d=n.getTokenStartLine(),d++;break}case 4:{p=n.getTokenStartLine(),y.pop(),s.endLineNumber===void 0&&(h===2||h===4)&&(s.endLineNumber=p-1,s.lastProperty=!0,s.lineWhereToAddComma=m,s.indexWhereToAddComa=g,a=s,s=s?s.parent:void 0,i=s),r.endLineNumber=p,d=p+1;break}case 2:{p=n.getTokenStartLine(),y.pop(),h!==1&&(s.endLineNumber===void 0&&(s.endLineNumber=p-1,s.lastProperty=!0,s.lineWhereToAddComma=m,s.indexWhereToAddComa=g),a=s,s=s?s.parent:void 0,i=s),r.endLineNumber=n.getTokenStartLine(),d=p+1;break}case 5:{p=n.getTokenStartLine(),s.endLineNumber===void 0&&(y[y.length-1]===oe.Object||y[y.length-1]===oe.Array&&(h===2||h===4))&&(s.endLineNumber=p,s.commaIndex=n.getTokenOffset()-c,s.commaLine=p),(h===2||h===4)&&(a=s,s=s?s.parent:void 0,i=s),d=p+1;break}case 13:{h===5&&m===n.getTokenStartLine()&&(y[y.length-1]===oe.Array&&(f===2||f===4)||y[y.length-1]===oe.Object)&&(y[y.length-1]===oe.Array&&(f===2||f===4)||y[y.length-1]===oe.Object)&&(s.endLineNumber=void 0,w=!0),(h===1||h===3)&&m===n.getTokenStartLine()&&(x=!0);break}}o!==14&&o!==13&&o!==12&&o!==15&&(f=h,h=o,m=n.getTokenStartLine(),g=n.getTokenOffset()+n.getTokenLength()-c)}return r}function gf(t,e){if(e.childrenProperties.length===0)return t;const n=Ie.create("test://test.json","json",0,t.getText()),r=[];for(ml(r,e,e.beginningLineNumber);r.length>0;){const i=r.shift(),s=i.propertyTreeArray;let a=i.beginningLineNumber;for(let o=0;o<s.length;o++){const u=s[o],c=H.create(te.create(u.beginningLineNumber,0),te.create(u.endLineNumber+1,0)),h=t.getText(c),f=Ie.create("test://test.json","json",0,h);if(u.lastProperty===!0&&o!==s.length-1){const d=u.lineWhereToAddComma-u.beginningLineNumber,p=u.indexWhereToAddComa,y={range:H.create(te.create(d,p),te.create(d,p)),text:","};Ie.update(f,[y],1)}else if(u.lastProperty===!1&&o===s.length-1){const d=u.commaIndex,y=u.commaLine-u.beginningLineNumber,w={range:H.create(te.create(y,d),te.create(y,d+1)),text:""};Ie.update(f,[w],1)}const m=u.endLineNumber-u.beginningLineNumber+1,g={range:H.create(te.create(a,0),te.create(a+m,0)),text:f.getText()};Ie.update(n,[g],1),ml(r,u,a),a=a+m}}return n}function ml(t,e,n){if(e.childrenProperties.length!==0)if(e.type===oe.Object){let r=1/0;for(const s of e.childrenProperties)s.beginningLineNumber<r&&(r=s.beginningLineNumber);const i=r-e.beginningLineNumber;n=n+i,t.push(new gl(n,e.childrenProperties))}else e.type===oe.Array&&dl(t,e,n)}function dl(t,e,n){for(const r of e.childrenProperties){if(r.type===oe.Object){let i=1/0;for(const Line truncated
File diff suppressed because it is too large. Load diff
@@ -0,0 +1 @@
define("vs/azcli-BA0tQDCg",["exports"],(function(e){"use strict";const t={comments:{lineComment:"#"}},n={defaultToken:"keyword",ignoreCase:!0,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}};e.conf=t,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/basic-languages/monaco.contribution",["require","../editor-KLE6jdfb"],(function(a,t){"use strict";const d={},n={};class r{static getOrCreate(s){return n[s]||(n[s]=new r(s)),n[s]}constructor(s){this._languageId=s,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((o,l)=>{this._lazyLoadPromiseResolve=o,this._lazyLoadPromiseReject=l})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,d[this._languageId].loader().then(s=>this._lazyLoadPromiseResolve(s),s=>this._lazyLoadPromiseReject(s))),this._lazyLoadPromise}}function i(e){const s=e.id;d[s]=e,t.languages.register(e);const o=r.getOrCreate(s);t.languages.registerTokensProviderFactory(s,{create:async()=>(await o.load()).language}),t.languages.onLanguageEncountered(s,async()=>{const l=await o.load();t.languages.setLanguageConfiguration(s,l.conf)})}i({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>new Promise((e,s)=>a(["../abap-D-t0cyap"],e,s))}),i({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>new Promise((e,s)=>a(["../apex-CcIm7xu6"],e,s))}),i({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>new Promise((e,s)=>a(["../azcli-BA0tQDCg"],e,s))}),i({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>new Promise((e,s)=>a(["../bat-C397hTD6"],e,s))}),i({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>new Promise((e,s)=>a(["../bicep-DF5aW17k"],e,s))}),i({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>new Promise((e,s)=>a(["../cameligo-plsz8qhj"],e,s))}),i({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>new Promise((e,s)=>a(["../clojure-Y2auQMzK"],e,s))}),i({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>new Promise((e,s)=>a(["../coffee-Bu45yuWE"],e,s))}),i({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>new Promise((e,s)=>a(["../cpp-CkKPQIni"],e,s))}),i({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>new Promise((e,s)=>a(["../cpp-CkKPQIni"],e,s))}),i({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>new Promise((e,s)=>a(["../csharp-CX28MZyh"],e,s))}),i({id:"csp",extensions:[".csp"],aliases:["CSP","csp"],loader:()=>new Promise((e,s)=>a(["../csp-D8uWnyxW"],e,s))}),i({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>new Promise((e,s)=>a(["../css-CaeNmE3S"],e,s))}),i({id:"cypher",extensions:[".cypher",".cyp"],aliases:["Cypher","OpenCypher"],loader:()=>new Promise((e,s)=>a(["../cypher-DVThT8BS"],e,s))}),i({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>new Promise((e,s)=>a(["../dart-CmGfCvrO"],e,s))}),i({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>new Promise((e,s)=>a(["../dockerfile-CZqqYdch"],e,s))}),i({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>new Promise((e,s)=>a(["../ecl-30fUercY"],e,s))}),i({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>new Promise((e,s)=>a(["../elixir-xjPaIfzF"],e,s))}),i({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>new Promise((e,s)=>a(["../flow9-DqtmStfK"],e,s))}),i({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>new Promise((e,s)=>a(["../fsharp-BOMdg4U1"],e,s))}),i({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>new Promise((e,s)=>a(["../freemarker2-FWreY7v7"],e,s)).then(e=>e.TagAutoInterpolationDollar)}),i({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>new Promise((e,s)=>a(["../freemarker2-FWreY7v7"],e,s)).then(e=>e.TagAngleInterpolationDollar)}),i({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>new Promise((e,s)=>a(["../freemarker2-FWreY7v7"],e,s)).then(e=>e.TagBracketInterpolationDollar)}),i({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>new Promise((e,s)=>a(["../freemarker2-FWreY7v7"],e,s)).then(e=>e.TagAngleInterpolationBracket)}),i({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>new Promise((e,s)=>a(["../freemarker2-FWreY7v7"],e,s)).then(e=>e.TagBracketInterpolationBracket)}),i({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>new Promise((e,s)=>a(["../freemarker2-FWreY7vLine truncated
@@ -0,0 +1 @@
define("vs/bat-C397hTD6",["exports"],(function(e){"use strict";const o={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|REM\\s+)#region"),end:new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")}}},s={defaultToken:"",ignoreCase:!0,tokenPostfix:".bat",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,["","comment"]],[/(\@?)(@keywords)(?!\w)/,[{token:"keyword"},{token:"keyword.$2"}]],[/[ \t\r\n]+/,""],[/setlocal(?!\w)/,"keyword.tag-setlocal"],[/endlocal(?!\w)/,"keyword.tag-setlocal"],[/[a-zA-Z_]\w*/,""],[/:\w*/,"metatag"],[/%[^%]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/%[\w ]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/$/,"string","@popall"]]}};e.conf=o,e.language=s,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1,2 @@
define("vs/bicep-DF5aW17k",["exports"],(function(e){"use strict";const n=(a=>`\\b${a}\\b`)("[_a-zA-Z][_a-zA-Z0-9]*"),t=["targetScope","resource","module","param","var","output","for","in","if","existing"],o=["true","false","null"],i="[ \\t\\r\\n]",r="[0-9]+",c={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:"'''",close:"'''"}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:"'''",close:"'''",notIn:["string","comment"]}],autoCloseBefore:`:.,=}])'
`,indentationRules:{increaseIndentPattern:new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),decreaseIndentPattern:new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")}},s={defaultToken:"",tokenPostfix:".bicep",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],symbols:/[=><!~?:&|+\-*/^%]+/,keywords:t,namedLiterals:o,escapes:"\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)",tokenizer:{root:[{include:"@expression"},{include:"@whitespace"}],stringVerbatim:[{regex:"(|'|'')[^']",action:{token:"string"}},{regex:"'''",action:{token:"string.quote",next:"@pop"}}],stringLiteral:[{regex:"\\${",action:{token:"delimiter.bracket",next:"@bracketCounting"}},{regex:"[^\\\\'$]+",action:{token:"string"}},{regex:"@escapes",action:{token:"string.escape"}},{regex:"\\\\.",action:{token:"string.escape.invalid"}},{regex:"'",action:{token:"string",next:"@pop"}}],bracketCounting:[{regex:"{",action:{token:"delimiter.bracket",next:"@bracketCounting"}},{regex:"}",action:{token:"delimiter.bracket",next:"@pop"}},{include:"expression"}],comment:[{regex:"[^\\*]+",action:{token:"comment"}},{regex:"\\*\\/",action:{token:"comment",next:"@pop"}},{regex:"[\\/*]",action:{token:"comment"}}],whitespace:[{regex:i},{regex:"\\/\\*",action:{token:"comment",next:"@comment"}},{regex:"\\/\\/.*$",action:{token:"comment"}}],expression:[{regex:"'''",action:{token:"string.quote",next:"@stringVerbatim"}},{regex:"'",action:{token:"string.quote",next:"@stringLiteral"}},{regex:r,action:{token:"number"}},{regex:n,action:{cases:{"@keywords":{token:"keyword"},"@namedLiterals":{token:"keyword"},"@default":{token:"identifier"}}}}]}};e.conf=c,e.language=s,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/cameligo-plsz8qhj",["exports"],(function(e){"use strict";const o={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'},{open:"(*",close:"*)"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'},{open:"(*",close:"*)"}]},t={defaultToken:"",tokenPostfix:".cameligo",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["abs","assert","block","Bytes","case","Crypto","Current","else","failwith","false","for","fun","if","in","let","let%entry","let%init","List","list","Map","map","match","match%nat","mod","not","operation","Operation","of","record","Set","set","sender","skip","source","String","then","to","true","type","with"],typeKeywords:["int","unit","string","tz","nat","bool"],operators:["=",">","<","<=",">=","<>",":",":=","and","mod","or","+","-","*","/","@","&","^","%","->","<-","&&","||"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\(\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\(\*/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}};e.conf=o,e.language=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/clojure-Y2auQMzK",["exports"],(function(e){"use strict";const t={comments:{lineComment:";;"},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}],surroundingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}]},n={defaultToken:"",ignoreCase:!0,tokenPostfix:".clj",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"}],constants:["true","false","nil"],numbers:/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,characters:/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,escapes:/^\\(?:["'\\bfnrt]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,qualifiedSymbols:/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/,specialForms:[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],coreSymbols:["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","kLine truncated
@@ -0,0 +1 @@
define("vs/coffee-Bu45yuWE",["exports"],(function(e){"use strict";const n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},t={defaultToken:"",ignoreCase:!0,tokenPostfix:".coffee",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:["and","or","is","isnt","not","on","yes","@","no","off","true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super","undefined","then","unless","until","loop","of","by","when"],symbols:/[=><!~?&%|+\-*\/\^\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@[a-zA-Z_]\w*/,"variable.predefined"],[/[a-zA-Z_]\w*/,{cases:{this:"variable.predefined","@keywords":{token:"keyword.$0"},"@default":""}}],[/[ \t\r\n]+/,""],[/###/,"comment","@comment"],[/#.*$/,"comment"],["///",{token:"regexp",next:"@hereregexp"}],[/^(\s*)(@regEx)/,["","regexp"]],[/(\()(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\,)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\=)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\:)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\[)(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\!)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\&)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\|)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\?)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\{)(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\;)(\s*)(@regEx)/,["","","regexp"]],[/}/,{cases:{"$S2==interpolatedstring":{token:"string",next:"@pop"},"@default":"@brackets"}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/0[0-7]+(?!\d)/,"number.octal"],[/\d+/,"number"],[/[,.]/,"delimiter"],[/"""/,"string",'@herestring."""'],[/'''/,"string","@herestring.'''"],[/"/,{cases:{"@eos":"string","@default":{token:"string",next:'@string."'}}}],[/'/,{cases:{"@eos":"string","@default":{token:"string",next:"@string.'"}}}]],string:[[/[^"'\#\\]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/\./,"string.escape.invalid"],[/#{/,{cases:{'$S2=="':{token:"string",next:"root.interpolatedstring"},"@default":"string"}}],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/#/,"string"]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/[^#\\'"]+/,"string"],[/['"]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/#{/,{token:"string.quote",next:"root.interpolatedstring"}],[/#/,"string"]],comment:[[/[^#]+/,"comment"],[/###/,"comment","@pop"],[/#/,"comment"]],hereregexp:[[/[^\\\/#]+/,"regexp"],[/\\./,"regexp"],[/#.*$/,"comment"],["///[igm]*",{token:"regexp",next:"@pop"}],[/\//,"regexp"]]}};e.conf=n,e.language=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/cpp-CkKPQIni",["exports"],(function(e){"use strict";const n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},t={defaultToken:"",tokenPostfix:".cpp",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","for","friend","gcnew","generic","goto","if","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m512","__m512d","__m512i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[0abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/([uU](ll|LL|l|L)|(ll|LL|l|L)?[uU]?)/,floatsuffix:/[fFlL]?/,encoding:/u|u8|U|L/,tokenizer:{root:[[/@encoding?R\"(?:([^ ()\\\t]*))\(/,{token:"string.raw.begin",next:"@raw.$1"}],[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/^\s*#\s*include/,{token:"keyword.directive.include",next:"@include"}],[/^\s*#\s*\w+/,"keyword.directive"],{include:"@whitespace"},[/\[\s*\[/,{token:"annotation",next:"@annotation"}],[/[{}()<>\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*\\$/,"comment","@linecomment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],linecomment:[[/.*[^\\]$/,"comment","@pop"],[/[^]+/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],raw:[[/[^)]+/,"string.raw"],[/\)$S2\"/,{token:"string.raw.end",next:"@pop"}],[/\)/,"string.raw"]],annotation:[{include:"@whitespace"},[/using|alignas/,"keyword"],[/[a-zA-Z0-9_]+/,"annotation"],[/[,:]/,"delimiter"],[/[()]/,"@brackets"],[/\]\s*\]/,{token:"annotation",next:"@pop"}]],include:[[/(\s*)(<)([^<>]*)(>)/,["","keyword.directive.include.begin","string.include.identifier",{tokenLine truncated
@@ -0,0 +1 @@
define("vs/csharp-CX28MZyh",["exports"],(function(e){"use strict";const t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},n={defaultToken:"",tokenPostfix:".cs",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["extern","alias","using","bool","decimal","sbyte","byte","short","ushort","int","uint","long","ulong","char","float","double","object","dynamic","string","assembly","is","as","ref","out","this","base","new","typeof","void","checked","unchecked","default","delegate","var","const","if","else","switch","case","while","do","for","foreach","in","break","continue","goto","return","throw","try","catch","finally","lock","yield","from","let","where","join","on","equals","into","orderby","ascending","descending","select","group","by","namespace","partial","class","field","event","method","param","public","protected","internal","private","abstract","sealed","static","struct","readonly","volatile","virtual","override","params","get","set","add","remove","operator","true","false","implicit","explicit","interface","enum","null","async","await","fixed","sizeof","stackalloc","unsafe","nameof","when"],namespaceFollows:["namespace","using"],parenFollows:["if","for","while","switch","foreach","using","catch","when"],operators:["=","??","||","&&","|","^","&","==","!=","<=",">=","<<","+","-","*","/","%","!","~","++","--","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=",">>","=>"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@?[a-zA-Z_]\w*/,{cases:{"@namespaceFollows":{token:"keyword.$0",next:"@namespace"},"@keywords":{token:"keyword.$0",next:"@qualified"},"@default":{token:"identifier",next:"@qualified"}}}],{include:"@whitespace"},[/}/,{cases:{"$S2==interpolatedstring":{token:"string.quote",next:"@pop"},"$S2==litinterpstring":{token:"string.quote",next:"@pop"},"@default":"@brackets"}}],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01_]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",next:"@string"}],[/\$\@"/,{token:"string.quote",next:"@litinterpstring"}],[/\@"/,{token:"string.quote",next:"@litstring"}],[/\$"/,{token:"string.quote",next:"@interpolatedstring"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],qualified:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/\./,"delimiter"],["","","@pop"]],namespace:[{include:"@whitespace"},[/[A-Z]\w*/,"namespace"],[/[\.=]/,"delimiter"],["","","@pop"]],comment:[[/[^\/*]+/,"comment"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]],litinterpstring:[[/[^"{]+/,"string"],[/""/,"string.escape"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.litinterpstring"}],[/"/,{token:"string.quote",next:"@pop"}]],interpolatedstring:[[/[^\\"{]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.interpolatedstring"}],[/"/,{token:"string.quote",next:"@pop"}]],whitespace:[[/^[ \t\v\f]*#((r)|(load))(?=\s)/,"directive.csx"],[/^[ \t\v\f]*#\w.*$/,"namespace.cpp"],[/[ \t\v\f\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}};e.conf=t,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/csp-D8uWnyxW",["exports"],(function(t){"use strict";const e={brackets:[],autoClosingPairs:[],surroundingPairs:[]},r={keywords:[],typeKeywords:[],tokenPostfix:".csp",operators:[],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/child-src/,"string.quote"],[/connect-src/,"string.quote"],[/default-src/,"string.quote"],[/font-src/,"string.quote"],[/frame-src/,"string.quote"],[/img-src/,"string.quote"],[/manifest-src/,"string.quote"],[/media-src/,"string.quote"],[/object-src/,"string.quote"],[/script-src/,"string.quote"],[/style-src/,"string.quote"],[/worker-src/,"string.quote"],[/base-uri/,"string.quote"],[/plugin-types/,"string.quote"],[/sandbox/,"string.quote"],[/disown-opener/,"string.quote"],[/form-action/,"string.quote"],[/frame-ancestors/,"string.quote"],[/report-uri/,"string.quote"],[/report-to/,"string.quote"],[/upgrade-insecure-requests/,"string.quote"],[/block-all-mixed-content/,"string.quote"],[/require-sri-for/,"string.quote"],[/reflected-xss/,"string.quote"],[/referrer/,"string.quote"],[/policy-uri/,"string.quote"],[/'self'/,"string.quote"],[/'unsafe-inline'/,"string.quote"],[/'unsafe-eval'/,"string.quote"],[/'strict-dynamic'/,"string.quote"],[/'unsafe-hashed-attributes'/,"string.quote"]]}};t.conf=e,t.language=r,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1,3 @@
define("vs/css-CaeNmE3S",["exports"],(function(e){"use strict";const t={wordPattern:/(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},n={defaultToken:"",tokenPostfix:".css",ws:`[
\r\f]*`,identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.bracket"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@strings"},["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@selectorname"},["[\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.bracket",next:"@selectorbody"}]],selectorbody:[{include:"@comments"},["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],["}",{token:"delimiter.bracket",next:"@pop"}]],selectorname:[["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@functioninvocation"},{include:"@numbers"},{include:"@name"},{include:"@strings"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","delimiter"],[",","delimiter"]],rulevalue:[{include:"@comments"},{include:"@strings"},{include:"@term"},["!important","keyword"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],urldeclaration:[{include:"@strings"},[`[^)\r
]+`,"string"],["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[/[^*/]+/,"comment"],[/./,"comment"]],name:[["@identifier","attribute.value"]],numbers:[["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],keyframedeclaration:[["@identifier","attribute.value"],["{",{token:"delimiter.bracket",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.bracket",next:"@selectorbody"}],["}",{token:"delimiter.bracket",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"attribute.value",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"attribute.value",next:"@pop"}]],strings:[['~?"',{token:"string",next:"@stringenddoublequote"}],["~?'",{token:"string",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string",next:"@pop"}],[/[^\\"]+/,"string"],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string",next:"@pop"}],[/[^\\']+/,"string"],[".","string"]]}};e.conf=t,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/css.worker-CyhWkhHo", ["require", "exports"], (function(require, r){"use strict";const e=""+new URL(require.toUrl("./assets/css.worker-URu8fCFR.js"),document.baseURI).href;r.__worker_url_0__=e}));
@@ -0,0 +1 @@
define("vs/cssMode-CV6Ay48H",["exports","./css.worker-CyhWkhHo","./workers-BBttULjf","./lspLanguageFeatures-BIkJOWLw","./editor-KLE6jdfb"],(function(i,g,_,e,d){"use strict";class l{constructor(s){this._defaults=s,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=_.createWebWorker({moduleId:"vs/language/css/cssWorker",createWorker:()=>new Worker(g.__worker_url_0__,{type:"module"}),label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...s){let t;return this._getClient().then(h=>{t=h}).then(h=>{if(this._worker)return this._worker.withSyncedResources(s)}).then(h=>t)}}function f(c){const s=[],t=[],h=new l(c);s.push(h);const r=(...n)=>h.getLanguageServiceWorker(...n);function A(){const{languageId:n,modeConfiguration:o}=c;a(t),o.completionItems&&t.push(d.languages.registerCompletionItemProvider(n,new e.CompletionAdapter(r,["/","-",":"]))),o.hovers&&t.push(d.languages.registerHoverProvider(n,new e.HoverAdapter(r))),o.documentHighlights&&t.push(d.languages.registerDocumentHighlightProvider(n,new e.DocumentHighlightAdapter(r))),o.definitions&&t.push(d.languages.registerDefinitionProvider(n,new e.DefinitionAdapter(r))),o.references&&t.push(d.languages.registerReferenceProvider(n,new e.ReferenceAdapter(r))),o.documentSymbols&&t.push(d.languages.registerDocumentSymbolProvider(n,new e.DocumentSymbolAdapter(r))),o.rename&&t.push(d.languages.registerRenameProvider(n,new e.RenameAdapter(r))),o.colors&&t.push(d.languages.registerColorProvider(n,new e.DocumentColorAdapter(r))),o.foldingRanges&&t.push(d.languages.registerFoldingRangeProvider(n,new e.FoldingRangeAdapter(r))),o.diagnostics&&t.push(new e.DiagnosticsAdapter(n,r,c.onDidChange)),o.selectionRanges&&t.push(d.languages.registerSelectionRangeProvider(n,new e.SelectionRangeAdapter(r))),o.documentFormattingEdits&&t.push(d.languages.registerDocumentFormattingEditProvider(n,new e.DocumentFormattingEditProvider(r))),o.documentRangeFormattingEdits&&t.push(d.languages.registerDocumentRangeFormattingEditProvider(n,new e.DocumentRangeFormattingEditProvider(r)))}return A(),s.push(m(t)),m(s)}function m(c){return{dispose:()=>a(c)}}function a(c){for(;c.length;)c.pop().dispose()}i.CompletionAdapter=e.CompletionAdapter,i.DefinitionAdapter=e.DefinitionAdapter,i.DiagnosticsAdapter=e.DiagnosticsAdapter,i.DocumentColorAdapter=e.DocumentColorAdapter,i.DocumentFormattingEditProvider=e.DocumentFormattingEditProvider,i.DocumentHighlightAdapter=e.DocumentHighlightAdapter,i.DocumentLinkAdapter=e.DocumentLinkAdapter,i.DocumentRangeFormattingEditProvider=e.DocumentRangeFormattingEditProvider,i.DocumentSymbolAdapter=e.DocumentSymbolAdapter,i.FoldingRangeAdapter=e.FoldingRangeAdapter,i.HoverAdapter=e.HoverAdapter,i.ReferenceAdapter=e.ReferenceAdapter,i.RenameAdapter=e.RenameAdapter,i.SelectionRangeAdapter=e.SelectionRangeAdapter,i.fromPosition=e.fromPosition,i.fromRange=e.fromRange,i.toRange=e.toRange,i.toTextEdit=e.toTextEdit,i.WorkerManager=l,i.setupMode=f,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/cypher-DVThT8BS",["exports"],(function(e){"use strict";const i={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},t={defaultToken:"",tokenPostfix:".cypher",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ALL","AND","AS","ASC","ASCENDING","BY","CALL","CASE","CONTAINS","CREATE","DELETE","DESC","DESCENDING","DETACH","DISTINCT","ELSE","END","ENDS","EXISTS","IN","IS","LIMIT","MANDATORY","MATCH","MERGE","NOT","ON","ON","OPTIONAL","OR","ORDER","REMOVE","RETURN","SET","SKIP","STARTS","THEN","UNION","UNWIND","WHEN","WHERE","WITH","XOR","YIELD"],builtinLiterals:["true","TRUE","false","FALSE","null","NULL"],builtinFunctions:["abs","acos","asin","atan","atan2","avg","ceil","coalesce","collect","cos","cot","count","degrees","e","endNode","exists","exp","floor","head","id","keys","labels","last","left","length","log","log10","lTrim","max","min","nodes","percentileCont","percentileDisc","pi","properties","radians","rand","range","relationships","replace","reverse","right","round","rTrim","sign","sin","size","split","sqrt","startNode","stDev","stDevP","substring","sum","tail","tan","timestamp","toBoolean","toFloat","toInteger","toLower","toString","toUpper","trim","type"],operators:["+","-","*","/","%","^","=","<>","<",">","<=",">=","->","<-","-->","<--"],escapes:/\\(?:[tbnrf\\"'`]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+/,octaldigits:/[0-7]+/,hexdigits:/[0-9a-fA-F]+/,tokenizer:{root:[[/[{}[\]()]/,"@brackets"],{include:"common"}],common:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/:[a-zA-Z_][\w]*/,"type.identifier"],[/[a-zA-Z_][\w]*(?=\()/,{cases:{"@builtinFunctions":"predefined.function"}}],[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":"keyword","@builtinLiterals":"predefined.literal","@default":"identifier"}}],[/`/,"identifier.escape","@identifierBacktick"],[/[;,.:|]/,"delimiter"],[/[<>=%+\-*/^]+/,{cases:{"@operators":"delimiter","@default":""}}]],numbers:[[/-?(@digits)[eE](-?(@digits))?/,"number.float"],[/-?(@digits)?\.(@digits)([eE]-?(@digits))?/,"number.float"],[/-?0x(@hexdigits)/,"number.hex"],[/-?0(@octaldigits)/,"number.octal"],[/-?(@digits)/,"number"]],strings:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@stringDouble"],[/'/,"string","@stringSingle"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/\/\/.*/,"comment"],[/[^/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[/*]/,"comment"]],stringDouble:[[/[^\\"]+/,"string"],[/@escapes/,"string"],[/\\./,"string.invalid"],[/"/,"string","@pop"]],stringSingle:[[/[^\\']+/,"string"],[/@escapes/,"string"],[/\\./,"string.invalid"],[/'/,"string","@pop"]],identifierBacktick:[[/[^\\`]+/,"identifier.escape"],[/@escapes/,"identifier.escape"],[/\\./,"identifier.escape.invalid"],[/`/,"identifier.escape","@pop"]]}};e.conf=i,e.language=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/dart-CmGfCvrO",["exports"],(function(e){"use strict";const n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:"(",close:")"},{open:'"',close:'"'},{open:"`",close:"`"}],folding:{markers:{start:/^\s*\s*#?region\b/,end:/^\s*\s*#?endregion\b/}}},t={defaultToken:"invalid",tokenPostfix:".dart",keywords:["abstract","dynamic","implements","show","as","else","import","static","assert","enum","in","super","async","export","interface","switch","await","extends","is","sync","break","external","library","this","case","factory","mixin","throw","catch","false","new","true","class","final","null","try","const","finally","on","typedef","continue","for","operator","var","covariant","Function","part","void","default","get","rethrow","while","deferred","hide","return","with","do","if","set","yield"],typeKeywords:["int","double","String","bool"],operators:["+","-","*","/","~/","%","++","--","==","!=",">","<",">=","<=","=","-=","/=","%=",">>=","^=","+=","*=","~/=","<<=","&=","!=","||","&&","&","|","^","~","<<",">>","!",">>>","??","?",":","|="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,"delimiter.bracket"],{include:"common"}],common:[[/[a-z_$][\w$]*/,{cases:{"@typeKeywords":"type.identifier","@keywords":"keyword","@default":"identifier"}}],[/[A-Z_$][\w\$]*/,"type.identifier"],{include:"@whitespace"},[/\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:"regexp",bracket:"@open",next:"@regexp"}],[/@[a-zA-Z]+/,"annotation"],[/[()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/\/.*$/,"comment.doc"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([gimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"\$]+/,"string"],[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"],[/\$\w+/,"identifier"]],string_single:[[/[^\\'\$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"],[/\$\w+/,"identifier"]]}};e.conf=n,e.language=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/dockerfile-CZqqYdch",["exports"],(function(e){"use strict";const o={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},n={defaultToken:"",tokenPostfix:".dockerfile",variable:/\${?[\w]+}?/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/(ONBUILD)(\s+)/,["keyword",""]],[/(ENV)(\s+)([\w]+)/,["keyword","",{token:"variable",next:"@arguments"}]],[/(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,{token:"keyword",next:"@arguments"}]],arguments:[{include:"@whitespace"},{include:"@strings"},[/(@variable)/,{cases:{"@eos":{token:"variable",next:"@popall"},"@default":"variable"}}],[/\\/,{cases:{"@eos":"","@default":""}}],[/./,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],whitespace:[[/\s+/,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],comment:[[/(^#.*$)/,"comment","@popall"]],strings:[[/\\'$/,"","@popall"],[/\\'/,""],[/'$/,"string","@popall"],[/'/,"string","@stringBody"],[/"$/,"string","@popall"],[/"/,"string","@dblStringBody"]],stringBody:[[/[^\\\$']/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/'$/,"string","@popall"],[/'/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]],dblStringBody:[[/[^\\\$"]/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/"$/,"string","@popall"],[/"/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]]}};e.conf=o,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/ecl-30fUercY",["exports"],(function(e){"use strict";const o={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}]},n={defaultToken:"",tokenPostfix:".ecl",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],pounds:["append","break","declare","demangle","end","for","getdatatype","if","inmodule","loop","mangle","onwarning","option","set","stored","uniquename"].join("|"),keywords:["__compressed__","after","all","and","any","as","atmost","before","beginc","best","between","case","cluster","compressed","compression","const","counter","csv","default","descend","embed","encoding","encrypt","end","endc","endembed","endmacro","enum","escape","except","exclusive","expire","export","extend","fail","few","fileposition","first","flat","forward","from","full","function","functionmacro","group","grouped","heading","hole","ifblock","import","in","inner","interface","internal","joined","keep","keyed","last","left","limit","linkcounted","literal","little_endian","load","local","locale","lookup","lzw","macro","many","maxcount","maxlength","min skew","module","mofn","multiple","named","namespace","nocase","noroot","noscan","nosort","not","noxpath","of","onfail","only","opt","or","outer","overwrite","packed","partition","penalty","physicallength","pipe","prefetch","quote","record","repeat","retry","return","right","right1","right2","rows","rowset","scan","scope","self","separator","service","shared","skew","skip","smart","soapaction","sql","stable","store","terminator","thor","threshold","timelimit","timeout","token","transform","trim","type","unicodeorder","unordered","unsorted","unstable","update","use","validate","virtual","whole","width","wild","within","wnotrim","xml","xpath"],functions:["abs","acos","aggregate","allnodes","apply","ascii","asin","assert","asstring","atan","atan2","ave","build","buildindex","case","catch","choose","choosen","choosesets","clustersize","combine","correlation","cos","cosh","count","covariance","cron","dataset","dedup","define","denormalize","dictionary","distribute","distributed","distribution","ebcdic","enth","error","evaluate","event","eventextra","eventname","exists","exp","fail","failcode","failmessage","fetch","fromunicode","fromxml","getenv","getisvalid","global","graph","group","hash","hash32","hash64","hashcrc","hashmd5","having","httpcall","httpheader","if","iff","index","intformat","isvalid","iterate","join","keydiff","keypatch","keyunicode","length","library","limit","ln","loadxml","local","log","loop","map","matched","matchlength","matchposition","matchtext","matchunicode","max","merge","mergejoin","min","nofold","nolocal","nonempty","normalize","nothor","notify","output","parallel","parse","pipe","power","preload","process","project","pull","random","range","rank","ranked","realformat","recordof","regexfind","regexreplace","regroup","rejected","rollup","round","roundup","row","rowdiff","sample","sequential","set","sin","sinh","sizeof","soapcall","sort","sorted","sqrt","stepped","stored","sum","table","tan","tanh","thisnode","topn","tounicode","toxml","transfer","transform","trim","truncate","typeof","ungroup","unicodeorder","variance","wait","which","workunit","xmldecode","xmlencode","xmltext","xmlunicode"],typesint:["integer","unsigned"].join("|"),typesnum:["data","qstring","string","unicode","utf8","varstring","varunicode"],typesone:["ascii","big_endian","boolean","data","decimal","ebcdic","grouped","integer","linkcounted","pattern","qstring","real","record","rule","set of","streamed","string","token","udecimal","unicode","unsigned","utf8","varstring","varunicode"].join("|"),operators:["+","-","/",":=","<","<>","=",">","\\","and","in","not","or"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/@typesint[4|8]/,"type"],[/#(@pounds)/,"type"],[/@typesone/,"type"],[/[a-zA-Z_$][\w-$]*/,{cases:{"@functions":"keyword.function","@keywords":"keyword","@operators":"operator"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\v\f\r\n]+/,""],[/\/\*/,"coLine truncated
@@ -0,0 +1,831 @@
define("vs/editor-KLE6jdfb", ["require", "exports","./editorWorkerHost-fVE1cjcC"], (function(require, _,l){"use strict";var Qs,vl,Nh,yl,Ll,Or,os,Pr,Dl,xl,El,Il,Tl,Nl,Rl,Ml,kh,Al,$o,Br,Ol;const eo=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new l.Emitter,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(o){o=Math.min(Math.max(-5,o),20),this._zoomLevel!==o&&(this._zoomLevel=o,this._onDidChangeZoomLevel.fire(this._zoomLevel))}},DP=l.isMacintosh?1.5:1.35,zb=8;class Ur{static _create(e,t,i,n,s,r,a,c,h){r===0?r=DP*i:r<zb&&(r=r*i),r=Math.round(r),r<zb&&(r=zb);const d=1+(h?0:eo.getZoomLevel()*.1);return i*=d,r*=d,s===TD&&(t==="normal"||t==="bold"?s=ID:(s=`'wght' ${parseInt(t,10)}`,t="normal")),new Ur({pixelRatio:c,fontFamily:e,fontWeight:t,fontSize:i,fontFeatureSettings:n,fontVariationSettings:s,lineHeight:r,letterSpacing:a})}constructor(e){this._bareFontInfoBrand=void 0,this.pixelRatio=e.pixelRatio,this.fontFamily=String(e.fontFamily),this.fontWeight=String(e.fontWeight),this.fontSize=e.fontSize,this.fontFeatureSettings=e.fontFeatureSettings,this.fontVariationSettings=e.fontVariationSettings,this.lineHeight=e.lineHeight|0,this.letterSpacing=e.letterSpacing}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.fontVariationSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){const e=Zi.fontFamily,t=Ur._wrapInQuotes(this.fontFamily);return this.fontFamily!==e?`${t}, ${e}`:t}static _wrapInQuotes(e){return/[,"']/.test(e)?e:/[+ ]/.test(e)?`"${e}"`:e}}const xP=2;class Af extends Ur{constructor(e,t){super(e),this._editorStylingBrand=void 0,this.version=xP,this.isTrusted=t,this.isMonospace=e.isMonospace,this.typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=e.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=e.canUseHalfwidthRightwardsArrow,this.spaceWidth=e.spaceWidth,this.middotWidth=e.middotWidth,this.wsmiddotWidth=e.wsmiddotWidth,this.maxDigitWidth=e.maxDigitWidth}equals(e){return this.fontFamily===e.fontFamily&&this.fontWeight===e.fontWeight&&this.fontSize===e.fontSize&&this.fontFeatureSettings===e.fontFeatureSettings&&this.fontVariationSettings===e.fontVariationSettings&&this.lineHeight===e.lineHeight&&this.letterSpacing===e.letterSpacing&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===e.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.maxDigitWidth===e.maxDigitWidth}}const ID="normal",TD="translate",Zi={fontFamily:l.isMacintosh?"Menlo, Monaco, 'Courier New', monospace":l.isWindows?"Consolas, 'Courier New', monospace":"'Droid Sans Mono', monospace",fontWeight:"normal",fontSize:l.isMacintosh?12:14,lineHeight:0,letterSpacing:0},zt={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}},ls=8;class ND{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class RD{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class Ye{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return Of(e,t)}compute(e,t,i){return i}}class Kh{constructor(e,t){this.newValue=e,this.didChange=t}}function Of(o,e){if(typeof o!="object"||typeof e!="object"||!o||!e)return new Kh(e,o!==e);if(Array.isArray(o)||Array.isArray(e)){const i=Array.isArray(o)&&Array.isArray(e)&&l.equals(o,e);return new Kh(e,!i)}let t=!1;for(const i in e)if(e.hasOwnProperty(i)){const n=Of(o[i],e[i]);n.didChange&&(o[i]=n.newValue,t=!0)}return new Kh(o,t)}class Go{constructor(e,t){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=t}applyUpdate(e,t){return Of(e,t)}validate(e){return this.defaultValue}}class Fl{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return Of(e,t)}compute(e,t,i){return i}}function $(o,e){return typeof o>"u"?e:o==="false"?!1:!!o}class se extends Fl{constructor(e,t,i,n=void 0){typeof n<"u"&&(n.type="boolean",n.default=i),super(e,t,i,n)}validate(e){return $(e,this.defaultValue)}}function to(o,e,t,i){if(typeof o=="string"&&(o=parseInt(o,10)),typeof o!="number"||isNaN(o))return e;let n=o;return n=Math.max(t,n),n=Math.min(i,n),n|0}class Ie extends Fl{static clampedInt(e,t,i,n){return to(e,t,i,n)}constructor(e,t,i,n,s,r=void 0){typeof r<"u"&&(r.type="integer",r.default=i,r.minimum=n,r.maximum=s),super(e,t,i,r),this.minimum=n,this.maximum=s}validate(e){return Ie.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}function EP(o,e,t,i){if(typeof o>"u")return e;const n=xi.float(o,e)Line truncated
- Use 0 to automatically compute the line height from the font size.
- Values between 0 and 8 will be used as a multiplier with the font size.
- Values greater than or equal to 8 will be used as effective values.`)},0,150)}compute(e,t,i){return e.fontInfo.lineHeight}}class ZP extends Ye{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:"none",renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,markSectionHeaderRegex:"\\bMARK:\\s*(?<separator>-?)\\s*(?<label>.*)$",sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(81,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:l.localize(300,"Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"string",enum:["none","mouseover","scroll"],enumDescriptions:[l.localize(301,"The minimap is always shown."),l.localize(302,"The minimap is hidden when mouse is not over the minimap and shown when mouse is over the minimap."),l.localize(303,"The minimap is only shown when the editor is scrolled")],default:e.autohide,description:l.localize(304,"Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[l.localize(305,"The minimap has the same size as the editor contents (and might scroll)."),l.localize(306,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),l.localize(307,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:l.localize(308,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:l.localize(309,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:l.localize(310,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:l.localize(311,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:l.localize(312,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:l.localize(313,"Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:e.showRegionSectionHeaders,description:l.localize(314,"Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:e.showMarkSectionHeaders,description:l.localize(315,"Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.markSectionHeaderRegex":{type:"string",default:e.markSectionHeaderRegex,description:l.localize(316,"Defines the regular expression used to find section headers in comments. The regex must contain a named match group `label` (written as `(?<label>.+)`) that encapsulates the section header, otherwise it will not work. Optionally you can include another match group named `separator`. Use \\n in the pattern to match multi-line headers.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:e.sectionHeaderFontSize,description:l.localize(317,"Controls the font size of section headers in the minimap.")},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:e.sectionHeaderLetterSpacing,description:l.localize(318,"Controls the amount of space (in pixels) between characters of section header. This helps the readability of the header in small font sizes.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;let i=this.defaultValue.markSectionHeaderRegex;const n=t.markSectionHeaderRegex;if(typeof n=="string")try{new RegExp(n,"d"),i=n}catch{}return{enabled:$(t.enabled,this.defaultValue.enabled),autohide:Fe(t.autohide,this.defaultValue.autohide,["none","mouseover","scroll"]),size:Fe(t.size,this.defaultValue.size,["proportional","fill","fit"]),side:Fe(t.side,this.defaultValue.side,["right","left"]),showSlider:Fe(t.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:$(t.renderCharacters,this.defaultValue.renderCharacters),scale:Ie.clampedInt(t.scale,1,1,3),maxColumn:Ie.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:$(t.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:$(t.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),markSectionHeaderRegex:i,sectionHeaderFontSize:xi.clamp(xi.float(t.sectionHeaderFontSize,this.defaultValue.sectionHeaderFontSize),4,32),sectionHeaderLetterSpacing:xi.clamp(xi.float(t.sectionHeaderLetterSpacing,this.defaultValue.sectionHeaderLetterSpacing),0,5)}}}function QP(o){return o==="ctrlCmd"?l.isMacintosh?"metaKey":"ctrlKey":"altKey"}class XP extends Ye{constructor(){super(96,"padding",{top:0,bottom:0 Line truncated
`),n=Fk(i[t+1]);if(n)return new Xb(n.fileName,n.line,n.column,n.id)}constructor(e,t,i,n){this.fileName=e,this.line=t,this.column=i,this.id=n}}function Fk(o){const e=o.match(/\((.*):(\d+):(\d+)\)/);if(e)return{fileName:e[1],line:parseInt(e[2]),column:parseInt(e[3]),id:o};const t=o.match(/at ([^\(\)]*):(\d+):(\d+)/);if(t)return{fileName:t[1],line:parseInt(t[2]),column:parseInt(t[3]),id:o}}let Jb;function Bk(o){Jb=o}let jD;function zk(o){jD=o}class qD{get TChange(){return null}reportChanges(){this.get()}read(e){return e?e.readObservable(this):this.get()}map(e,t,i=_.DebugLocation.ofCaller()){const n=t===void 0?void 0:e,s=t===void 0?e:t;return Jb({owner:n,debugName:()=>{const r=Zb(s);if(r!==void 0)return r;const c=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(s.toString());if(c)return`${this.debugName}.${c[2]}`;if(!n)return`${this.debugName} (mapped)`},debugReferenceFn:s},r=>s(this.read(r),r),i)}flatten(){return Jb({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},e=>this.read(e).read(e))}recomputeInitiallyAndOnChange(e,t){return e.add(jD(this,t)),this}}class Kl extends qD{constructor(e){super(),this._observers=new Set,Wt()?.handleObservableCreated(this,e)}addObserver(e){const t=this._observers.size;this._observers.add(e),t===0&&this.onFirstObserverAdded(),t!==this._observers.size&&Wt()?.handleOnListenerCountChanged(this,this._observers.size)}removeObserver(e){const t=this._observers.delete(e);t&&this._observers.size===0&&this.onLastObserverRemoved(),t&&Wt()?.handleOnListenerCountChanged(this,this._observers.size)}onFirstObserverAdded(){}onLastObserverRemoved(){}debugGetObservers(){return this._observers}}function W(o,e,t=_.DebugLocation.ofCaller()){let i;return typeof o=="string"?i=new Vt(void 0,o,void 0):i=new Vt(o,void 0,void 0),new Jh(i,e,Ei,t)}class Jh extends Kl{get debugName(){return this._debugNameData.getDebugName(this)??"ObservableValue"}constructor(e,t,i,n){super(n),this._debugNameData=e,this._equalityComparator=i,this._value=t,Wt()?.handleObservableUpdated(this,{hadValue:!1,newValue:t,change:void 0,didChange:!0,oldValue:void 0})}get(){return this._value}set(e,t,i){if(i===void 0&&this._equalityComparator(this._value,e))return;let n;t||(t=n=new $l(()=>{},()=>`Setting ${this.debugName}`));try{const s=this._value;this._setValue(e),Wt()?.handleObservableUpdated(this,{oldValue:s,newValue:e,change:i,didChange:!0,hadValue:!0});for(const r of this._observers)t.updateObserver(r,this),r.handleChange(this,i)}finally{n&&n.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}debugGetState(){return{value:this._value}}debugSetValue(e){this._value=e}}function Wb(o,e,t=_.DebugLocation.ofCaller()){let i;return typeof o=="string"?i=new Vt(void 0,o,void 0):i=new Vt(o,void 0,void 0),new Vk(i,e,Ei,t)}class Vk extends Jh{_setValue(e){this._value!==e&&(this._value&&this._value.dispose(),this._value=e)}dispose(){this._value?.dispose()}}class Uk extends Kl{get debugName(){return this._debugNameData.getDebugName(this)??"LazyObservableValue"}constructor(e,t,i,n){super(n),this._debugNameData=e,this._equalityComparator=i,this._isUpToDate=!0,this._deltas=[],this._updateCounter=0,this._value=t}get(){return this._update(),this._value}_update(){if(!this._isUpToDate)if(this._isUpToDate=!0,this._deltas.length>0){for(const e of this._deltas){Wt()?.handleObservableUpdated(this,{change:e,didChange:!0,oldValue:"(unknown)",newValue:this._value,hadValue:!0});for(const t of this._observers)t.handleChange(this,e)}this._deltas.length=0}else{Wt()?.handleObservableUpdated(this,{change:void 0,didChange:!0,oldValue:"(unknown)",newValue:this._value,hadValue:!0});for(const e of this._observers)e.handleChange(this,void 0)}}_beginUpdate(){if(this._updateCounter++,this._updateCounter===1)for(const e of this._observers)e.beginUpdate(this)}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){this._update();const e=[...this._observers];for(const t of e)t.endUpdate(this)}}addObserver(e){const t=!this._observers.has(e)&&this._updateCounter>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this._observers.has(e)&&this._updateCounter>0;super.removeObserver(e),t&&e.endUpdate(this)}set(e,t,i){if(i===void 0&&this._equalityComparator(this._value,e))return;let n;t||(t=n=new $l(()=>{},()=>`Setting ${this.debugName}`));try{if(this._isUpToDate=!1,this._setValue(e),i!==void 0&&this._deltas.push(i),t.updateObserver({beginUpdate:()=>this._beginUpdate(),endUpdate:()=>this._endUpdate(),handleChange:(s,r)=>{},handlePossibleChange:s=>{}},this),this._updateCounter>1)for(const s of this._observers)s.handlePossibleChange(this)}finally{n&&n.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}function Wh(o,e,t=_.DebugLocation.ofCaller()){return o.lazy?new Uk(new Vt(o.owner,o.debugName,void 0),e,o.equalsFn??Ei,t):new Jh(new Vt(o.owner,o.debugName,void 0),e,o.equalsFn??Ei,t)}function $k(o){switch(o){case 1:return Line truncated
| KEY '=~' REGEX
| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return this._check(e)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,i){const n=l.localize(1745,`Expected: {0}
Received: '{1}'.`,e,Wr.getLexeme(t)),s=t.offset,r=Wr.getLexeme(t);return this._parsingErrors.push({message:n,offset:s,lexeme:r,additionalInfo:i}),Qs._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}},Qs._parseError=new Error,Qs);const hD=class hD{static false(){return ui.INSTANCE}static true(){return Ni.INSTANCE}static has(e){return Hr.create(e)}static equals(e,t){return Yl.create(e,t)}static notEquals(e,t){return ig.create(e,t)}static regex(e,t){return dd.create(e,t)}static in(e,t){return eg.create(e,t)}static notIn(e,t){return tg.create(e,t)}static not(e){return ea.create(e)}static and(...e){return ta.create(e,null,!0)}static or(...e){return ro.create(e,null,!0)}static deserialize(e){return e==null?void 0:this._parser.parse(e)}};hD._parser=new iB({regexParsingWithErrorRecovery:!1});let de=hD;function hd(o,e){return o.cmp(e)}const G_=class G_{constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return Ni.INSTANCE}};G_.INSTANCE=new G_;let ui=G_;const j_=class j_{constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return ui.INSTANCE}};j_.INSTANCE=new j_;let Ni=j_;class Hr{static create(e,t=null){const i=Ht.get(e);return typeof i=="boolean"?i?Ni.INSTANCE:ui.INSTANCE:new Hr(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:yx(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=Ht.get(this.key);return typeof e=="boolean"?e?Ni.INSTANCE:ui.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=ea.create(this.key,this)),this.negated}}class Yl{static create(e,t,i=null){if(typeof t=="boolean")return t?Hr.create(e,i):ea.create(e,i);const n=Ht.get(e);return typeof n=="boolean"?t===(n?"true":"false")?Ni.INSTANCE:ui.INSTANCE:new Yl(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:ia(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=Ht.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?Ni.INSTANCE:ui.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=ig.create(this.key,this.value,this)),this.negated}}class eg{static create(e,t){return new eg(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:ia(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type?this.key===e.key&&this.valueKey===e.valueKey:!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);if(Array.isArray(t)){if(t.includes(i))return!0;if(l.isWindows&&typeof i=="string"&&i.startsWith("file:///")){const n=i.toLowerCase();return t.some(s=>typeof s=="string"&&s.toLowerCase()===n)}return!1}if(typeof i=="string"&&typeof t=="object"&&t!==null){if(YF.call(t,i))return!0;if(l.isWindows&&i.startsWith("file:///")){const n=i.toLowerCase();return Object.keys(t).some(s=>s.toLowerCase()===n)}return!1}return!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=tg.create(this.key,this.valueKey)),this.negated}}class tg{static create(e,t){return new tg(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=eg.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type?this._negated.equals(e._negated):!1}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class ig{static create(e,t,i=null){if(typeof t=="boolean")return t?ea.create(e,i):Hr.create(e,i);const n=Ht.get(e);return typeof n=="boolean"?t===(n?"true":"false")?ui.INSTANCE:Ni.INSTANCE:new ig(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:ia(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=Ht.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?ui.INSTANCE:Ni.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){ret Line truncated
`,Th.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS=`'"\`;:.,=}])>
`;let CC=Th;function oa(o,e){const t=o.getCount(),i=o.findTokenIndexAtOffset(e),n=o.getLanguageId(i);let s=i;for(;s+1<t&&o.getLanguageId(s+1)===n;)s++;let r=i;for(;r>0&&o.getLanguageId(r-1)===n;)r--;return new OB(o,n,r,s+1,o.getStartOffset(r),o.getEndOffset(s))}class OB{constructor(e,t,i,n,s,r){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=i,this._lastTokenIndex=n,this.firstCharOffset=s,this._lastCharOffset=r,this.languageIdCodec=e.languageIdCodec}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getLineLength(){return this._lastCharOffset-this.firstCharOffset}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}toIViewLineTokens(){return this._actual.sliceAndInflate(this.firstCharOffset,this._lastCharOffset,0)}}function fs(o){return(o&3)!==0}let vC;function Kx(){return vC||(vC=new TextDecoder("UTF-16LE")),vC}let wC;function PB(){return wC||(wC=new TextDecoder("UTF-16BE")),wC}let SC;function Gx(){return SC||(SC=l.isLittleEndian()?Kx():PB()),SC}function kB(o,e,t){const i=new Uint16Array(o.buffer,e,t);return t>0&&(i[0]===65279||i[0]===65534)?FB(o,e,t):Kx().decode(i)}function FB(o,e,t){const i=[];let n=0;for(let s=0;s<t;s++){const r=l.readUInt16LE(o,e);e+=2,i[n++]=String.fromCharCode(r)}return i.join("")}class ra{constructor(e){this._capacity=e|0,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return this._completedStrings!==null?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(this._bufferLength===0)return"";const e=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return Gx().decode(e)}_flushBuffer(){const e=this._buildBuffer();this._bufferLength=0,this._completedStrings===null?this._completedStrings=[e]:this._completedStrings[this._completedStrings.length]=e}appendCharCode(e){const t=this._capacity-this._bufferLength;t<=1&&(t===0||l.isHighSurrogate(e))&&this._flushBuffer(),this._buffer[this._bufferLength++]=e}appendASCIICharCode(e){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=e}appendString(e){const t=e.length;if(this._bufferLength+t>=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=e;return}for(let i=0;i<t;i++)this._buffer[this._bufferLength++]=e.charCodeAt(i)}}class pg{constructor(e,t,i,n,s,r){this._richEditBracketBrand=void 0,this.languageId=e,this.index=t,this.open=i,this.close=n,this.forwardRegex=s,this.reversedRegex=r,this._openSet=pg._toSet(this.open),this._closeSet=pg._toSet(this.close)}isOpen(e){return this._openSet.has(e)}isClose(e){return this._closeSet.has(e)}static _toSet(e){const t=new Set;for(const i of e)t.add(i);return t}}function BB(o){const e=o.length;o=o.map(r=>[r[0].toLowerCase(),r[1].toLowerCase()]);const t=[];for(let r=0;r<e;r++)t[r]=r;const i=(r,a)=>{const[c,h]=r,[d,u]=a;return c===d||c===u||h===d||h===u},n=(r,a)=>{const c=Math.min(r,a),h=Math.max(r,a);for(let d=0;d<e;d++)t[d]===h&&(t[d]=c)};for(let r=0;r<e;r++){const a=o[r];for(let c=r+1;c<e;c++){const h=o[c];i(a,h)&&n(t[r],t[c])}}const s=[];for(let r=0;r<e;r++){const a=[],c=[];for(let h=0;h<e;h++)if(t[h]===r){const[d,u]=o[h];a.push(d),c.push(u)}a.length>0&&s.push({open:a,close:c})}return s}class zB{constructor(e,t){this._richEditBracketsBrand=void 0;const i=BB(t);this.brackets=i.map((n,s)=>new pg(e,s,n.open,n.close,VB(n.open,n.close,i,s),UB(n.open,n.close,i,s))),this.forwardRegex=$B(this.brackets),this.reversedRegex=KB(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const n of this.brackets){for(const s of n.open)this.textIsBracket[s]=n,this.textIsOpenBracket[s]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,s.length);for(const s of n.close)this.textIsBracket[s]=n,this.textIsOpenBracket[s]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,s.length)}}}function jx(o,e,t,i){for(let n=0,s=e.length;n<s;n++){if(n===t)continue;const r=e[n];for(const a of r.open)a.indexOf(o)>=0&&i.push(a);for(const a of r.close)a.indexOf(o)>=0&&i.push(a)}}function qx(o,e){return o.length-e.length}function _g(o){if(o.length<=1)return o;const e=[],t=new Set;for(const i of o)t.has(i)||(e.push(i),t.add(i));return e}function VB(o,e,t,i){let n=[];n=n.concat(o),n=n.concat(e);for(let s=0,r=n.length;s<r;s++)jx(n[s],t,i,n);return n=_g(n),n.sort(qx),n.reverse(),md(n)}function UB(o,e,t,i){let n=[];n=n.concat(o),n=n.concat(e);for(let s=0,r=n.length;s<r;s++)jx(n[s],t,i,n);return n=_g(n),n.sort(qx),n.reverse(),md(n.map(yC))}function $B(o){let e=[];for(c Line truncated
`},"[yaml]":{"editor.insertSpaces":!0,"editor.tabSize":2}}}]);class oz{constructor(e,t){this.languageId=e;const i=t.brackets?tE(t.brackets):[],n=new l.CachedFunction(a=>{const c=new Set;return{info:new rz(this,a,c),closing:c}}),s=new l.CachedFunction(a=>{const c=new Set,h=new Set;return{info:new az(this,a,c,h),opening:c,openingColorized:h}});for(const[a,c]of i){const h=n.get(a),d=s.get(c);h.closing.add(d.info),d.opening.add(h.info)}const r=t.colorizedBracketPairs?tE(t.colorizedBracketPairs):i.filter(a=>!(a[0]==="<"&&a[1]===">"));for(const[a,c]of r){const h=n.get(a),d=s.get(c);h.closing.add(d.info),d.openingColorized.add(h.info),d.opening.add(h.info)}this._openingBrackets=new Map([...n.cachedValues].map(([a,c])=>[a,c.info])),this._closingBrackets=new Map([...s.cachedValues].map(([a,c])=>[a,c.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){const t=Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]);return md(t,e)}}function tE(o){return o.filter(([e,t])=>e!==""&&t!=="")}class iE{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class rz extends iE{constructor(e,t,i){super(e,t),this.openedBrackets=i,this.isOpeningBracket=!0}}class az extends iE{constructor(e,t,i,n){super(e,t),this.openingBrackets=i,this.openingColorizedBrackets=n,this.isOpeningBracket=!1}closes(e){return e.config!==this.config?!1:this.openingBrackets.has(e)}closesColorized(e){return e.config!==this.config?!1:this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var lz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nE=function(o,e){return function(t,i){e(t,i,o)}};class xC{constructor(e){this.languageId=e}affects(e){return this.languageId?this.languageId===e:!0}}const ms=le("languageConfigurationService");let EC=class extends l.Disposable{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new uz),this.onDidChangeEmitter=this._register(new l.Emitter),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const i=new Set(Object.values(IC));this._register(this.configurationService.onDidChangeConfiguration(n=>{const s=n.change.keys.some(a=>i.has(a)),r=n.change.overrides.filter(([a,c])=>c.some(h=>i.has(h))).map(([a])=>a);if(s)this.configurations.clear(),this.onDidChangeEmitter.fire(new xC(void 0));else for(const a of r)this.languageService.isRegisteredLanguageId(a)&&(this.configurations.delete(a),this.onDidChangeEmitter.fire(new xC(a)))})),this._register(this._registry.onDidChange(n=>{this.configurations.delete(n.languageId),this.onDidChangeEmitter.fire(new xC(n.languageId))}))}register(e,t,i){return this._registry.register(e,t,i)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=cz(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};EC=lz([nE(0,Ge),nE(1,yt)],EC);function cz(o,e,t,i){let n=e.getLanguageConfiguration(o);if(!n){if(!i.isRegisteredLanguageId(o))return new Wl(o,{});n=new Wl(o,{})}const s=hz(n.languageId,t),r=rE([n.underlyingConfig,s]);return new Wl(n.languageId,r)}const IC={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function hz(o,e){const t=e.getValue(IC.brackets,{overrideIdentifier:o}),i=e.getValue(IC.colorizedBracketPairs,{overrideIdentifier:o});return{brackets:sE(t),colorizedBracketPairs:sE(i)}}function sE(o){if(Array.isArray(o))return o.map(e=>{if(!(!Array.isArray(e)||e.length!==2))return[e[0],e[1]]}).filter(e=>!!e)}function oE(o,e,t){const i=o.getLineContent(e);let n=l.getLeadingWhitespace(i);return n.length>t-1&&(n=n.substring(0,t-1)),n}class dz{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const i=new aE(e,t,++this._order);return this._entries.push(i),this._resolved=null,l.markAsSingleton(l.toDisposable(()=>{for(let n=0;n<this._entries.length;n++)if(this._entries[n]===i){this._entries.splice(n,1),this._resolved=null;break}}))}getResolvedConfiguration(){if(!this._resolved){const e=this._resolve();e&&(this._resolved=new Wl(this.languageId,e))}return this._resolved}_resolve(){return this._entries.length===0?null:(this._entries.sort(aE.cmp),rE(this._entries.map(e=>e.configuration)))}}function rE(o){let e={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void Line truncated
</span></span>`):e.appendString("<span><span></span></span>"),new xg(new _s(0,0),0)}return Rz(Lz(o),e)}class Sz{constructor(e,t,i){this.characterMapping=e,this.html=t,this.containsForeignElements=i}}function Eg(o){const e=new ra(1e4),t=bd(o,e);return new Sz(t.characterMapping,e.build(),t.containsForeignElements)}class yz{constructor(e,t,i,n,s,r,a,c,h,d,u,f,g,m,p){this.fontIsMonospace=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.len=n,this.isOverflowing=s,this.overflowingCharCount=r,this.parts=a,this.containsForeignElements=c,this.fauxIndentLength=h,this.tabSize=d,this.startVisibleColumn=u,this.spaceWidth=f,this.renderSpaceCharCode=g,this.renderWhitespace=m,this.renderControlCharacters=p}}function Lz(o){const e=o.lineContent;let t,i,n;o.stopRenderingLineAfter!==-1&&o.stopRenderingLineAfter<e.length?(t=!0,i=e.length-o.stopRenderingLineAfter,n=o.stopRenderingLineAfter):(t=!1,i=0,n=e.length);let s=Dz(e,o.containsRTL,o.lineTokens,o.fauxIndentLength,n);o.renderControlCharacters&&!o.isBasicASCII&&(s=Iz(e,s)),(o.renderWhitespace===4||o.renderWhitespace===1||o.renderWhitespace===2&&o.selectionsOnLine||o.renderWhitespace===3&&!o.continuesWithWrappedLine)&&(s=Tz(o,e,n,s));let r=0;if(o.lineDecorations.length>0){for(let a=0,c=o.lineDecorations.length;a<c;a++){const h=o.lineDecorations[a];h.type===3||h.type===1?r|=1:h.type===2&&(r|=2)}s=Nz(e,n,s,o.lineDecorations)}return o.containsRTL?s=Ez(e,s):s=xz(e,s,!o.isBasicASCII||o.fontLigatures),new yz(o.useMonospaceOptimizations,o.canUseHalfwidthRightwardsArrow,e,n,t,i,s,r,o.fauxIndentLength,o.tabSize,o.startVisibleColumn,o.spaceWidth,o.renderSpaceCharCode,o.renderWhitespace,o.renderControlCharacters)}function Dz(o,e,t,i,n){const s=[];let r=0;i>0&&(s[r++]=new bt(i,"",0,!1));let a=i;for(let c=0,h=t.getCount();c<h;c++){const d=t.getEndOffset(c);if(d<=i)continue;const u=t.getClassName(c);if(d>=n){const g=e?l.containsRTL(o.substring(a,n)):!1;s[r++]=new bt(n,u,0,g);break}const f=e?l.containsRTL(o.substring(a,d)):!1;s[r++]=new bt(d,u,0,f),a=d}return s}function xz(o,e,t){let i=0;const n=[];let s=0;if(t)for(let r=0,a=e.length;r<a;r++){const c=e[r],h=c.endIndex;if(i+50<h){const d=c.type,u=c.metadata,f=c.containsRTL;let g=-1,m=i;for(let p=i;p<h;p++)o.charCodeAt(p)===32&&(g=p),g!==-1&&p-m>=50&&(n[s++]=new bt(g+1,d,u,f),m=g+1,g=-1);m!==h&&(n[s++]=new bt(h,d,u,f))}else n[s++]=c;i=h}else for(let r=0,a=e.length;r<a;r++){const c=e[r],h=c.endIndex,d=h-i;if(d>50){const u=c.type,f=c.metadata,g=c.containsRTL,m=Math.ceil(d/50);for(let p=1;p<m;p++){const b=i+p*50;n[s++]=new bt(b,u,f,g)}n[s++]=new bt(h,u,f,g)}else n[s++]=c;i=h}return n}function Ez(o,e){if(e.length===0)return e;const t=e[0];if(!t.containsRTL)return e;const i=t.endIndex;let n=0;for(let r=0;r<i;r++){const a=o.charCodeAt(r);if(a!==32&&a!==9){n=r;break}}if(n===0)return e;const s=[];s.push(new bt(n,t.type,t.metadata,!1)),s.push(new bt(i,t.type,t.metadata,t.containsRTL));for(let r=1;r<e.length;r++)s.push(e[r]);return s}function gE(o){return o<32?o!==9:o===127||o>=8234&&o<=8238||o>=8294&&o<=8297||o>=8206&&o<=8207||o===1564}function Iz(o,e){const t=[];let i=new bt(0,"",0,!1),n=0;for(const s of e){const r=s.endIndex;for(;n<r;n++){const a=o.charCodeAt(n);gE(a)&&(n>i.endIndex&&(i=new bt(n,s.type,s.metadata,s.containsRTL),t.push(i)),i=new bt(n+1,"mtkcontrol",s.metadata,!1),t.push(i))}n>i.endIndex&&(i=new bt(r,s.type,s.metadata,s.containsRTL),t.push(i))}return t}function Tz(o,e,t,i){const n=o.continuesWithWrappedLine,s=o.fauxIndentLength,r=o.tabSize,a=o.startVisibleColumn,c=o.useMonospaceOptimizations,h=o.selectionsOnLine,d=o.renderWhitespace===1,u=o.renderWhitespace===3,f=o.renderSpaceWidth!==o.spaceWidth,g=[];let m=0,p=0,b=i[p].type,v=i[p].containsRTL,C=i[p].endIndex;const w=i.length;let S=!1,L=l.firstNonWhitespaceIndex(e),D;L===-1?(S=!0,L=t,D=t):D=l.lastNonWhitespaceIndex(e);let x=!1,I=0,T=h&&h[I],M=a%r;for(let P=s;P<t;P++){const k=e.charCodeAt(P);T&&T.endExclusive<=P&&(I++,T=h&&h[I]);let U;if(P<L||P>D)U=!0;else if(k===9)U=!0;else if(k===32)if(d)if(x)U=!0;else{const B=P+1<t?e.charCodeAt(P+1):0;U=B===32||B===9}else U=!0;else U=!1;if(U&&h&&(U=!!T&&T.start<=P&&P<T.endExclusive),U&&u&&(U=S||P>D),U&&v&&P>=L&&P<=D&&(U=!1),x){if(!U||!c&&M>=r){if(f){const B=m>0?g[m-1].endIndex:s;for(let G=B+1;G<=P;G++)g[m++]=new bt(G,"mtkw",1,!1)}else g[m++]=new bt(P,"mtkw",1,!1);M=M%r}}else(P===C||U&&P>s)&&(g[m++]=new bt(P,b,0,v),M=M%r);for(k===9?M=r:l.isFullWidthCharacter(k)?M+=2:M++,x=U;P===C&&(p++,p<w);)b=i[p].type,v=i[p].containsRTL,C=i[p].endIndex}let O=!1;if(x)if(n&&d){const P=t>0?e.charCodeAt(t-1):0,k=t>1?e.charCodeAt(t-2):0;P===32&&k!==32&&k!==9||(O=!0)}else O=!0;if(O)if(f){const P=m>0?g[m-1].endIndex:s;for(let k=P+1;k<=t;k++)g[m++]=new bt(k,"mtkw",1,!1)}else g[m++]=new bt(t,"mtkw",1,!1);else g[m++]=new bt(t,b,0,v);return g}function Nz(o,e,t,i){i.sort(Ji.compare);const n=wz.normalize(o,i),s=n.length;let r=0;const a=[];let c=0,h=0;for(let u=0,f=t.length;u<f;u++){const g=t[u],m=g.endIndex,p=g.type,b=g.metadata,v=g.containsRTL;for(;r<s&&n[r].stLine truncated
`:e,c=a.length;let h=i.embeddedLanguageData,d=i.stack,u=0,f=null,g=!0;for(;g||u<c;){const m=u,p=d.depth,b=f?f.groups.length:0,v=d.state;let C=null,w=null,S=null,L=null,D=null;if(f){C=f.matches;const T=f.groups.shift();w=T.matched,S=T.action,L=f.rule,f.groups.length===0&&(f=null)}else{if(!g&&u>=c)break;g=!1;let T=this._lexer.tokenizer[v];if(!T&&(T=Ig(this._lexer,v),!T))throw je(this._lexer,"tokenizer state is not defined: "+v);const M=a.substr(u);for(const O of T)if((u===0||!O.matchOnlyAtLineStart)&&(C=M.match(O.resolveRegex(v)),C)){w=C[0],S=O.action;break}}if(C||(C=[""],w=""),S||(u<c&&(C=[a.charAt(u)],w=C[0]),S=this._lexer.defaultToken),w===null)break;for(u+=w.length;kz(S)&&_E(S)&&S.test;)S=S.test(w,C,v,u===c);let x=null;if(typeof S=="string"||Array.isArray(S))x=S;else if(S.group)x=S.group;else if(S.token!==null&&S.token!==void 0){if(S.tokenSubst?x=Ho(this._lexer,S.token,w,C,v):x=S.token,S.nextEmbedded)if(S.nextEmbedded==="@pop"){if(!h)throw je(this._lexer,"cannot pop embedded language if not inside one");h=null}else{if(h)throw je(this._lexer,"cannot enter embedded language from within an embedded language");D=Ho(this._lexer,S.nextEmbedded,w,C,v)}if(S.goBack&&(u=Math.max(0,u-S.goBack)),S.switchTo&&typeof S.switchTo=="string"){let T=Ho(this._lexer,S.switchTo,w,C,v);if(T[0]==="@"&&(T=T.substr(1)),Ig(this._lexer,T))d=d.switchTo(T);else throw je(this._lexer,"trying to switch to a state '"+T+"' that is undefined in rule: "+this._safeRuleName(L))}else{if(S.transform&&typeof S.transform=="function")throw je(this._lexer,"action.transform not supported");if(S.next)if(S.next==="@push"){if(d.depth>=this._lexer.maxStack)throw je(this._lexer,"maximum tokenizer stack size reached: ["+d.state+","+d.parent.state+",...]");d=d.push(v)}else if(S.next==="@pop"){if(d.depth<=1)throw je(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(L));d=d.pop()}else if(S.next==="@popall")d=d.popall();else{let T=Ho(this._lexer,S.next,w,C,v);if(T[0]==="@"&&(T=T.substr(1)),Ig(this._lexer,T))d=d.push(T);else throw je(this._lexer,"trying to set a next state '"+T+"' that is undefined in rule: "+this._safeRuleName(L))}}S.log&&typeof S.log=="string"&&Fz(this._lexer,this._lexer.languageId+": "+Ho(this._lexer,S.log,w,C,v))}if(x===null)throw je(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(L));const I=T=>{const M=this._languageService.getLanguageIdByLanguageName(T)||this._languageService.getLanguageIdByMimeType(T)||T,O=this._getNestedEmbeddedLanguageData(M);if(u<c){const P=e.substr(u);return this._nestedTokenize(P,t,er.create(d,O),n+u,s)}else return er.create(d,O)};if(Array.isArray(x)){if(f&&f.groups.length>0)throw je(this._lexer,"groups cannot be nested: "+this._safeRuleName(L));if(C.length!==x.length+1)throw je(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(L));let T=0;for(let M=1;M<C.length;M++)T+=C[M].length;if(T!==w.length)throw je(this._lexer,"with groups, all characters should be matched in consecutive groups in rule: "+this._safeRuleName(L));f={rule:L,matches:C,groups:[]};for(let M=0;M<x.length;M++)f.groups[M]={action:x[M],matched:C[M+1]};u-=w.length;continue}else{if(x==="@rematch"&&(u-=w.length,w="",C=null,x="",D!==null))return I(D);if(w.length===0){if(c===0||p!==d.depth||v!==d.state||(f?f.groups.length:0)!==b)continue;throw je(this._lexer,"no progress in tokenizer in rule: "+this._safeRuleName(L))}let T=null;if(pE(x)&&x.indexOf("@brackets")===0){const M=x.substr(9),O=Kz(this._lexer,w);if(!O)throw je(this._lexer,"@brackets token returned but no bracket defined as: "+w);T=bE(O.token+M)}else{const M=x===""?"":x+this._lexer.tokenPostfix;T=bE(M)}m<r&&s.emit(m+n,T)}if(D!==null)return I(D)}return er.create(d,h)}_getNestedEmbeddedLanguageData(e){if(!this._languageService.isRegisteredLanguageId(e))return new ic(e,Hl);e!==this._languageId&&(this._languageService.requestBasicLanguageFeatures(e),l.TokenizationRegistry.getOrCreate(e),this._embeddedLanguages[e]=!0);const t=l.TokenizationRegistry.get(e);return t?new ic(e,t.getInitialState()):new ic(e,Hl)}};Sd=BC=Vz([Uz(4,Ge)],Sd);function Kz(o,e){if(!e)return null;e=co(o,e);const t=o.brackets;for(const i of t){if(i.open===e)return{token:i.token,bracketType:1};if(i.close===e)return{token:i.token,bracketType:-1}}return null}const Gz=lo("standaloneColorizer",{createHTML:o=>o});class zC{static colorizeElement(e,t,i,n){n=n||{};const s=n.theme||"vs",r=n.mimeType||i.getAttribute("lang")||i.getAttribute("data-lang");if(!r)return console.error("Mode not detected"),Promise.resolve();const a=t.getLanguageIdByMimeType(r)||r;e.setTheme(s);const c=i.firstChild?i.firstChild.nodeValue:"";i.className+=" "+s;const h=d=>{const u=Gz?.createHTML(d)??d;i.innerHTML=u};return this.colorize(t,c||"",a,n).then(h,d=>console.error(d))}static async colorize(e,t,i,n){const s=e.languageIdCodec;let r=4;n&&typeof n.tabSize=="number"&&(r=n.tabSize),l.startsWithUTF8BOM(t)&&(t=t.substr(1));const a=l.splitLines(t);if(!e.isRegister Line truncated
`)}}const kg=new gV;St.add(IE.ColorContribution,kg);function E(o,e,t,i,n){return kg.registerColor(o,e,t,i,n)}function mV(o,e){switch(o.op){case 0:return Cn(o.value,e)?.darken(o.factor);case 1:return Cn(o.value,e)?.lighten(o.factor);case 2:return Cn(o.value,e)?.transparent(o.factor);case 7:{const t=Cn(o.color,e)||l.Color.transparent,i=Cn(o.with,e)||l.Color.transparent;return t.mix(i,o.ratio)}case 3:{const t=Cn(o.background,e);return t?Cn(o.value,e)?.makeOpaque(t):Cn(o.value,e)}case 4:for(const t of o.values){const i=Cn(t,e);if(i)return i}return;case 6:return Cn(e.defines(o.if)?o.then:o.else,e);case 5:{const t=Cn(o.value,e);if(!t)return;const i=Cn(o.background,e);return i?t.isDarkerThan(i)?l.Color.getLighterColor(t,i,o.factor).transparent(o.transparency):l.Color.getDarkerColor(t,i,o.factor).transparent(o.transparency):t.transparent(o.factor*o.transparency)}default:throw l.assertNever()}}function da(o,e){return{op:0,value:o,factor:e}}function kn(o,e){return{op:1,value:o,factor:e}}function ce(o,e){return{op:2,value:o,factor:e}}function YC(...o){return{op:4,values:o}}function pV(o,e,t){return{op:6,if:o,then:e,else:t}}function TE(o,e,t,i){return{op:5,value:o,background:e,factor:t,transparency:i}}function Cn(o,e){if(o!==null){if(typeof o=="string")return o[0]==="#"?l.Color.fromHex(o):e.getColor(o);if(o instanceof l.Color)return o;if(typeof o=="object")return mV(o,e)}}const NE="vscode://schemas/workbench-colors",RE=St.as(Cg.JSONContribution);RE.registerSchema(NE,kg.getColorSchema());const ME=new l.RunOnceScheduler(()=>RE.notifySchemaChanged(NE),200);kg.onDidChangeSchema(()=>{ME.isScheduled()||ME.schedule()});const De=E("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},l.localize(1838,"Overall foreground color. This color is only used if not overridden by a component."));E("strongForeground",{dark:"#FFFFFF",light:"#000000",hcDark:"#FFFFFF",hcLight:"#000000"},l.localize(1839,"Highest-contrast foreground color, intended for text or icons that need maximum legibility across various backgrounds. This color is only used if not overridden by a component.")),E("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},l.localize(1840,"Overall foreground for disabled elements. This color is only used if not overridden by a component.")),E("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},l.localize(1841,"Overall foreground color for error messages. This color is only used if not overridden by a component."));const _V=E("descriptionForeground",{light:"#717171",dark:ce(De,.7),hcDark:ce(De,.7),hcLight:ce(De,.7)},l.localize(1842,"Foreground color for description text providing additional information, for example for a label.")),Fg=E("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},l.localize(1843,"The default color for icons in the workbench.")),bs=E("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},l.localize(1844,"Overall border color for focused elements. This color is only used if not overridden by a component.")),pe=E("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},l.localize(1845,"An extra border around elements to separate them from others for greater contrast.")),ot=E("contrastActiveBorder",{light:null,dark:null,hcDark:bs,hcLight:bs},l.localize(1846,"An extra border around active elements to separate them from others for greater contrast."));E("selection.background",null,l.localize(1847,"The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor."));const bV=E("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},l.localize(1848,"Foreground color for links in text."));E("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},l.localize(1849,"Foreground color for links in text when clicked on and on mouse hover.")),E("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:l.Color.black,hcLight:"#292929"},l.localize(1850,"Color for text separators.")),E("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#FFFFFF",hcLight:"#FFFFFF"},l.localize(1851,"Foreground color for preformatted text segments.")),E("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:null,hcLight:"#09345f"},l.localize(1852,"Background color for preformatted text segments.")),E("textPreformat.border",{light:null,dark:null,hcDark:pe,hcLight:null},l.localize(1853,"Border color for preformatted text segments.")),E("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},l.localize(1854,"Background color for block quotes in text.")),E("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:l.Color.white,hcLight:"#292929"},l.localize(1855,"Border color for block quotes in text.")),E("textCodeBlock.backg Line truncated
${a}: ${r};`}return i+=`
}`,i}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function l3(o){return o.replace(/(^[A-Z])/,([e])=>e.toLowerCase()).replace(/([A-Z])/g,([e])=>`-${e.toLowerCase()}`)}class ma extends l.Disposable{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let i=0,n=e.length;i<n;i++){const s=e[i];switch(s.type){case 0:this.onCompositionStart(s)&&(t=!0);break;case 1:this.onCompositionEnd(s)&&(t=!0);break;case 2:this.onConfigurationChanged(s)&&(t=!0);break;case 3:this.onCursorStateChanged(s)&&(t=!0);break;case 4:this.onDecorationsChanged(s)&&(t=!0);break;case 5:this.onFlushed(s)&&(t=!0);break;case 6:this.onFocusChanged(s)&&(t=!0);break;case 7:this.onLanguageConfigurationChanged(s)&&(t=!0);break;case 8:this.onLineMappingChanged(s)&&(t=!0);break;case 9:this.onLinesChanged(s)&&(t=!0);break;case 10:this.onLinesDeleted(s)&&(t=!0);break;case 11:this.onLinesInserted(s)&&(t=!0);break;case 12:this.onRevealRangeRequest(s)&&(t=!0);break;case 13:this.onScrollChanged(s)&&(t=!0);break;case 15:this.onTokensChanged(s)&&(t=!0);break;case 14:this.onThemeChanged(s)&&(t=!0);break;case 16:this.onTokensColorsChanged(s)&&(t=!0);break;case 17:this.onZonesChanged(s)&&(t=!0);break;default:console.info("View received unknown event: "),console.info(s)}}t&&(this._shouldRender=!0)}}class gi extends ma{constructor(e){super(),this._context=e,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onBeforeRender(e){}}class Jn{static write(e,t){e.setAttribute("data-mprt",String(t))}static read(e){const t=e.getAttribute("data-mprt");return t===null?0:parseInt(t,10)}static collect(e,t){const i=[];let n=0;for(;e&&e!==e.ownerDocument.body&&e!==t;)e.nodeType===e.ELEMENT_NODE&&(i[n++]=this.read(e)),e=e.parentElement;const s=new Uint8Array(n);for(let r=0;r<n;r++)s[r]=i[n-r-1];return s}}class c3{constructor(e,t){this._restrictedRenderingContextBrand=void 0,this._viewLayout=e,this.viewportData=t,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;const i=this._viewLayout.getCurrentViewport();this.scrollTop=i.top,this.scrollLeft=i.left,this.viewportWidth=i.width,this.viewportHeight=i.height}getScrolledTopFromAbsoluteTop(e){return e-this.scrollTop}getVerticalOffsetForLineNumber(e,t){return this._viewLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t){return this._viewLayout.getVerticalOffsetAfterLineNumber(e,t)}getLineHeightForLineNumber(e){return this._viewLayout.getLineHeightForLineNumber(e)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}}class h3 extends c3{constructor(e,t,i,n){super(e,t),this._renderingContextBrand=void 0,this._viewLines=i,this._viewLinesGpu=n}linesVisibleRangesForRange(e,t){const i=this._viewLines.linesVisibleRangesForRange(e,t);if(!this._viewLinesGpu)return i;const n=this._viewLinesGpu.linesVisibleRangesForRange(e,t);return i?n?i.concat(n).sort((s,r)=>s.lineNumber-r.lineNumber):i:n}visibleRangeForPosition(e){return this._viewLines.visibleRangeForPosition(e)??this._viewLinesGpu?.visibleRangeForPosition(e)??null}}class nI{constructor(e,t,i,n){this.outsideRenderedLine=e,this.lineNumber=t,this.ranges=i,this.continuesOnNextLine=n}}class Pd{static from(e){const t=new Array(e.length);for(let i=0,n=e.length;i<n;i++){const s=e[i];t[i]=new Pd(s.left,s.width)}return t}constructor(e,t){this._horizontalRangeBrand=void 0,this.left=Math.round(e),this.width=Math.round(t)}toString(){return`[${this.left},${this.width}]`}}class or{constructor(e,t){this._floatHorizontalRangeBrand=void 0,this.left=e,this.width=t}toString(){return`[${this.left},${this.width}]`}static compare(e,t){return e.left-t.left}}class sI{constructor(e,t){this.outsideRenderedLine=e,this.originalLeft=t,this.left=Math.round(this.originalLeft)}}class pv{constructor(e,t){this.outsideRenderedLine=e,this.ranges=t}}class qg{static _createRange(){return this._handyReadyRange||(this._handyReadyRange=document.createRange()),this._handyReadyRange}static _detachRange(e,t){e Line truncated
target: ${this.target?this.target.outerHTML:null}`}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&this.hitTestResult.value.hitTarget!==null&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(e=null){return e&&e.column<this._ctx.viewModel.getLineMaxColumn(e.lineNumber)?Xe.visibleColumnFromColumn(this._ctx.viewModel.getLineContent(e.lineNumber),e.column,this._ctx.viewModel.model.getOptions().tabSize)+1:this.mouseColumn}fulfillUnknown(e=null){return $t.createUnknown(this.target,this._getMouseColumn(e),e)}fulfillTextarea(){return $t.createTextarea(this.target,this._getMouseColumn())}fulfillMargin(e,t,i,n){return $t.createMargin(e,this.target,this._getMouseColumn(t),t,i,n)}fulfillViewZone(e,t,i){return $t.createViewZone(e,this.target,this._getMouseColumn(),t,i)}fulfillContentText(e,t,i){return $t.createContentText(this.target,this._getMouseColumn(e),e,t,i)}fulfillContentEmpty(e,t){return $t.createContentEmpty(this.target,this._getMouseColumn(e),e,t)}fulfillContentWidget(e){return $t.createContentWidget(this.target,this._getMouseColumn(),e)}fulfillScrollbar(e){return $t.createScrollbar(this.target,this._getMouseColumn(e),e)}fulfillOverlayWidget(e){return $t.createOverlayWidget(this.target,this._getMouseColumn(),e)}}const lI={isAfterLines:!0};function ba(o){return{isAfterLines:!1,horizontalDistanceToText:o}}class ai{constructor(e,t){this._context=e,this._viewHelper=t}mouseTargetIsWidget(e){const t=e.target,i=Jn.collect(t,this._viewHelper.viewDomNode);return!!(mi.isChildOfContentWidgets(i)||mi.isChildOfOverflowingContentWidgets(i)||mi.isChildOfOverlayWidgets(i)||mi.isChildOfOverflowingOverlayWidgets(i))}createMouseTarget(e,t,i,n,s){const r=new uc(this._context,this._viewHelper,e),a=new _3(r,t,i,n,s);try{const c=ai._createMouseTarget(r,a);if(c.type===6&&r.stickyTabStops&&c.position!==null){const h=ai._snapToSoftTabBoundary(c.position,r.viewModel),d=l.Range.fromPositions(h,h).plusRange(c.range);return a.fulfillContentText(h,d,c.detail)}return c}catch{return a.fulfillUnknown()}}static _createMouseTarget(e,t){if(t.target===null)return t.fulfillUnknown();const i=t;let n=null;return!mi.isChildOfOverflowGuard(t.targetPath)&&!mi.isChildOfOverflowingContentWidgets(t.targetPath)&&!mi.isChildOfOverflowingOverlayWidgets(t.targetPath)&&(n=n||t.fulfillUnknown()),n=n||ai._hitTestContentWidget(e,i),n=n||ai._hitTestOverlayWidget(e,i),n=n||ai._hitTestMinimap(e,i),n=n||ai._hitTestScrollbarSlider(e,i),n=n||ai._hitTestViewZone(e,i),n=n||ai._hitTestMargin(e,i),n=n||ai._hitTestViewCursor(e,i),n=n||ai._hitTestTextArea(e,i),n=n||ai._hitTestViewLines(e,i),n=n||ai._hitTestScrollbar(e,i),n||t.fulfillUnknown()}static _hitTestContentWidget(e,t){if(mi.isChildOfContentWidgets(t.targetPath)||mi.isChildOfOverflowingContentWidgets(t.targetPath)){const i=e.findAttribute(t.target,"widgetId");return i?t.fulfillContentWidget(i):t.fulfillUnknown()}return null}static _hitTestOverlayWidget(e,t){if(mi.isChildOfOverlayWidgets(t.targetPath)||mi.isChildOfOverflowingOverlayWidgets(t.targetPath)){const i=e.findAttribute(t.target,"widgetId");return i?t.fulfillOverlayWidget(i):t.fulfillUnknown()}return null}static _hitTestViewCursor(e,t){if(t.target){const i=e.lastRenderData.lastViewCursorsRenderData;for(const n of i)if(t.target===n.domNode)return t.fulfillContentText(n.position,null,{mightBeForeignElement:!1,injectedText:null})}if(t.isInContentArea){const i=e.lastRenderData.lastViewCursorsRenderData,n=t.mouseContentHorizontalOffset,s=t.mouseVerticalOffset;for(const r of i){if(n<r.contentLeft||n>r.contentLeft+r.width)continue;const a=e.getVerticalOffsetForLineNumber(r.position.lineNumber);if(a<=s&&s<=a+r.height)return t.fulfillContentText(r.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){const i=e.getZoneAtCoord(t.mouseVerticalOffset);if(i){const n=t.isInContentArea?8:5;return t.fulfillViewZone(n,i.position,i)}return null}static _hitTestTextArea(e,t){return mi.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){const i=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),n=i.range.getStartPosition();let s=Math.abs(t.relativePos.x);const r={isAfterLines:i.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:s};if(s-=e.layoutInfo.glyphMarginLeft,s<=e.layoutInfo.glyphMarginWidth){const a=e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(i.range.getStartPosition()),c=e.viewModel.glyphLanes.getLanesAtLine(a.lineNumber);return r.glyphMarginLane=c[Math.floor(s/e.lineHeight)],t.fulfillMargin(2,n,i.range,r)}return s-=e.layoutInfo.glyphMarginWidth,s<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,n,i.range,r):(s-=e.layo Line truncated
`),split:o=>o.split(`\r
`),parse:o=>yv.split(o).filter(e=>!e.startsWith("#"))}),bI={EDITORS:"CodeEditors",FILES:"CodeFiles"};class z3{}const V3={DragAndDropContribution:"workbench.contributions.dragAndDrop"};St.add(V3.DragAndDropContribution,new z3);const _f=class _f{constructor(){}static getInstance(){return _f.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};_f.INSTANCE=new _f;let Lv=_f;function CI(o){if(l.isNative&&typeof globalThis.vscode?.webUtils?.getPathForFile=="function")return globalThis.vscode?.webUtils?.getPathForFile(o)}function U3(o){const e=new pI;for(const t of o.items){const i=t.type;if(t.kind==="string"){const n=new Promise(s=>t.getAsString(s));e.append(i,Sv(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,$3(n))}}return e}function $3(o){const e=CI(o),t=e?l.URI.parse(e):void 0;return F3(o.name,t,async()=>new Uint8Array(await o.arrayBuffer()))}const K3=Object.freeze([bI.EDITORS,bI.FILES,pc.RESOURCES,pc.INTERNAL_URI_LIST]);function vI(o,e=!1){const t=U3(o),i=t.get(pc.INTERNAL_URI_LIST);if(i)t.replace(mn.uriList,i);else if(e||!t.has(mn.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=CI(r);try{a?n.push(l.URI.file(a).toString()):n.push(l.URI.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(mn.uriList,Sv(yv.create(n)))}for(const n of K3)t.delete(n);return t}function G3(o,e,t){const{dataToCopy:i,metadata:n}=SI(o);return wI(i.text,n,t),{dataToCopy:i,metadata:n}}function wI(o,e,t){_c.INSTANCE.set(t?o.replace(/\r\n/g,`
`):o,e)}function SI(o){const e=o.getEditorOption(45),t=o.getEditorOption(31),i=o.getCursorStates().map(r=>r.modelState.selection),n=j3(o,i,e,t),s={version:1,id:Wg(),isFromEmptySelection:n.isFromEmptySelection,multicursorText:n.multicursorText,mode:n.mode};return{dataToCopy:n,metadata:s}}function j3(o,e,t,i){const{sourceRanges:n,sourceText:s}=o.getPlainTextToCopy(e,t,l.isWindows),r=o.model.getEOL(),a=t&&e.length===1&&e[0].isEmpty(),c=Array.isArray(s)?s:null,h=Array.isArray(s)?s.join(r):s;let d,u=null;if(em.forceCopyWithSyntaxHighlighting||i&&s.length<65536){const g=o.getRichTextToCopy(e,t);g&&(d=g.html,u=g.mode)}return{isFromEmptySelection:a,sourceRanges:n,multicursorText:c,text:h,html:d,mode:u}}const H_=class H_{constructor(){this._lastState=null}set(e,t){this._lastState={lastCopiedValue:e,data:t}}get(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState.data:(this._lastState=null,null)}};H_.INSTANCE=new H_;let _c=H_;const em={forceCopyWithSyntaxHighlighting:!1,electronBugWorkaroundCopyEventHasFired:!1},yI={getTextData(o){const e=o.getData(mn.text);let t=null;const i=o.getData("vscode-editor-data");if(typeof i=="string")try{t=JSON.parse(i),t.version!==1&&(t=null)}catch{}return e.length===0&&t===null&&o.files.length>0?[Array.prototype.slice.call(o.files,0).map(s=>s.name).join(`
`),null]:[e,t]},setTextData(o,e,t,i){o.setData(mn.text,e),typeof t=="string"&&o.setData("text/html",t),o.setData("vscode-editor-data",JSON.stringify(i))}};function tm(o,e,t,i,n){const{dataToCopy:s,metadata:r}=SI(t.viewModel);let a=!1;return{isCut:e,clipboardData:{setData:(c,h)=>{o.clipboardData?.setData(c,h)}},dataToCopy:s,ensureClipboardGetsEditorData:()=>{o.preventDefault(),o.clipboardData&&yI.setTextData(o.clipboardData,s.text,s.html,r),wI(s.text,r,n),i.trace("ensureClipboardGetsEditorSelection with id : ",r.id," with text.length: ",s.text.length)},setHandled:()=>{a=!0,o.preventDefault(),o.stopImmediatePropagation()},get isHandled(){return a}}}function LI(o){let e=!1,[t,i]=o.clipboardData?yI.getTextData(o.clipboardData):["",null];return i=i||_c.INSTANCE.get(t),{clipboardData:q3(o.clipboardData),metadata:i,text:t,toExternalVSDataTransfer:()=>o.clipboardData?vI(o.clipboardData):void 0,browserEvent:o,setHandled:()=>{e=!0,o.preventDefault(),o.stopImmediatePropagation()},get isHandled(){return e}}}function q3(o){return{types:Array.from(o?.types??[]),files:Array.prototype.slice.call(o?.files??[],0),getData:e=>o?.getData(e)??""}}const Sl=class Sl{constructor(e,t,i,n,s){this.value=e,this.selectionStart=t,this.selectionEnd=i,this.selection=n,this.newlineCountBeforeSelection=s}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(e,t){const i=e.getValue(),n=e.getSelectionStart(),s=e.getSelectionEnd();let r;if(t){const a=i.substring(0,n),c=t.value.substring(0,t.selectionStart);a===c&&(r=t.newlineCountBeforeSelection)}return new Sl(i,n,s,null,r)}collapseSelection(){return this.selectionStart===this.value.length?this:new Sl(this.value,this.value.length,this.value.length,null,void 0)}isWrittenToTextArea(e,t){const i=this.value===e.getValue();return t?this.selectionStart===e.getSelectionStart()&&this.selectionEnd===e.getSelectionEnd()&&i:i}writeToTextArea(e,t,i){t.setValue(e,this.value),i&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)}deduceEditorPosition(e){if(e<=this.selectionStart){const n=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,n,-1)}if(e>=this.selectionEnd){const n=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,n,1)}const t=this.value.substring(this.selectionStart,e);if(t.indexOf("…")===-1)return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,t,1);const i=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,i,-1)}_finishDeduceEditorPosition(e,t,i){let n=0,s=-1;for(;(s=t.indexOf(`
`,s+1))!==-1;)n++;return[e,i*t.length,n]}static deduceInput(e,t,i){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const n=Math.min(l.commonPrefixLength(e.value,t.value),e.selectionStart,t.selectionStart),s=Math.min(l.commonSuffixLength(e.value,t.value),e.value.length-e.selectionEnd,t.value.length-t.selectionEnd);e.value.substring(n,e.value.length-s);const r=t.value.substring(n,t.value.length-s),a=e.selectionStart-n,c=e.selectionEnd-n,h=t.selectionStart-n,d=t.selectionEnd-n;if(h===d){const f=e.selectionStart-n;return{text:r,replacePrevCharCnt:f,replaceNextCharCnt:0,positionDelta:0}}const u=c-a;return{text:r,replacePrevCharCnt:u,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(e,t){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e.value===t.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:t.selectionEnd-e.selectionEnd};const i=Math.min(l.commonPrefixLength(e.value,t.value),e.selectionEnd),n=Math.min(l.commonSuffixLength(e.value,t.value),e.value.length-e.selectionEnd),s=e.value.substring(i,e.value.length-n),r=t.value.substring(i,t.value.length-n);e.selectionStart-i;const a=e.selectionEnd-i;t.selectionStart-i;const c=t.selectionEnd-i;return{text:r,replacePrevCharCnt:a,replaceNextCharCnt:s.length-a,positionDelta:c-r.length}}static fromScreenReaderContentState(e){let t,i;switch(e.selection.getDirection()){case 0:t=e.selectionStart,i=e.selectionEnd;break;case 1:t=e.selectionEnd,i=e.selectionStart;break}return new Sl(e.value,t,i,e.selection,e.newlineCountBeforeSelection)}};Sl.EMPTY=new Sl("",0,0,null,void 0);let ci=Sl;var Y3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},DI=function(o,e){return function(t,i){e(t,i,o)}},im;(function(o){o.Tap="-monaco-textarea-synthetic-tap"})(im||(im={}));class Z3{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(e){e=e||"";const t={text:e,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=e.length,t}}let Dv=class extends l.Disposable{get textAreaState(){return this._textAreaState}constructor(e,t,i,n,s,r){super(),this._host=e,this._textArea=t,this._OS=i,this._browser=n,this._accessibilityService=s,this._logService=r,this._onFocus=this._register(new l.Emitter),this.onFocus=this._onFocus.event,this._onBlur=this._register(new l.Emitter),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new l.Emitter),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new l.Emitter),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new l.Emitter),this.onCut=this._onCut.event,this._onPaste=this._register(new l.Emitter),this.onPaste=this._onPaste.event,this._onWillCopy=this._register(new l.Emitter),this.onWillCopy=this._onWillCopy.event,this._onWillCut=this._register(new l.Emitter),this.onWillCut=this._onWillCut.event,this._onWillPaste=this._register(new l.Emitter),this.onWillPaste=this._onWillPaste.event,this._onType=this._register(new l.Emitter),this.onType=this._onType.event,this._onCompositionStart=this._register(new l.Emitter),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new l.Emitter),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new l.Emitter),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new l.Emitter),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new l.MutableDisposable),this._asyncTriggerCut=this._register(new l.RunOnceScheduler(()=>this._onCut.fire(),0)),this._textAreaState=ci.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(l.Event.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=new l.RunOnceScheduler(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0):this._asyncFocusGainWriteScreenReaderContent.clear()})),this._hasFocus=!1,this._currentComposition=null;let a=null;this._register(this._textArea.onKeyDown(c=>{const h=new Be(c);(h.keyCode===114||this._currentComposition&&h.keyCode===1)&&h.stopPropagation(),h.equals(9)&&h.preventDefault(),a=h,this._onKeyDown.fire(h)})),this._register(this._textArea.onKeyUp(c=>{const h=new Be(c);this._onKeyUp.fire(h)})),this._register(this._textArea.onCompositionStart(c=>{const h=new Z3;if(this._currentComposition){this._currentComposition=h Line truncated
* 'to': A mandatory logical position value providing where to move the cursor.
\`\`\`
'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',
'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'
'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'
'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'
\`\`\`
* 'by': Unit to move. Default is computed based on 'to' value.
\`\`\`
'line', 'wrappedLine', 'character', 'halfLine', 'foldedLine'
\`\`\`
Use 'foldedLine' with 'up'/'down' to move by logical lines while treating each
folded region as a single step.
* 'value': Number of units to move. Default is '1'.
* 'select': If 'true' makes the selection. Default is 'false'.
* 'noHistory': If 'true' does not add the movement to navigation history. Default is 'false'.
`,constraint:e,schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["left","right","up","down","prevBlankLine","nextBlankLine","wrappedLineStart","wrappedLineEnd","wrappedLineColumnCenter","wrappedLineFirstNonWhitespaceCharacter","wrappedLineLastNonWhitespaceCharacter","viewPortTop","viewPortCenter","viewPortBottom","viewPortIfOutside"]},by:{type:"string",enum:["line","wrappedLine","character","halfLine","foldedLine"]},value:{type:"number",default:1},select:{type:"boolean",default:!1},noHistory:{type:"boolean",default:!1}}}}]},o.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",PrevBlankLine:"prevBlankLine",NextBlankLine:"nextBlankLine",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"},o.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine",FoldedLine:"foldedLine"};function t(i){if(!i.to)return null;let n;switch(i.to){case o.RawDirection.Left:n=0;break;case o.RawDirection.Right:n=1;break;case o.RawDirection.Up:n=2;break;case o.RawDirection.Down:n=3;break;case o.RawDirection.PrevBlankLine:n=4;break;case o.RawDirection.NextBlankLine:n=5;break;case o.RawDirection.WrappedLineStart:n=6;break;case o.RawDirection.WrappedLineFirstNonWhitespaceCharacter:n=7;break;case o.RawDirection.WrappedLineColumnCenter:n=8;break;case o.RawDirection.WrappedLineEnd:n=9;break;case o.RawDirection.WrappedLineLastNonWhitespaceCharacter:n=10;break;case o.RawDirection.ViewPortTop:n=11;break;case o.RawDirection.ViewPortBottom:n=13;break;case o.RawDirection.ViewPortCenter:n=12;break;case o.RawDirection.ViewPortIfOutside:n=14;break;default:return null}let s=0;switch(i.by){case o.RawUnit.Line:s=1;break;case o.RawUnit.WrappedLine:s=2;break;case o.RawUnit.Character:s=3;break;case o.RawUnit.HalfLine:s=4;break;case o.RawUnit.FoldedLine:s=5;break}return{direction:n,unit:s,select:!!i.select,value:i.value||1,noHistory:!!i.noHistory}}o.parse=t})(rm||(rm={}));class Tv{constructor(e,t,i){this._indentRulesSupport=t,this._indentationLineProcessor=new II(e,i)}shouldIncrease(e,t){const i=this._indentationLineProcessor.getProcessedLine(e,t);return this._indentRulesSupport.shouldIncrease(i)}shouldDecrease(e,t){const i=this._indentationLineProcessor.getProcessedLine(e,t);return this._indentRulesSupport.shouldDecrease(i)}shouldIgnore(e,t){const i=this._indentationLineProcessor.getProcessedLine(e,t);return this._indentRulesSupport.shouldIgnore(i)}shouldIndentNextLine(e,t){const i=this._indentationLineProcessor.getProcessedLine(e,t);return this._indentRulesSupport.shouldIndentNextLine(i)}}class Nv{constructor(e,t){this.model=e,this.indentationLineProcessor=new II(e,t)}getProcessedTokenContextAroundRange(e){const t=this._getProcessedTokensBeforeRange(e),i=this._getProcessedTokensAfterRange(e),n=this._getProcessedPreviousLineTokens(e);return{beforeRangeProcessedTokens:t,afterRangeProcessedTokens:i,previousLineProcessedTokens:n}}_getProcessedTokensBeforeRange(e){this.model.tokenization.forceTokenization(e.startLineNumber);const t=this.model.tokenization.getLineTokens(e.startLineNumber),i=oa(t,e.startColumn-1);let n;if(Rv(this.model,e.getStartPosition())){const r=e.startColumn-1-i.firstCharOffset,a=i.firstCharOffset,c=a+r;n=t.sliceAndInflate(a,c,0)}else{const r=e.startColumn-1;n=t.sliceAndInflate(0,r,0)}return this.indentationLineProcessor.getProcessedTokens(n)}_getProcessedTokensAfterRange(e){const t=e.isEmpty()?e.getStartPosition():e.getEndPosition();this.model.tokenization.forceTokenization(t.lineNumber);const i=this.model.tokenization.getLineTokens(t.lineNumber),n=oa(i,t.column-1),s=t.column-1-n.firstCharOffset,r=n.firstCharOffset+s,a=n.firstCharOffset+n.getLineLength(),c=i.sliceAndInflate(r,a,0);return this.indentationLineProcessor.getProcessedTokens(c)}_getProcessedPreviousLineTokens(e){const t=g=>{this.model.tokenization.forceTokenization(g);const m=this.model.tokenization.getLineTokens(g),p=this.model.getLineMaxColumn(g)-1;return oa(m,p)};this.model.tokenization.forceTokenization(e.startLineNumber);const i=this.model.tokenization.getLineTokens(e.startLineNumber),n=oa(i,e.startColumn-1),s=_t.createEmpty("",n.languageIdCodec),r=e.startLineNumber-1;if(r===0||!(n.firstCharOffset===0))return s;const h=t(r);if(!(n.languageId===h.languageId))return s;const u=h.toIViewLineTokens();return this.indentationLineProcessor.getProcessedTokens(u)}}class II{constructor(e,t){this.model=e,this.languageConfigurationService=t}getProcessedLine(e,t){const i=(r,a)=>{const c=l.getLeadingWhitespace(r);return a+r.substring(c.length)};this.model.tokenization.forceTokenization?.(e);const n=this.model.tokenization.getLineTokens(e);let s=this.getProcessedTokens(n).getL Line truncated
`){const r=[];for(let a=0,c=i.length;a<c;a++)r[a]=this._enter(e,t,!1,i[a]);return new pi(4,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}}static _enter(e,t,i,n){if(e.autoIndent===0)return Sa(n,`
`,i);if(!t.tokenization.isCheapToTokenize(n.getStartPosition().lineNumber)||e.autoIndent===1){const c=t.getLineContent(n.startLineNumber),h=l.getLeadingWhitespace(c).substring(0,n.startColumn-1);return Sa(n,`
`+e.normalizeIndentation(h),i)}const s=am(e.autoIndent,t,n,e.languageConfigurationService);if(s){if(s.indentAction===_.IndentAction.None)return Sa(n,`
`+e.normalizeIndentation(s.indentation+s.appendText),i);if(s.indentAction===_.IndentAction.Indent)return Sa(n,`
`+e.normalizeIndentation(s.indentation+s.appendText),i);if(s.indentAction===_.IndentAction.IndentOutdent){const c=e.normalizeIndentation(s.indentation),h=e.normalizeIndentation(s.indentation+s.appendText),d=`
`+h+`
`+c;return i?new nm(n,d,!0):new sm(n,d,-1,h.length-c.length,!0)}else if(s.indentAction===_.IndentAction.Outdent){const c=hm(e,s.indentation);return Sa(n,`
`+e.normalizeIndentation(c+s.appendText),i)}}const r=t.getLineContent(n.startLineNumber),a=l.getLeadingWhitespace(r).substring(0,n.startColumn-1);if(e.autoIndent>=4){const c=gU(e.autoIndent,t,n,{unshiftIndent:h=>hm(e,h),shiftIndent:h=>Fv(e,h),normalizeIndentation:h=>e.normalizeIndentation(h)},e.languageConfigurationService);if(c){let h=e.visibleColumnFromColumn(t,n.getEndPosition());const d=n.endColumn,u=t.getLineContent(n.endLineNumber),f=l.firstNonWhitespaceIndex(u);if(f>=0?n=n.setEndPosition(n.endLineNumber,Math.max(n.endColumn,f+1)):n=n.setEndPosition(n.endLineNumber,t.getLineMaxColumn(n.endLineNumber)),i)return new nm(n,`
`+e.normalizeIndentation(c.afterEnter),!0);{let g=0;return d<=f+1&&(e.insertSpaces||(h=Math.ceil(h/e.indentSize)),g=Math.min(h+1-e.normalizeIndentation(c.afterEnter).length-1,0)),new sm(n,`
`+e.normalizeIndentation(c.afterEnter),0,g,!0)}}}return Sa(n,`
`+e.normalizeIndentation(a),i)}static lineInsertBefore(e,t,i){if(t===null||i===null)return[];const n=[];for(let s=0,r=i.length;s<r;s++){let a=i[s].positionLineNumber;if(a===1)n[s]=new nm(new l.Range(1,1,1,1),`
`);else{a--;const c=t.getLineMaxColumn(a);n[s]=this._enter(e,t,!1,new l.Range(a,c,a,c))}}return n}static lineInsertAfter(e,t,i){if(t===null||i===null)return[];const n=[];for(let s=0,r=i.length;s<r;s++){const a=i[s].positionLineNumber,c=t.getLineMaxColumn(a);n[s]=this._enter(e,t,!1,new l.Range(a,c,a,c))}return n}static lineBreakInsert(e,t,i){const n=[];for(let s=0,r=i.length;s<r;s++)n[s]=this._enter(e,t,!0,i[s]);return n}}class LU{static getEdits(e,t,i,n,s,r){const a=this._distributePasteToCursors(e,i,n,s,r);return a?(i=i.sort(l.Range.compareRangesUsingStarts),this._distributedPaste(e,t,i,a)):this._simplePaste(e,t,i,n,s)}static _distributePasteToCursors(e,t,i,n,s){if(t.length===1)return null;if(s&&s.length===t.length)return s;if(n)return null;if(e.multiCursorPaste==="spread"){i.charCodeAt(i.length-1)===10&&(i=i.substring(0,i.length-1)),i.charCodeAt(i.length-1)===13&&(i=i.substring(0,i.length-1));const r=l.splitLines(i);if(r.length===t.length)return r}return null}static _distributedPaste(e,t,i,n){const s=[];for(let r=0,a=i.length;r<a;r++){const h=e.overtypeOnPaste&&e.inputMode==="overtype"?Ev:Ri;s[r]=new h(i[r],n[r])}return new pi(0,s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _simplePaste(e,t,i,n,s){const r=[];for(let a=0,c=i.length;a<c;a++){const h=i[a],d=h.getPosition();if(s&&!h.isEmpty()&&(s=!1),s&&n.indexOf(`
`)!==n.length-1&&(s=!1),s){const u=new l.Range(d.lineNumber,1,d.lineNumber,1);r[a]=new xI(u,n,h,!0)}else{const f=e.overtypeOnPaste&&e.inputMode==="overtype"?Ev:Ri;r[a]=new f(h,n)}}return new pi(0,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}class DU{static getEdits(e,t,i,n,s,r,a,c){const h=n.map(d=>this._compositionType(i,d,s,r,a,c));return new pi(4,h,{shouldPushStackElementBefore:cm(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,i,n,s,r){if(!t.isEmpty())return null;const a=t.getPosition(),c=Math.max(1,a.column-n),h=Math.min(e.getLineMaxColumn(a.lineNumber),a.column+s),d=new l.Range(a.lineNumber,c,a.lineNumber,h);return new sm(d,i,0,r)}}class xU{static getEdits(e,t,i){const n=[];for(let r=0,a=t.length;r<a;r++)n[r]=new Ri(t[r],i);const s=kv(i,e);return new pi(s,n,{shouldPushStackElementBefore:cm(e,s),shouldPushStackElementAfter:!1})}}class EU{static getCommands(e,t,i){const n=[];for(let s=0,r=i.length;s<r;s++){const a=i[s];if(a.isEmpty()){const c=t.getLineContent(a.startLineNumber);if(/^\s*$/.test(c)&&t.tokenization.isCheapToTokenize(a.startLineNumber)){let h=this._goodIndentForLine(e,t,a.startLineNumber);h=h||" ";const d=e.normalizeIndentation(h);if(!c.startsWith(d)){n[s]=new Ri(new l.Range(a.startLineNumber,1,a.startLineNumber,c.length+1),d,!0);continue}}n[s]=this._replaceJumpToNextIndent(e,t,a,!0)}else{if(a.startLineNumber===a.endLineNumber){const c=t.getLineMaxColumn(a.startLineNumber);if(a.startColumn!==1||a.endColumn!==c){n[s]=this._replaceJumpToNextIndent(e,t,a,!1);continue}}n[s]=new _.ShiftCommand(a,{isUnshift:!1,tabSize:e.tabSize,indentSize:e.indentSize,insertSpaces:e.insertSpaces,useTabStops:e.useTabStops,autoIndent:e.autoIndent},e.languageConfigurationService)}}return n}static _goodIndentForLine(e,t,i){let n=null,s="";const r=Bd(e.autoIndent,t,i,!1,e.languageConfigurationService);if(r)n=r.action,s=r.indentation;else if(i>1){let a;for(a=i-1;a>=1;a--){const d=t.getLineContent(a);if(l.lastNonWhitespaceIndex(d)>=0)break}if(a<1)return null;const c=t.getLineMaxColumn(a),h=am(e.autoIndent,t,new l.Range(a,c,a,c),e.languageConfigurationService);h&&(s=h.indentation+h.appendText)}return n&&(n===_.IndentAction.Indent&&(s=Fv(e,s)),n===_.IndentAction.Outdent&&(s=hm(e,s)),s=e.normalizeIndentation(s)),s||null}static _replaceJumpToNextIndent(e,t,i,n){let s="";const r=i.getStartPosition();if(e.insertSpaces){const a=e.visibleColumnFromColumn(t,r),c=e.indentSize,h=c-a%c;for(let d=0;d<h;d++)s+=" "}else s=" ";return new Ri(i,s,n)}}class Pv extends sm{constructor(e,t,i,n,s,r){super(e,t,i,n),this._openCharacter=s,this._closeCharacter=r,this.closeCharacterRange=null,this.enclosingRange=null}_computeCursorStateWithRange(e,t,i){return this.closeCharacterRange=new l.Range(t.startLineNumber,t.endColumn-this._closeCharacter.length,t.endLineNumber,t.endColumn),this.enclosingRange=new l.Range(t.startLineNumber,t.endColumn-this._openCharacter.length-this._closeCharacter.length,t.endLineNumber,t.endColumn),super.computeCursorState(e,i)}}class IU extends Pv{constructor(e,t,i,n){const s=(i?t:"")+n,r=0,a=-n.length;super(e,s,r,a,t,n)}computeCursorState(e,t){const n=t.getInverseEditOperations()[0].range;return this._computeCursorStateWithRange(e,n,t)}}class TU extends Pv{constructor(e,t,i,n){const s=i+n,r=0,a=i.length;super(t,s,r,a,i,n),this._autoIndentationEdit=e,this._autoClosingEdit={range:t,text:s}}getEditOperations(e,t){t.addTrackedEditOperation(this._autoIndentationEdit.range,this._autoIndentationEdit.text),t.addTrackedEditOperation(this._autoClosingEdit.range,this._autoClosingEdit.text)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(i.length!==2)throw new Error("There should be two inverse edit operations!");const n=i[0].range,s=i[1].range,r=n.plusRange(s);return this._computeCursorStateWithRange(e,r,t)}}function kv(o,e){return o===" "?e===5||e===6?6:5:4}function cm(o,e){return RI(o)&&!RI(e)?!0:o===5?!1:NI(o)!==NI(e)}function NI(o){return o===6||o===5?"space":o}function RI(o){return o===4||o===5||o===6}function MI(o,e,t,i,n){if(o.autoClosingOvertype==="never"||!o.autoClosingPairs.autoClosingPairsCloseSingleChar.has(n))return!1;for(let s=0,r=t.length;s<r;s++){const a=t[s];if(!a.isEmpty())return!1;const c=a.getPosition(),h=e.getLineContent(c.lineNumber);if(h.charAt(c.column-1)!==n)return!1;const u=lr(n);if((c.column>2?h.charCodeAt(c.column-2):0)===92&&u)return!1;if(o.autoClosingOvertype==="auto"){let g=!1;for(let m=0,p=i.length;m<p;m++){const b=i[m];if(c.lineNumber===b.startLineNumber&&c.column===b.startColumn){g=!0;break}}if(!g)return!1}}return!0}function Sa(o,e,t){return t?new nm(o,e,!0):new Ri(o,e,!0)}function Fv(o,e,t){return t=t||1,_.ShiftCommand.shiftIndent(e,e.length+t,o.tabSize,o.indentSize,o.insertSpaces)}function hm(o,e,t){return t=t||1,_.ShiftCommand.unshiftIndent(e,e.length+t,o.tabSize,o.indentSize,o.insertSpaces)}function AI(o,e){return lr(e)?o.autoSurround==="quotes"||o.autoSurround==="languageDefined":o.autoSurround==="brackets"||o.autoSurround==="language Line truncated
`)}}class S4{constructor(e,t,i){this._canvas=e,this._textureIndex=t,this._slabs=[],this._activeSlabsByDims=new l.NKeyMap,this._unusedRects=[],this._openRegionsByHeight=new Map,this._openRegionsByWidth=new Map,this._allocatedGlyphs=new Set,this._nextIndex=0,this._ctx=Ia(this._canvas.getContext("2d",{willReadFrequently:!0})),this._slabW=Math.min(i?.slabW??64<<Math.max(Math.floor(Le().devicePixelRatio)-1,0),this._canvas.width),this._slabH=Math.min(i?.slabH??this._slabW,this._canvas.height),this._slabsPerRow=Math.floor(this._canvas.width/this._slabW),this._slabsPerColumn=Math.floor(this._canvas.height/this._slabH)}allocate(e){const t=e.boundingBox.right-e.boundingBox.left+1,i=e.boundingBox.bottom-e.boundingBox.top+1;if(t>this._canvas.width||i>this._canvas.height)throw new l.BugIndicatingError("Glyph is too large for the atlas page");if(t>this._slabW||i>this._slabH){if(this._allocatedGlyphs.size>0)return;let h=this._canvas.width;for(;t<h/2&&i<h/2;)h/=2;this._slabW=h,this._slabH=h,this._slabsPerRow=Math.floor(this._canvas.width/this._slabW),this._slabsPerColumn=Math.floor(this._canvas.height/this._slabH)}const n={w:t,h:i};let s=this._activeSlabsByDims.get(n.w,n.h);if(s){const h=Math.floor(this._slabW/s.entryW)*Math.floor(this._slabH/s.entryH);s.count>=h&&(s=void 0)}let r,a;if(!s)if(t<i){const h=this._openRegionsByWidth.get(t);if(h?.length)for(let d=h.length-1;d>=0;d--){const u=h[d];if(u.w>=t&&u.h>=i){r=u.x,a=u.y,t<u.w&&this._unusedRects.push({x:u.x+t,y:u.y,w:u.w-t,h:i}),u.y+=i,u.h-=i,u.h===0&&(d===h.length-1?h.pop():this._unusedRects.splice(d,1));break}}}else{const h=this._openRegionsByHeight.get(i);if(h?.length)for(let d=h.length-1;d>=0;d--){const u=h[d];if(u.w>=t&&u.h>=i){r=u.x,a=u.y,i<u.h&&this._unusedRects.push({x:u.x,y:u.y+i,w:t,h:u.h-i}),u.x+=t,u.w-=t,u.h===0&&(d===h.length-1?h.pop():this._unusedRects.splice(d,1));break}}}if(r===void 0||a===void 0){if(!s){if(this._slabs.length>=this._slabsPerRow*this._slabsPerColumn)return;s={x:Math.floor(this._slabs.length%this._slabsPerRow)*this._slabW,y:Math.floor(this._slabs.length/this._slabsPerRow)*this._slabH,entryW:n.w,entryH:n.h,count:0};const d=this._slabW%s.entryW,u=this._slabH%s.entryH;d&&bT(this._openRegionsByWidth,d,{x:s.x+this._slabW-d,w:d,y:s.y,h:this._slabH-(u??0)}),u&&bT(this._openRegionsByHeight,u,{x:s.x,w:this._slabW,y:s.y+this._slabH-u,h:u}),this._slabs.push(s),this._activeSlabsByDims.set(s,n.w,n.h)}const h=Math.floor(this._slabW/s.entryW);r=s.x+Math.floor(s.count%h)*s.entryW,a=s.y+Math.floor(s.count/h)*s.entryH,s.count++}this._ctx.drawImage(e.source,e.boundingBox.left,e.boundingBox.top,t,i,r,a,t,i);const c={pageIndex:this._textureIndex,glyphIndex:this._nextIndex++,x:r,y:a,w:t,h:i,originOffsetX:e.originOffset.x,originOffsetY:e.originOffset.y,fontBoundingBoxAscent:e.fontBoundingBoxAscent,fontBoundingBoxDescent:e.fontBoundingBoxDescent};return this._allocatedGlyphs.add(c),c}getUsagePreview(){const e=this._canvas.width,t=this._canvas.height,i=new OffscreenCanvas(e,t),n=Ia(i.getContext("2d"));n.fillStyle="#808080",n.fillRect(0,0,e,t);let s=0,r=0,a=0;const c=64<<Math.floor(Le().devicePixelRatio)-1,h=c;for(const u of this._slabs){let f=0,g=0;for(let b=0;b<u.count;b++)f+u.entryW>c&&(f=0,g+=u.entryH),n.fillStyle="#FF0000",n.fillRect(u.x+f,u.y+g,u.entryW,u.entryH),s+=u.entryW*u.entryH,f+=u.entryW;const m=Math.floor(c/u.entryW),p=Math.floor(h/u.entryH);u.entryW*m*u.entryH*p}for(const u of this._allocatedGlyphs)r+=u.w*u.h,n.fillStyle="#4040FF",n.fillRect(u.x,u.y,u.w,u.h);const d=Array.from(this._openRegionsByWidth.values()).flat().concat(Array.from(this._openRegionsByHeight.values()).flat());for(const u of d)n.fillStyle="#FF000088",n.fillRect(u.x,u.y,u.w,u.h),a+=u.w*u.h;return n.globalAlpha=.5,n.drawImage(this._canvas,0,0),n.globalAlpha=1,i.convertToBlob()}getStats(){const e=this._canvas.width,t=this._canvas.height;let i=0,n=0,s=0,r=0,a=0;const c=e*t,h=64<<Math.floor(Le().devicePixelRatio)-1,d=h;for(const m of this._slabs){let p=0,b=0;for(let S=0;S<m.count;S++)p+m.entryW>h&&(p=0,b+=m.entryH),i+=m.entryW*m.entryH,p+=m.entryW;const v=Math.floor(h/m.entryW),C=Math.floor(d/m.entryH),w=m.entryW*v*m.entryH*C;s+=h*d-w}for(const m of this._allocatedGlyphs)n+=m.w*m.h;const u=Array.from(this._openRegionsByWidth.values()).flat().concat(Array.from(this._openRegionsByHeight.values()).flat());for(const m of u)a+=m.w*m.h;const f=s-a;r=i-(n-f);const g=n/(n+r+a);return[`page[${this._textureIndex}]:`,` Total: ${c}px (${e}x${t})`,` Used: ${n}px (${(n/c*100).toFixed(2)}%)`,` Wasted: ${r}px (${(r/c*100).toFixed(2)}%)`,`Restricted: ${a}px (${(a/c*100).toFixed(2)}%) (hard to allocate)`,`Efficiency: ${g===1?"100":(g*100).toFixed(2)}%`,` Slabs: ${this._slabs.length} of ${Math.floor(this._canvas.width/h)*Math.floor(this._canvas.height/d)}`].join(`
`)}}function bT(o,e,t){let i=o.get(e);i||(i=[],o.set(e,i)),i.push(t)}var y4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},CT=function(o,e){return function(t,i){e(t,i,o)}},Wv;let Hn=(yl=class extends l.Disposable{get version(){return this._version}get usedArea(){return this._usedArea}get source(){return this._canvas}get glyphs(){return this._glyphInOrderSet.values()}constructor(e,t,i,n,s){switch(super(),this._logService=n,this._version=0,this._usedArea={left:0,top:0,right:0,bottom:0},this._glyphMap=new l.NKeyMap,this._glyphInOrderSet=new Set,this._canvas=new OffscreenCanvas(t,t),this._colorMap=s.getColorTheme().tokenColorMap,i){case"shelf":this._allocator=new w4(this._canvas,e);break;case"slab":this._allocator=new S4(this._canvas,e);break;default:this._allocator=i(this._canvas,e);break}this._register(l.toDisposable(()=>{this._canvas.width=1,this._canvas.height=1}))}getGlyph(e,t,i,n){return this._glyphMap.get(t,i,n,e.cacheKey)??this._createGlyph(e,t,i,n)}_createGlyph(e,t,i,n){if(this._glyphInOrderSet.size>=Wv.maximumGlyphCount)return;const s=e.rasterizeGlyph(t,i,n,this._colorMap),r=this._allocator.allocate(s);if(r!==void 0)return this._glyphMap.set(r,t,i,n,e.cacheKey),this._glyphInOrderSet.add(r),this._version++,this._usedArea.right=Math.max(this._usedArea.right,r.x+r.w-1),this._usedArea.bottom=Math.max(this._usedArea.bottom,r.y+r.h-1),this._logService.getLevel()===_.LogLevel.Trace&&this._logService.trace("New glyph",{chars:t,tokenMetadata:i,decorationStyleSetId:n,rasterizedGlyph:s,glyph:r}),r}getUsagePreview(){return this._allocator.getUsagePreview()}getStats(){return this._allocator.getStats()}},Wv=yl,yl.maximumGlyphCount=5e3,yl);Hn=Wv=y4([CT(3,ei),CT(4,_i)],Hn);var L4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},vT=function(o,e){return function(t,i){e(t,i,o)}},wm;let dr=(Ll=class extends l.Disposable{get pages(){return this._pages}constructor(e,t,i,n,s){super(),this._maxTextureSize=e,this._decorationStyleCache=i,this._themeService=n,this._instantiationService=s,this._warmUpTask=this._register(new l.MutableDisposable),this._warmedUpRasterizers=new Set,this._pages=[],this._glyphPageIndex=new l.NKeyMap,this._onDidDeleteGlyphs=this._register(new l.Emitter),this.onDidDeleteGlyphs=this._onDidDeleteGlyphs.event,this._allocatorType=t?.allocatorType??"slab",this._register(l.Event.runAndSubscribe(this._themeService.onDidColorThemeChange,()=>{this._colorMap&&this.clear(),this._colorMap=this._themeService.getColorTheme().tokenColorMap}));const r=Math.max(1,Math.floor(Le().devicePixelRatio));this.pageSize=Math.min(1024*r,this._maxTextureSize),this._initFirstPage(),this._register(l.toDisposable(()=>l.dispose(this._pages)))}_initFirstPage(){const e=this._instantiationService.createInstance(Hn,0,this.pageSize,this._allocatorType);this._pages.push(e);const t=new Zd(1,"",1,this._decorationStyleCache);e.getGlyph(t,"",0,0),t.dispose()}clear(){for(const e of this._pages)e.dispose();this._pages.length=0,this._glyphPageIndex.clear(),this._warmedUpRasterizers.clear(),this._warmUpTask.clear(),this._initFirstPage(),this._onDidDeleteGlyphs.fire()}getGlyph(e,t,i,n,s){return i&=-2048,i|=Math.floor(s%1*10),this._warmedUpRasterizers.has(e.id)||(this._warmUpAtlas(e),this._warmedUpRasterizers.add(e.id)),this._tryGetGlyph(this._glyphPageIndex.get(t,i,n,e.cacheKey)??0,e,t,i,n)}_tryGetGlyph(e,t,i,n,s){return this._glyphPageIndex.set(e,i,n,s,t.cacheKey),this._pages[e].getGlyph(t,i,n,s)??(e+1<this._pages.length?this._tryGetGlyph(e+1,t,i,n,s):void 0)??this._getGlyphFromNewPage(t,i,n,s)}_getGlyphFromNewPage(e,t,i,n){if(this._pages.length>=wm.maximumPageCount)throw new Error(`Attempt to create a texture atlas page past the limit ${wm.maximumPageCount}`);return this._pages.push(this._instantiationService.createInstance(Hn,this._pages.length,this.pageSize,this._allocatorType)),this._glyphPageIndex.set(this._pages.length-1,t,i,n,e.cacheKey),this._pages[this._pages.length-1].getGlyph(e,t,i,n)}getStats(){return this._pages.map(e=>e.getStats())}_warmUpAtlas(e){const t=this._colorMap;if(!t)throw new l.BugIndicatingError("Cannot warm atlas without color map");this._warmUpTask.value?.clear();const i=this._warmUpTask.value=this._instantiationService.createInstance(v4);for(let n=65;n<=90;n++)for(const s of t.keys())i.enqueue(()=>{for(let r=0;r<1;r+=.1)this.getGlyph(e,String.fromCharCode(n),s<<15&16744448,0,r)});for(let n=97;n<=122;n++)for(const s of t.keys())i.enqueue(()=>{for(let r=0;r<1;r+=.1)this.getGlyph(e Line truncated
struct Vertex {
@location(0) position: vec2f,
};
struct LayoutInfo {
canvasDims: vec2f,
viewportOffset: vec2f,
viewportDims: vec2f,
}
struct ScrollOffset {
offset: vec2f,
}
struct Shape {
position: vec2f,
size: vec2f,
color: vec4f,
};
struct VSOutput {
@builtin(position) position: vec4f,
@location(1) color: vec4f,
};
// Uniforms
@group(0) @binding(1) var<uniform> layoutInfo: LayoutInfo;
// Storage buffers
@group(0) @binding(0) var<storage, read> shapes: array<Shape>;
@group(0) @binding(2) var<uniform> scrollOffset: ScrollOffset;
@vertex fn vs(
vert: Vertex,
@builtin(instance_index) instanceIndex: u32,
@builtin(vertex_index) vertexIndex : u32
) -> VSOutput {
let shape = shapes[instanceIndex];
var vsOut: VSOutput;
vsOut.position = vec4f(
(
// Top left corner
vec2f(-1, 1) +
// Convert pixel position to clipspace
vec2f( 2, -2) / layoutInfo.canvasDims *
// Shape position and size
(layoutInfo.viewportOffset - scrollOffset.offset + shape.position + vert.position * shape.size)
),
0.0,
1.0
);
vsOut.color = shape.color;
return vsOut;
}
@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {
return vsOut.color;
}
`;class R4 extends ma{constructor(e,t,i,n,s,r){super(),this._context=e,this._contentLeft=t,this._devicePixelRatio=i,this._canvas=n,this._ctx=s,this._shapeBindBuffer=this._register(new l.MutableDisposable),this._initialized=!1,this._shapeCollection=this._register(E4([{name:"x"},{name:"y"},{name:"width"},{name:"height"},{name:"red"},{name:"green"},{name:"blue"},{name:"alpha"}],32)),this._context.addEventHandler(this),this._initWebgpu(r)}async _initWebgpu(e){if(this._device=await e,this._store.isDisposed)return;const t=navigator.gpu.getPreferredCanvasFormat();this._ctx.configure({device:this._device,format:t,alphaMode:"premultiplied"}),this._renderPassColorAttachment={view:null,loadOp:"load",storeOp:"store"},this._renderPassDescriptor={label:"Monaco rectangle renderer render pass",colorAttachments:[this._renderPassColorAttachment]};let i;{const a=new Float32Array(6),c=(h=this._canvas.width,d=this._canvas.height)=>(a[0]=h,a[1]=d,a[2]=Math.ceil(this._context.configuration.options.get(165).contentLeft*Le().devicePixelRatio),a[3]=0,a[4]=a[0]-a[2],a[5]=a[1]-a[3],a);i=this._register(Mi.createBuffer(this._device,{label:"Monaco rectangle renderer uniform buffer",size:24,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST},()=>c())).object,this._register(_T(this._canvas,Le(),(h,d)=>{this._device.queue.writeBuffer(i,0,c(h,d))}))}const n=2;this._scrollOffsetBindBuffer=this._register(Mi.createBuffer(this._device,{label:"Monaco rectangle renderer scroll offset buffer",size:n*Float32Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})).object,this._scrollOffsetValueBuffer=new Float32Array(n);const s=()=>Mi.createBuffer(this._device,{label:"Monaco rectangle renderer shape buffer",size:this._shapeCollection.buffer.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST});this._shapeBindBuffer.value=s(),this._register(l.Event.runAndSubscribe(this._shapeCollection.onDidChangeBuffer,()=>{this._shapeBindBuffer.value=s(),this._pipeline&&this._updateBindGroup(this._pipeline,i)})),this._vertexBuffer=this._register(Mi.createBuffer(this._device,{label:"Monaco rectangle renderer vertex buffer",size:Ea.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST},Ea)).object;const r=this._device.createShaderModule({label:"Monaco rectangle renderer shader module",code:N4});this._pipeline=this._device.createRenderPipeline({label:"Monaco rectangle renderer render pipeline",layout:"auto",vertex:{module:r,buffers:[{arrayStride:2*Float32Array.BYTES_PER_ELEMENT,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]}]},fragment:{module:r,targets:[{format:t,blend:{color:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"}}}]}}),this._updateBindGroup(this._pipeline,i),this._initialized=!0}_updateBindGroup(e,t){this._bindGroup=this._device.createBindGroup({label:"Monaco rectangle renderer bind group",layout:e.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this._shapeBindBuffer.value.object}},{binding:1,resource:{buffer:t}},{binding:2,resource:{buffer:this._scrollOffsetBindBuffer}}]})}register(e,t,i,n,s,r,a,c){return this._shapeCollection.createEntry({x:e,y:t,width:i,height:n,red:s,green:r,blue:a,alpha:c})}onScrollChanged(e){if(this._device){const t=Le().devicePixelRatio;this._scrollOffsetValueBuffer[0]=this._context.viewLayout.getCurrentScrollLeft()*t,this._scrollOffsetValueBuffer[1]=this._context.viewLayout.getCurrentScrollTop()*t,this._device.queue.writeBuffer(this._scrollOffsetBindBuffer,0,this._scrollOffsetValueBuffer)}return!0}_update(){if(!this._device)return;const e=this._shapeCollection;e.dirtyTracker.isDirty&&(this._device.queue.writeBuffer(this._shapeBindBuffer.value.object,0,e.buffer,e.dirtyTracker.dataOffset,e.dirtyTracker.dirtySize*e.view.BYTES_PER_ELEMENT),e.dirtyTracker.clear())}draw(e){if(!this._initialized)return;this._update();const t=this._device.createCommandEncoder({label:"Monaco rectangle renderer command encoder"});this._renderPassColorAttachment.view=this._ctx.getCurrentTexture().createView();const i=t.beginRenderPass(this._renderPassDescriptor);i.setPipeline(this._pipeline),i.setVertexBuffer(0,this._vertexBuffer),i.setBindGroup(0,this._bindGroup);const n=Math.ceil(this._contentLeft.get()*this._devicePixelRatio.get());i.setScissorRect(n,0,this._canvas.width-n,this._canvas.height),i.draw(Ea.length/2,this._shapeCollection.entryCount),i.end();const s=t.finish();this._device.queue.submit([s])}}class M4 extends l.Disposable{constructor(){super(),this._ruleCache=new Map,this._cssVariableCache=new Map,this._container=Q("div.monaco-decoration-css-rule-extractor"),this._dummyElement=Q("span"),this._container.appendChild(this._dummyElement),this._register(l.toDisposable(()=>this._container.remove()))}getStyleRules(e,t){const i=this._ruleCache.get(t);if(i)return i;this._dummyElement.className=t,e.appendChild(this._container);const n=this._getStyleRules(t);return this._ruleCache.set(t,n),e.removeChild(this._container) Line truncated
struct GlyphInfo {
position: vec2f,
size: vec2f,
origin: vec2f,
};
struct Vertex {
@location(0) position: vec2f,
};
struct Cell {
position: vec2f,
unused1: vec2f,
glyphIndex: f32,
textureIndex: f32
};
struct LayoutInfo {
canvasDims: vec2f,
viewportOffset: vec2f,
viewportDims: vec2f,
}
struct ScrollOffset {
offset: vec2f
}
struct VSOutput {
@builtin(position) position: vec4f,
@location(1) layerIndex: f32,
@location(0) texcoord: vec2f,
};
// Uniforms
@group(0) @binding(4) var<uniform> layoutInfo: LayoutInfo;
@group(0) @binding(5) var<uniform> atlasDims: vec2f;
@group(0) @binding(6) var<uniform> scrollOffset: ScrollOffset;
// Storage buffers
@group(0) @binding(0) var<storage, read> glyphInfo: array<array<GlyphInfo, ${Hn.maximumGlyphCount}>, ${dr.maximumPageCount}>;
@group(0) @binding(1) var<storage, read> cells: array<Cell>;
@vertex fn vs(
vert: Vertex,
@builtin(instance_index) instanceIndex: u32,
@builtin(vertex_index) vertexIndex : u32
) -> VSOutput {
let cell = cells[instanceIndex];
var glyph = glyphInfo[u32(cell.textureIndex)][u32(cell.glyphIndex)];
var vsOut: VSOutput;
// Multiple vert.position by 2,-2 to get it into clipspace which ranged from -1 to 1
vsOut.position = vec4f(
// Make everything relative to top left instead of center
vec2f(-1, 1) +
((vert.position * vec2f(2, -2)) / layoutInfo.canvasDims) * glyph.size +
((cell.position * vec2f(2, -2)) / layoutInfo.canvasDims) +
((glyph.origin * vec2f(2, -2)) / layoutInfo.canvasDims) +
(((layoutInfo.viewportOffset - scrollOffset.offset * vec2(1, -1)) * 2) / layoutInfo.canvasDims),
0.0,
1.0
);
vsOut.layerIndex = cell.textureIndex;
// Textures are flipped from natural direction on the y-axis, so flip it back
vsOut.texcoord = vert.position;
vsOut.texcoord = (
// Glyph offset (0-1)
(glyph.position / atlasDims) +
// Glyph coordinate (0-1)
(vsOut.texcoord * (glyph.size / atlasDims))
);
return vsOut;
}
@group(0) @binding(2) var ourSampler: sampler;
@group(0) @binding(3) var ourTexture: texture_2d_array<f32>;
@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {
return textureSample(ourTexture, ourSampler, vsOut.texcoord, u32(vsOut.layerIndex));
}
`,Xs=class Xs extends ST{get bindGroupEntries(){return[{binding:1,resource:{buffer:this._cellBindBuffer}},{binding:6,resource:{buffer:this._scrollOffsetBindBuffer}}]}constructor(e,t,i,n){super(e,t,i,n),this.type="viewport",this.wgsl=yT,this._cellBindBufferLineCapacity=63,this._activeDoubleBufferIndex=0,this._visibleObjectCount=0,this._lastViewportLineCount=0,this._scrollInitialized=!1,this._onDidChangeBindGroupEntries=this._register(new l.Emitter),this.onDidChangeBindGroupEntries=this._onDidChangeBindGroupEntries.event,this._rebuildCellBuffer(this._cellBindBufferLineCapacity);const s=2;this._scrollOffsetBindBuffer=this._register(Mi.createBuffer(this._device,{label:"Monaco scroll offset buffer",size:s*Float32Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})).object,this._scrollOffsetValueBuffer=new Float32Array(s)}_rebuildCellBuffer(e){this._cellBindBuffer?.destroy();const t=(Math.floor(e/32)+1)*32,i=t*Xs.maxSupportedColumns*6*Float32Array.BYTES_PER_ELEMENT;this._cellBindBuffer=this._register(Mi.createBuffer(this._device,{label:"Monaco full file cell buffer",size:i,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST})).object,this._cellValueBuffers=[new ArrayBuffer(i),new ArrayBuffer(i)],this._cellBindBufferLineCapacity=t,this._lastViewportLineCount=0,this._onDidChangeBindGroupEntries.fire()}onConfigurationChanged(e){return!0}onDecorationsChanged(e){return!0}onTokensChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onLinesChanged(e){return!0}onScrollChanged(e){if(this._store.isDisposed)return!1;const t=Le().devicePixelRatio;return this._scrollOffsetValueBuffer[0]=(e?.scrollLeft??this._context.viewLayout.getCurrentScrollLeft())*t,this._scrollOffsetValueBuffer[1]=(e?.scrollTop??this._context.viewLayout.getCurrentScrollTop())*t,this._device.queue.writeBuffer(this._scrollOffsetBindBuffer,0,this._scrollOffsetValueBuffer),!0}onThemeChanged(e){return!0}onLineMappingChanged(e){return!0}onZonesChanged(e){return!0}reset(){for(const e of[0,1]){const t=new Float32Array(this._cellValueBuffers[e]);t.fill(0,0,t.length),this._device.queue.writeBuffer(this._cellBindBuffer,0,t.buffer,0,t.byteLength)}this._lastViewportLineCount=0}update(e,t){let i="",n,s=0,r=0,a=0,c=0,h=0,d=0,u,f=0,g=0,m=0,p=0,b,v,C,w,S,L,D,x,I=0,T=0,M;const O=Le().devicePixelRatio;let P;this._scrollInitialized||(this.onScrollChanged(),this._scrollInitialized=!0),this._cellBindBufferLineCapacity<e.endLineNumber-e.startLineNumber+1&&this._rebuildCellBuffer(e.endLineNumber-e.startLineNumber+1);const k=new Float32Array(this._cellValueBuffers[this._activeDoubleBufferIndex]);k.fill(0);const U=Xs.maxSupportedColumns*6;for(r=e.startLineNumber;r<=e.endLineNumber;r++)if(this._viewGpuContext.canRender(t,e,r)){D=e.getViewLineRenderingData(r),d=0,P=Xd(D,t),s=t.spaceWidth*O,c=(D.minColumn-1)*s,M=D.tokens,g=D.minColumn-1,m=0;for(let X=0,re=M.getCount();X<re;X++)if(m=M.getEndOffset(X),!(m<=g)){for(p=M.getMetadata(X),a=g;a<m&&!(a>Xs.maxSupportedColumns);a++){if(n=P.getSegmentAtIndex(a),n===void 0)continue;i=n,D.isBasicASCII&&t.useMonospaceOptimizations||(s=this.glyphRasterizer.getTextMetrics(i).width),v=void 0,b=void 0,C=void 0,w=void 0,S=void 0,L=void 0;for(x of D.inlineDecorations){if(r<x.range.startLineNumber||r>x.range.endLineNumber||r===x.range.startLineNumber&&a<x.range.startColumn-1||r===x.range.endLineNumber&&a>=x.range.endColumn-1)continue;const ee=_.ViewGpuContext.decorationCssRuleExtractor.getStyleRules(this._viewGpuContext.canvas.domNode,x.inlineClassName);for(const Ee of ee)for(const Rt of Ee.style){const We=Ee.styleMap.get(Rt)?.toString()??"";switch(Rt){case"color":{const Ke=l.Color.Format.CSS.parse(We);if(!Ke)throw new l.BugIndicatingError("Invalid color format "+We);v=Ke.toNumber32Bit();break}case"font-weight":{B4(We)>=400?b=!0:b=!1;break}case"opacity":{C=z4(We);break}case"text-decoration":case"text-decoration-line":{We==="line-through"&&(w=!0);break}case"text-decoration-thickness":{const Ke=We.match(/^(\d+(?:\.\d+)?)px$/);Ke&&(S=parseFloat(Ke[1]));break}case"text-decoration-color":{let Ke=We;const Mt=We.match(/^var\((--[^,]+),\s*(?:initial|inherit)\)$/);Mt&&(Ke=_.ViewGpuContext.decorationCssRuleExtractor.resolveCssVariable(this._viewGpuContext.canvas.domNode,Mt[1]));const Ce=l.Color.Format.CSS.parse(Ke);Ce&&(L=Ce.toNumber32Bit());break}case"text-decoration-style":break;default:throw new l.BugIndicatingError("Unexpected inline decoration style")}}}if(i===" "||i===" "){if(f=((r-1)*Xs.maxSupportedColumns+a)*6,k.fill(0,f,f+6),i===" "){const ee=a+d;d=Xe.nextRenderTabStop(a+d,D.tabSize),c+=s*(d-ee),d-=a+1}else c+=s;continue}const Y=_.ViewGpuContext.decorationStyleCache.getOrCreateEntry(v,b,C,w,S,L);u=this._viewGpuContext.atlas.getGlyph(this.glyphRasterizer,i,p,Y,c),h=Math.round(e.relativeVerticalOffset[r-e.startLineNumber]*O+Math.floor((e.lineHeight*O-(u.fontBoundingBoxAscent+u.fontBoundingBoxDescent))/2)+u.fontBoundingBoxAscent),f=((r-e.startLineNumber)*Xs.maxSupportedColumns+a)*6,k[f+0]=Math.floor(c),k[f+1]= Line truncated
`,t+1),t===-1)break;e++}while(!0);return e}class G4{constructor(){this._textAreaEditContextMapping=new Map}register(e,t){return this._textAreaEditContextMapping.set(e,t),{dispose:()=>{this._textAreaEditContextMapping.delete(e)}}}}const j4=new G4;var q4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},IT=function(o,e){return function(t,i){e(t,i,o)}};class Y4{constructor(e,t,i,n,s){this._context=e,this.modelLineNumber=t,this.distanceToModelLineStart=i,this.widthOfHiddenLineTextBefore=n,this.distanceToModelLineEnd=s,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(e){const t=new l.Position(this.modelLineNumber,this.distanceToModelLineStart+1),i=new l.Position(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=e.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=e.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(e){return this._previousPresentation||(e?this._previousPresentation=e:this._previousPresentation={foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const sw=di;let ow=class extends DT{constructor(e,t,i,n,s,r,a){super(t),this._keybindingService=r,this._instantiationService=a,this._primaryCursorPosition=new l.Position(1,1),this._primaryCursorVisibleRange=null,this._viewController=n,this._visibleRangeProvider=s,this._scrollLeft=0,this._scrollTop=0;const c=this._context.configuration.options,h=c.get(165);this._setAccessibilityOptions(c),this._contentLeft=h.contentLeft,this._contentWidth=h.contentWidth,this._contentHeight=h.height,this._fontInfo=c.get(59),this._emptySelectionClipboard=c.get(45),this._visibleTextArea=null,this._selections=[new l.Selection(1,1,1,1)],this._modelSelections=[new l.Selection(1,1,1,1)],this._lastRenderPosition=null,this.textArea=we(document.createElement("textarea")),Jn.write(this.textArea,7),this.textArea.setClassName(`inputarea ${Sc}`),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:d}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=`${d*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",nw(c,this._keybindingService)),this.textArea.setAttribute("aria-required",c.get(9)?"true":"false"),this.textArea.setAttribute("tabindex",String(c.get(140))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",l.localize(69,"editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",c.get(104)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=we(document.createElement("div")),this.textAreaCover.setPosition("absolute"),i.appendChild(this.textArea),i.appendChild(this.textAreaCover);const u=new xT,f={context:this._context,getScreenReaderContent:()=>{if(this._accessibilitySupport===1){const p=this._selections[0];if(l.isMacintosh&&p.isEmpty()){const v=p.getStartPosition();let C=this._getWordBeforePosition(v);if(C.length===0&&(C=this._getCharacterBeforePosition(v)),C.length>0)return new ci(C,C.length,C.length,l.Range.fromPositions(v),0)}if(l.isMacintosh&&!p.isEmpty()&&this._context.viewModel.getValueLengthInRange(p,0)<500){const v=this._context.viewModel.getValueInRange(p,0);return new ci(v,0,v.length,p,0)}if($r&&!p.isEmpty()){const v="vscode-placeholder";return new ci(v,0,v.length,null,void 0)}return ci.EMPTY}if(kD){const p=this._selections[0];if(p.isEmpty()){const b=p.getStartPosition(),[v,C]=this._getAndroidWordAtPosition(b);if(v.length>0)return new ci(v,C,C,l.Range.fromPositions(b),0)}return ci.EMPTY}const m=u.fromEditorSelection(this._context.viewModel,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0);return ci.fromScreenReaderContentState(m)},deduceModelPosition:(m,p,b)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(m,p,b)},g=this._register(new Q3(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(Dv,f,g,l. Line truncated
`),D=S.substring(L+1),x=D.lastIndexOf(" "),I=D.length-x-1,T=b.getStartPosition(),M=Math.min(T.column-1,I),O=T.column-1-M,P=D.substring(0,D.length-M),{tabSize:k}=this._context.viewModel.model.getOptions(),U=Z4(this.textArea.domNode.ownerDocument,P,this._fontInfo,k);return{distanceToModelLineStart:O,widthOfHiddenTextBefore:U}})(),{distanceToModelLineEnd:w}=(()=>{const S=p.value.substring(Math.max(p.selectionStart,p.selectionEnd)),L=S.indexOf(`
`),D=L===-1?S:S.substring(0,L),x=D.indexOf(" "),I=x===-1?D.length:D.length-x-1,T=b.getEndPosition(),M=Math.min(this._context.viewModel.model.getLineMaxColumn(T.lineNumber)-T.column,I);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(T.lineNumber)-T.column-M}})();this._context.viewModel.revealRange("keyboard",!0,l.Range.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new Y4(this._context,b.startLineNumber,v,C,w),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${Sc} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(m=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._render(),this.textArea.setClassName(`inputarea ${Sc}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()})),this._register(this._textAreaInput.onFocus(()=>{this._context.viewModel.setHasFocus(!0)})),this._register(this._textAreaInput.onBlur(()=>{this._context.viewModel.setHasFocus(!1)})),this._register(Ss.onDidChange(()=>{this._ensureReadOnlyAttribute()})),this._register(j4.register(e,this))}get domNode(){return this.textArea}writeScreenReaderContent(e){this._textAreaInput.writeNativeTextAreaContent(e)}dispose(){super.dispose(),this.textArea.domNode.remove(),this.textAreaCover.domNode.remove()}_getAndroidWordAtPosition(e){const t='`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',i=this._context.viewModel.getLineContent(e.lineNumber),n=l.getMapForWordSeparators(t,[]);let s=!0,r=e.column,a=!0,c=e.column,h=0;for(;h<50&&(s||a);){if(s&&r<=1&&(s=!1),s){const d=i.charCodeAt(r-2);n.get(d)!==0?s=!1:r--}if(a&&c>i.length&&(a=!1),a){const d=i.charCodeAt(c-1);n.get(d)!==0?a=!1:c++}h++}return[i.substring(r-1,c-1),e.column-r]}_getWordBeforePosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),i=l.getMapForWordSeparators(this._context.configuration.options.get(148),[]);let n=e.column,s=0;for(;n>1;){const r=t.charCodeAt(n-2);if(i.get(r)!==0||s>50)return t.substring(n-1,e.column-1);s++,n--}return t.substring(0,e.column-1)}_getCharacterBeforePosition(e){if(e.column>1){const i=this._context.viewModel.getLineContent(e.lineNumber).charAt(e.column-2);if(!l.isHighSurrogate(i.charCodeAt(0)))return i}return""}_setAccessibilityOptions(e){this._accessibilitySupport=e.get(2);const t=e.get(3);this._accessibilitySupport===2&&t===Fi.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=t;const n=e.get(165).wrappingColumn;if(n!==-1&&this._accessibilitySupport!==1){const s=e.get(59);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(n*s.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=sw?0:1}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(165);this._setAccessibilityOptions(t),this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._contentHeight=i.height,this._fontInfo=t.get(59),this._emptySelectionClipboard=t.get(45),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:n}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=`${n*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute("aria-label",nw(t,this._keybindingService)),this.textArea.setAttribute("aria-required",t.get(9)?"true":"false"),this.textArea.setAttribute("tabindex",String(t.get(140))),(e.hasChanged(41)||e.hasChanged(104))&&this._ensureReadOnlyAttribute(),e.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),this._modelSelections=e.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}isFocused(){return this._textAreaInput.isFocused()}focus(){this._textAreaInput.focusTextArea()}refreshFocusState(){this._textAreaInput.refreshFocusState()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(e){e.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",e.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.remoLine truncated
`;this.value=i}equals(e){return this.value===e.value}static get NULL(){const e={getLineContent:()=>"",getLineCount:()=>1,getLineMaxColumn:()=>1,getValueInRange:()=>"",getValueLengthInRange:()=>0,modifyPosition:(t,i)=>t};return new Wd(e,[])}}class i5{constructor(){}_getPageOfLine(e,t){return Math.floor((e-1)/t)}_getRangeForPage(e,t,i){const n=t*i,s=n+1,r=Math.min(n+i,e.getLineCount());return new t5(s,r)}fromEditorSelection(e,t,i){const n=this._getPageOfLine(t.startLineNumber,i),s=this._getRangeForPage(e,n,i),r=this._getPageOfLine(t.endLineNumber,i),a=this._getRangeForPage(e,r,i),c=[{startLine:s.startLine,endLine:s.endLine}];return n+1<r&&c.push({startLine:a.startLine,endLine:a.endLine}),new Wd(e,c)}}var n5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},s5=function(o,e){return function(t,i){e(t,i,o)}};let cw=class extends l.Disposable{constructor(e,t,i,n){super(),this._domNode=e,this._context=t,this._viewController=i,this._accessibilityService=n,this._selectionChangeListener=this._register(new l.MutableDisposable),this._accessibilityPageSize=1,this._ignoreSelectionChangeTime=0,this._strategy=new xT,this.onConfigurationChanged(this._context.configuration.options)}updateScreenReaderContent(e){const t=this._domNode.domNode,i=Le().document.activeElement;if(!i||i!==t)return;if(this._accessibilityService.isScreenReaderOptimized()){this._state=this._getScreenReaderContentState(e),t.textContent!==this._state.value&&(this._setIgnoreSelectionChangeTime("setValue"),t.textContent=this._state.value);const s=Le().document.getSelection();if(!s)return;const r=this._getScreenReaderRange(this._state.selectionStart,this._state.selectionEnd);if(!r)return;this._setIgnoreSelectionChangeTime("setRange"),s.setBaseAndExtent(r.anchorNode,r.anchorOffset,r.focusNode,r.focusOffset)}else this._state=void 0,this._setIgnoreSelectionChangeTime("setValue"),this._domNode.domNode.textContent=""}updateScrollTop(e){if(!this._state)return;const t=this._context.viewModel.viewLayout,i=this._state.startPositionWithinEditor.lineNumber,n=t.getVerticalOffsetForLineNumber(i),s=t.getVerticalOffsetForLineNumber(e.positionLineNumber);this._domNode.domNode.scrollTop=s-n}onFocusChange(e){e?this._selectionChangeListener.value=this._setSelectionChangeListener():this._selectionChangeListener.value=void 0}onConfigurationChanged(e){this._accessibilityPageSize=e.get(3)}onWillCut(){this._setIgnoreSelectionChangeTime("onCut")}onWillPaste(){this._setIgnoreSelectionChangeTime("onWillPaste")}_setIgnoreSelectionChangeTime(e){this._ignoreSelectionChangeTime=Date.now()}_setSelectionChangeListener(){let e=0;return R(this._domNode.domNode.ownerDocument,"selectionchange",()=>{const t=this._accessibilityService.isScreenReaderOptimized();if(!this._state||!t||!Ss.enabled||!(Le().document.activeElement===this._domNode.domNode))return;const s=Le().document.getSelection();if(!s||s.rangeCount===0)return;const a=s.getRangeAt(0),c=Date.now(),h=c-e;if(e=c,h<5)return;const d=c-this._ignoreSelectionChangeTime;this._ignoreSelectionChangeTime=0,!(d<100)&&this._viewController.setSelection(this._getEditorSelectionFromDomRange(this._context,this._state,s.direction,a))})}_getScreenReaderContentState(e){const t=this._strategy.fromEditorSelection(this._context.viewModel,e,this._accessibilityPageSize,this._accessibilityService.getAccessibilitySupport()===0),i=this._context.viewModel.model.getPositionAt(1/0);let n=t.value;return i.column===1&&e.getEndPosition().equals(i)&&(n+=`
`),t.value=n,t}_getScreenReaderRange(e,t){const i=this._domNode.domNode.firstChild;if(!i)return;const n=new globalThis.Range;return n.setStart(i,e),n.setEnd(i,t),{anchorNode:i,anchorOffset:e,focusNode:i,focusOffset:t}}_getEditorSelectionFromDomRange(e,t,i,n){const s=e.viewModel,r=s.model,c=s.coordinatesConverter.convertViewPositionToModelPosition(t.startPositionWithinEditor),h=r.getOffsetAt(c);let d=n.startOffset+h,u=n.endOffset+h;if(r.getEndOfLineSequence()===1){const v=t.value,C=new l.PositionOffsetTransformer(v),w=C.getPosition(n.startOffset),S=C.getPosition(n.endOffset);d+=w.lineNumber-1,u+=S.lineNumber-1}const g=r.getPositionAt(d),m=r.getPositionAt(u),p=i==="forward"?g:m,b=i==="forward"?m:g;return l.Selection.fromPositions(p,b)}};cw=n5([s5(3,Ui)],cw);var o5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},TT=function(o,e){return function(t,i){e(t,i,o)}};let hw=class extends l.Disposable{constructor(e,t,i,n,s){super(),this._domNode=e,this._context=t,this._viewController=i,this._keybindingService=n,this._accessibilityService=s,this._contentLeft=1,this._contentWidth=1,this._contentHeight=1,this._divWidth=1,this._primarySelection=new l.Selection(1,1,1,1),this._primaryCursorVisibleRange=null,this._state=this._register(new l.MutableDisposable),this._instantiateScreenReaderContent(),this._updateConfigurationSettings(),this._updateDomAttributes()}onWillPaste(){this._state.value?.onWillPaste()}onWillCut(){this._state.value?.onWillCut()}handleFocusChange(e){this._state.value?.onFocusChange(e),this.writeScreenReaderContent()}onConfigurationChanged(e){this._instantiateScreenReaderContent(),this._updateConfigurationSettings(),this._updateDomAttributes(),e.hasChanged(2)&&this.writeScreenReaderContent()}_instantiateScreenReaderContent(){const e=this._context.configuration.options.get(107);this._renderRichContent!==e&&(this._renderRichContent=e,this._state.value=this._createScreenReaderContent(e))}_createScreenReaderContent(e){return e?new lw(this._domNode,this._context,this._viewController,this._accessibilityService):new cw(this._domNode,this._context,this._viewController,this._accessibilityService)}_updateConfigurationSettings(){const e=this._context.configuration.options,t=e.get(165),i=t.wrappingColumn;this._contentLeft=t.contentLeft,this._contentWidth=t.contentWidth,this._contentHeight=t.height,this._fontInfo=e.get(59),this._divWidth=Math.round(i*this._fontInfo.typicalHalfwidthCharacterWidth),this._state.value?.onConfigurationChanged(e)}_updateDomAttributes(){const e=this._context.configuration.options;this._domNode.domNode.setAttribute("role","textbox"),this._domNode.domNode.setAttribute("aria-required",e.get(9)?"true":"false"),this._domNode.domNode.setAttribute("aria-multiline","true"),this._domNode.domNode.setAttribute("aria-autocomplete",e.get(104)?"none":"both"),this._domNode.domNode.setAttribute("aria-roledescription",l.localize(64,"editor")),this._domNode.domNode.setAttribute("aria-label",nw(e,this._keybindingService));const t=this._context.viewModel.model.getOptions().tabSize,i=e.get(59).spaceWidth;this._domNode.domNode.style.tabSize=`${t*i}px`;const n=e.get(154),s=n==="inherit"?e.get(153):n,r=s==="inherit"?e.get(149):s;this._domNode.domNode.style.textWrap=r==="off"?"nowrap":"wrap"}onCursorStateChanged(e){this._primarySelection=e.selections[0]??new l.Selection(1,1,1,1)}prepareRender(e){this.writeScreenReaderContent(),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primarySelection.getPosition())}render(e){if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const t=this._context.viewLayout.getCurrentScrollLeft(),i=this._contentLeft+this._primaryCursorVisibleRange.left-t;if(i<this._contentLeft||i>this._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const n=this._context.viewLayout.getCurrentScrollTop(),s=this._primarySelection.positionLineNumber,r=this._context.viewLayout.getVerticalOffsetForLineNumber(s)-n;if(r<0||r>this._contentHeight){this._renderAtTopLeft();return}const a=this._context.viewLayout.getLineHeightForLineNumber(s);this._doRender(r,this._contentLeft,this._divWidth,a),this._state.value?.updateScrollTop(this._primarySelection)}_renderAtTopLeft(){this._doRender(0,0,this._contentWidth,1)}_doRender(e,t,i,n){Ot(this._domNode,this._fontInfo),this._domNode.setTop(e),this._domNode.setLeft(t),this._domNode.setWidth(i),this._domNode.setHeight(n),this._domNode.setLineHeight(n)}setAriaOptions(e){e.activeDescendant?(this._domNode.setAttribute("aria-haspopup","true"),this._domNode.setAttribute("aria-autocomplete","list"),this._domNode.setAttribute("aria-activedescendant",e.activeDescendant)):(this._domNode.setAttribute("aria-haspopup","false"),this._domNode.setAttribute("aria-autocomplete", Line truncated
`,replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0})})),this._register(R(this.domNode.domNode,"paste",u=>{this.logService.trace("NativeEditContext#paste");const f=LI(u);if(this._onWillPaste.fire(f),f.isHandled){u.preventDefault();return}if(u.preventDefault(),!u.clipboardData||(this.logService.trace("NativeEditContext#paste with id : ",f.metadata?.id," with text.length: ",f.text.length),!f.text))return;let g=!1,m=null,p=null;f.metadata&&(g=this._context.configuration.options.get(45)&&!!f.metadata.isFromEmptySelection,m=typeof f.metadata.multicursorText<"u"?f.metadata.multicursorText:null,p=f.metadata.mode),this.logService.trace("NativeEditContext#paste (before viewController.paste)"),this._viewController.paste(f.text,g,m,p)})),this._register(Jd(this._editContext,"textformatupdate",u=>this._handleTextFormatUpdate(u))),this._register(Jd(this._editContext,"characterboundsupdate",u=>this._updateCharacterBounds(u)));let h;this._register(Jd(this._editContext,"textupdate",u=>{_n.onInput();const f=u.text;if(f.length===1){const g=f.charCodeAt(0);if(l.isHighSurrogate(g)){h=f;return}if(l.isLowSurrogate(g)&&h){const m={text:h+f,selectionEnd:u.selectionEnd,selectionStart:u.selectionStart,updateRangeStart:u.updateRangeStart-1,updateRangeEnd:u.updateRangeEnd-1};h=void 0,this._emitTypeEvent(this._viewController,m);return}}this._emitTypeEvent(this._viewController,u)})),this._register(Jd(this._editContext,"compositionstart",u=>{this._updateEditContext(),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(Jd(this._editContext,"compositionend",u=>{this._updateEditContext(),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()}));let d=!1;this._register(Ss.onDidChange(()=>{Ss.enabled&&d&&(this._focusTracker.resume(),this.domNode.focus(),d=!1),!Ss.enabled&&this.isFocused()&&(this._focusTracker.pause(),this._imeTextArea.focus(),d=!0)})),this._register(NT.register(e,this)),this._register(t.viewModel.model.onDidChangeContent(u=>{let f=!1;for(const g of u.changes)if(g.range.startLineNumber<=this._editContextPrimarySelection.endLineNumber&&g.range.endLineNumber>=this._editContextPrimarySelection.startLineNumber){f=!0;break}f&&this._updateEditContext()}))}dispose(){this.domNode.domNode.editContext=void 0,this.domNode.domNode.blur(),this.domNode.domNode.remove(),this._imeTextArea.domNode.remove(),super.dispose()}setAriaOptions(e){this._screenReaderSupport.setAriaOptions(e)}getLastRenderData(){return this._primarySelection.getPosition()}onBeforeRender(e){this._parentBounds=this._parent.getBoundingClientRect()}prepareRender(e){this._screenReaderSupport.prepareRender(e),this._updateSelectionAndControlBoundsData(e)}render(e){this._screenReaderSupport.render(e),this._updateSelectionAndControlBounds()}onCursorStateChanged(e){return this._primarySelection=e.modelSelections[0]??new l.Selection(1,1,1,1),this._screenReaderSupport.onCursorStateChanged(e),this._updateEditContext(),!0}onConfigurationChanged(e){return this._screenReaderSupport.onConfigurationChanged(e),this._updateDomAttributes(),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}handleWillPaste(){this.logService.trace("NativeEditContext#handleWillPaste"),this._prepareScreenReaderForPaste()}_prepareScreenReaderForPaste(){this._screenReaderSupport.onWillPaste()}handleWillCopy(){this.logService.trace("NativeEditContext#handleWillCopy"),this.logService.trace("NativeEditContext#isFocused : ",this.domNode.domNode===wt())}writeScreenReaderContent(){this._screenReaderSupport.writeScreenReaderContent()}isFocused(){return this._focusTracker.isFocused}focus(){this._focusTracker.focus(),this.refreshFocusState()}refreshFocusState(){this._focusTracker.refreshFocusState()}setEditContextOnDomNode(){const e=j(this.domNode.domNode),t=td(e);this._targetWindowId!==t&&(this.domNode.domNode.editContext=this._editContext,this._targetWindowId=t)}_onKeyUp(e){_n.onKeyUp(),this._viewController.emitKeyUp(new Be(e))}_onKeyDown(e){_n.onKeyDown();const t=new Be(e);t.keyCode===114&&t.stopPropagation(),this._viewController.emitKeyDown(t)}_updateDomAttributes(){const e=this._context.configuration.options;this.domNode.domNode.setAttribute("tabindex",String(e.get(140)))}_updateEditContext(){const e=this._getNewEditContextState();if(!e)return;const t=e.text??" ";t!==this._previousEditContextText&&(this._editContext.updateText(0,this._previousEditContextText.length,t),this._previousEditContextText=t),(e.selectionStartOffset!==this._previousEditContextSelection.start||e.selectionEndOffset!==this._previousEditContextSelection.endExclusive)&&this._editContext.updateSelection(e.selectionStartOffset,e.selectionEndOffset),this._editContextPrimarySelection=e.editContextPrimarySelection,this._previousEditContextSelection=new l.OffsetRange(e.s Line truncated
`,"gi"):null,s=[];let r,a=0,c=0,h=0,d=0;const u=[];for(let m=0;m<60;m++)u.push(new gr(ht(0,m),0,-1,Ki.getEmpty(),new Oa(ht(0,m))));const f=[];for(let m=0;m<60;m++)f.push(new gr(ht(1,m),0,-1,Ki.getEmpty(),new Oa(ht(1,m))));if(n)for(n.lastIndex=0;(r=n.exec(e))!==null;){const m=r.index,p=r[0];if(p===`
`)a++,c=m+1;else{if(h!==m){let b;if(d===a){const v=m-h;if(v<u.length)b=u[v];else{const C=ht(0,v);b=new gr(C,0,-1,Ki.getEmpty(),new Oa(C))}}else{const v=a-d,C=m-c;if(v===1&&C<f.length)b=f[C];else{const w=ht(v,C);b=new gr(w,0,-1,Ki.getEmpty(),new Oa(w))}}s.push(b)}s.push(t.getToken(p)),h=m+p.length,d=a}}const g=e.length;if(h!==g){const m=d===a?ht(0,g-h):ht(a-d,g-c);s.push(new gr(m,0,-1,Ki.getEmpty(),new Oa(m)))}this.length=ht(a,g-c),this.tokens=s}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(e){throw new l.NotSupportedError}}class yw{static createFromLanguage(e,t){function i(s){return t.getKey(`${s.languageId}:::${s.bracketText}`)}const n=new Map;for(const s of e.bracketsNew.openingBrackets){const r=ht(0,s.bracketText.length),a=i(s),c=Ki.getEmpty().add(a,QT);n.set(s.bracketText,new gr(r,1,a,c,Tm.create(r,s,c)))}for(const s of e.bracketsNew.closingBrackets){const r=ht(0,s.bracketText.length);let a=Ki.getEmpty();const c=s.getOpeningBrackets();for(const h of c)a=a.add(i(h),QT);n.set(s.bracketText,new gr(r,2,i(c[0]),a,Tm.create(r,s,a)))}return new yw(n)}constructor(e){this.map=e,this.hasRegExp=!1,this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty)return null;{const e=[...this.map.keys()];return e.sort(),e.reverse(),e.map(t=>z5(t)).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,i]of this.map)if(i.kind===2&&i.bracketIds.intersects(e))return t}get isEmpty(){return this.map.size===0}}function z5(o){let e=l.escapeRegExpCharacters(o);return/^[\w ]+/.test(o)&&(e=`\\b${e}`),/[\w ]+$/.test(o)&&(e=`${e}\\b`),e}class WT{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=yw.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function V5(o){if(o.length===0)return null;if(o.length===1)return o[0];let e=0;function t(){if(e>=o.length)return null;const r=e,a=o[r].listHeight;for(e++;e<o.length&&o[e].listHeight===a;)e++;return e-r>=2?HT(r===0&&e===o.length?o:o.slice(r,e),!1):o[r]}let i=t(),n=t();if(!n)return i;for(let r=t();r;r=t())e1(i,n)<=e1(n,r)?(i=Lw(i,n),n=r):n=Lw(n,r);return Lw(i,n)}function HT(o,e=!1){if(o.length===0)return null;if(o.length===1)return o[0];let t=o.length;for(;t>3;){const i=t>>1;for(let n=0;n<i;n++){const s=n<<1;o[n]=ys.create23(o[s],o[s+1],s+3===t?o[s+2]:null,e)}t=i}return ys.create23(o[0],o[1],t>=3?o[2]:null,e)}function e1(o,e){return Math.abs(o.listHeight-e.listHeight)}function Lw(o,e){return o.listHeight===e.listHeight?ys.create23(o,e,null,!1):o.listHeight>e.listHeight?U5(o,e):$5(e,o)}function U5(o,e){o=o.toMutable();let t=o;const i=[];let n;for(;;){if(e.listHeight===t.listHeight){n=e;break}if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeLastElementMutable()}for(let s=i.length-1;s>=0;s--){const r=i[s];n?r.childrenLength>=3?n=ys.create23(r.unappendChild(),n,null,!1):(r.appendChildOfSameHeight(n),n=void 0):r.handleChildrenChanged()}return n?ys.create23(o,n,null,!1):o}function $5(o,e){o=o.toMutable();let t=o;const i=[];for(;e.listHeight!==t.listHeight;){if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeFirstElementMutable()}let n=e;for(let s=i.length-1;s>=0;s--){const r=i[s];n?r.childrenLength>=3?n=ys.create23(n,r.unprependChild(),null,!1):(r.prependChildOfSameHeight(n),n=void 0):r.handleChildrenChanged()}return n?ys.create23(n,o,null,!1):o}class K5{constructor(e){this.lastOffset=bi,this.nextNodes=[e],this.offsets=[bi],this.idxs=[]}readLongestNodeAt(e,t){if(xc(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const i=ru(this.nextNodes);if(!i)return;const n=ru(this.offsets);if(xc(e,n))return;if(xc(n,e))if(gt(n,i.length)<=e)this.nextNodeAfterCurrent();else{const s=Dw(i);s!==-1?(this.nextNodes.push(i.getChild(s)),this.offsets.push(n),this.idxs.push(s)):this.nextNodeAfterCurrent()}else{if(t(i))return this.nextNodeAfterCurrent(),i;{const s=Dw(i);if(s===-1){this.nextNodeAfterCurrent();return}else this.nextNodes.push(i.getChild(s)),this.offsets.push(n),this.idxs.push(s)}}}}nextNodeAfterCurrent(){for(;;){const e=ru(this.offsets),t=ru(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),this.idxs.length===0)break;const i=ru(this.nextNodes),n=Dw(i,this.idxs[this.idxs.length-1]);if(n!==-1){this.nextNodes.push(i.getChild(n)),this.offsets.push(gt(e,t.length)),this.idxs[this.idxs.length-1]=n;break}else this.idxs.pop()}}}function Dw(o,e=-1){for(;;){if(e++,e>=o.childrenLength)return-1;if(o.getChild(e))return e}}function ru(o){return o.length>0?o[o.length-1]:void 0}function xw(o,e,t,i){return new G5(o,e, Line truncated
`?0:1}function bo(o){return o?o instanceof o1||o instanceof J5:!1}class Rw{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);bo(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);bo(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const i=this._undoRedoService.getLastElement(this._model.uri);if(bo(i)&&i.canAppend(this._model))return i;const n=new o1(l.localize(820,"Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(n,t),n}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],Nw(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,i,n,s=$i.unknown({name:"pushEditOperation"})){const r=this._getOrCreateEditStackElement(e,n),a=this._model.applyEdits(t,!0,s),c=Rw._computeCursorState(i,a),h=a.map((d,u)=>({index:u,textChange:d.textChange}));return h.sort((d,u)=>d.textChange.oldPosition===u.textChange.oldPosition?d.index-u.index:d.textChange.oldPosition-u.textChange.oldPosition),r.append(this._model,h.map(d=>d.textChange),Nw(this._model),this._model.getAlternativeVersionId(),c),c}static _computeCursorState(e,t){try{return e?e(t):null}catch(i){return l.onUnexpectedError(i),null}}}class W5{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function H5(o,e,t,i,n){n.spacesDiff=0,n.looksLikeAlignment=!1;let s;for(s=0;s<e&&s<i;s++){const f=o.charCodeAt(s),g=t.charCodeAt(s);if(f!==g)break}let r=0,a=0;for(let f=s;f<e;f++)o.charCodeAt(f)===32?r++:a++;let c=0,h=0;for(let f=s;f<i;f++)t.charCodeAt(f)===32?c++:h++;if(r>0&&a>0||c>0&&h>0)return;const d=Math.abs(a-h),u=Math.abs(r-c);if(d===0){n.spacesDiff=u,u>0&&0<=c-1&&c-1<o.length&&c<t.length&&t.charCodeAt(c)!==32&&o.charCodeAt(c-1)===32&&o.charCodeAt(o.length-1)===44&&(n.looksLikeAlignment=!0);return}if(u%d===0){n.spacesDiff=u/d;return}}function r1(o,e,t){const i=Math.min(o.getLineCount(),1e4);let n=0,s=0,r="",a=0;const c=[2,4,6,8,3,5,7],h=8,d=[0,0,0,0,0,0,0,0,0],u=new W5;for(let m=1;m<=i;m++){const p=o.getLineLength(m),b=o.getLineContent(m),v=p<=65536;let C=!1,w=0,S=0,L=0;for(let x=0,I=p;x<I;x++){const T=v?b.charCodeAt(x):o.getLineCharCode(m,x);if(T===9)L++;else if(T===32)S++;else{C=!0,w=x;break}}if(!C||(L>0?n++:S>1&&s++,H5(r,a,b,w,u),u.looksLikeAlignment&&!(t&&e===u.spacesDiff)))continue;const D=u.spacesDiff;D<=h&&d[D]++,r=b,a=w}let f=t;n!==s&&(f=n<s);let g=e;if(f){let m=0;c.forEach(p=>{const b=d[p];b>m&&(m=b,g=p)}),g===4&&d[4]>0&&d[2]>0&&d[2]>=d[4]*2/3&&(g=2)}return{insertSpaces:f,tabSize:g}}function Oi(o){return(o.metadata&1)>>>0}function qe(o,e){o.metadata=o.metadata&254|e<<0}function jt(o){return(o.metadata&2)>>>1===1}function Ue(o,e){o.metadata=o.metadata&253|(e?1:0)<<1}function a1(o){return(o.metadata&4)>>>2===1}function l1(o,e){o.metadata=o.metadata&251|(e?1:0)<<2}function c1(o){return(o.metadata&64)>>>6===1}function h1(o,e){o.metadata=o.metadata&191|(e?1:0)<<6}function d1(o){return(o.metadata&128)>>>7===1}function u1(o,e){o.metadata=o.metadata&127|(e?1:0)<<7}function eK(o){return(o.metadata&24)>>>3}function f1(o,e){o.metadata=o.metadata&231|e<<3}function tK(o){return(o.metadata&32)>>>5===1}function g1(o,e){o.metadata=o.metadata&223|(e?1:0)<<5}class m1{constructor(e,t,i){this.metadata=0,this.parent=this,this.left=this,this.right=this,qe(this,1),this.start=t,this.end=i,this.delta=0,this.maxEnd=i,this.id=e,this.ownerId=0,this.options=null,l1(this,!1),h1(this,!1),f1(this,1),g1(this,!1),u1(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=null,Ue(this,!1)}reset(e,t,i,n){this.start=t,this.end=i,this.maxEnd=i,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=n}setOptions(e){this.options=e;const t=this.options.className;l1(this,t==="squiggly-error"||t==="squiggly-warning"||t==="squiggly-info"),h1(this,this.options.glyphMarginClassName!==null),f1(this,this.options.stickiness),g1(this,this.options.collapseOnReplaceEdit),u1(this,this.options.affectsFont??!1)}setCachedOffsets(e,t,i){this.cachedVersionId!==i&&(this.range=null),this.cachedVersionId=i,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const ue=new m1(null,0,0);ue.parent=ue,ue.left=ue,ue.right=ue,qe(ue,0);class Mw{constructor(){this.root=ue,this.requestNormalizeDelta=!1}intervalSearch(e,t,i,n,s,r,a){return this.root===ue?[]:cK(this,e,t,i,n,s,r,a)}search(e,t,i,n,s){return this.root===ue?[]:lK(this,e,t,i,n,s)}collectNodesFromOwner(e){return rK(this,e)}collectNodesPostOrder(){return aK(this)}insert(e){p1(this,e),this._normalizeDeltaIfNecessary()}delete(e){_1(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const i=e;let n=0;for(;e!==this.root;)e===e.parent.right&&(n+=e.parent.delta),e=e.parent;const s=i.start+n,r=i.end+n;i.setCachedOffsets(s,r,t)}acceptRep Line truncated
`}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(this.nodeCharCodeAt(n,s-1)===13){const p=this.positionInBuffer(n,s-1);this.deleteNodeTail(n,p),t="\r"+t,n.piece.length===0&&d.push(n)}else this.deleteNodeTail(n,h);else this.deleteNodeTail(n,h);const f=this.createNewPieces(t);u.length>0&&this.rbInsertRight(n,u);let g=n;for(let m=0;m<f.length;m++)g=this.rbInsertRight(g,f[m]);this.deleteNodes(d)}else this.insertContentToNodeRight(t,n)}else{const n=this.createNewPieces(t);let s=this.rbInsertLeft(null,n[0]);for(let r=1;r<n.length;r++)s=this.rbInsertRight(s,n[r])}this.computeBufferMetadata()}delete(e,t){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",t<=0||this.root===ie)return;const i=this.nodeAt(e),n=this.nodeAt(e+t),s=i.node,r=n.node;if(s===r){const f=this.positionInBuffer(s,i.remainder),g=this.positionInBuffer(s,n.remainder);if(i.nodeStartOffset===e){if(t===s.piece.length){const m=s.next();Am(this,s),this.validateCRLFWithPrevNode(m),this.computeBufferMetadata();return}this.deleteNodeHead(s,g),this._searchCache.validate(e),this.validateCRLFWithPrevNode(s),this.computeBufferMetadata();return}if(i.nodeStartOffset+s.piece.length===e+t){this.deleteNodeTail(s,f),this.validateCRLFWithNextNode(s),this.computeBufferMetadata();return}this.shrinkNode(s,f,g),this.computeBufferMetadata();return}const a=[],c=this.positionInBuffer(s,i.remainder);this.deleteNodeTail(s,c),this._searchCache.validate(e),s.piece.length===0&&a.push(s);const h=this.positionInBuffer(r,n.remainder);this.deleteNodeHead(r,h),r.piece.length===0&&a.push(r);const d=s.next();for(let f=d;f!==ie&&f!==r;f=f.next())a.push(f);const u=s.piece.length===0?s.prev():s;this.deleteNodes(a),this.validateCRLFWithNextNode(u),this.computeBufferMetadata()}insertContentToNodeLeft(e,t){const i=[];if(this.shouldCheckCRLF()&&this.endWithCR(e)&&this.startWithLF(t)){const r=t.piece,a={line:r.start.line+1,column:0},c=new Gi(r.bufferIndex,a,r.end,this.getLineFeedCnt(r.bufferIndex,a,r.end),r.length-1);t.piece=c,e+=`
`,Co(this,t,-1,-1),t.piece.length===0&&i.push(t)}const n=this.createNewPieces(e);let s=this.rbInsertLeft(t,n[n.length-1]);for(let r=n.length-2;r>=0;r--)s=this.rbInsertLeft(s,n[r]);this.validateCRLFWithPrevNode(s),this.deleteNodes(i)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+=`
`);const i=this.createNewPieces(e),n=this.rbInsertRight(t,i[0]);let s=n;for(let r=1;r<i.length;r++)s=this.rbInsertRight(s,i[r]);this.validateCRLFWithPrevNode(n)}positionInBuffer(e,t,i){const n=e.piece,s=e.piece.bufferIndex,r=this._buffers[s].lineStarts,c=r[n.start.line]+n.start.column+t;let h=n.start.line,d=n.end.line,u=0,f=0,g=0;for(;h<=d&&(u=h+(d-h)/2|0,g=r[u],u!==d);)if(f=r[u+1],c<g)d=u-1;else if(c>=f)h=u+1;else break;return i?(i.line=u,i.column=c-g,null):{line:u,column:c-g}}getLineFeedCnt(e,t,i){if(i.column===0)return i.line-t.line;const n=this._buffers[e].lineStarts;if(i.line===n.length-1)return i.line-t.line;const s=n[i.line+1],r=n[i.line]+i.column;if(s>r+1)return i.line-t.line;const a=r-1;return this._buffers[e].buffer.charCodeAt(a)===13?i.line-t.line+1:i.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;t<e.length;t++)Am(this,e[t])}createNewPieces(e){if(e.length>vo){const d=[];for(;e.length>vo;){const f=e.charCodeAt(vo-1);let g;f===13||f>=55296&&f<=56319?(g=e.substring(0,vo-1),e=e.substring(vo-1)):(g=e.substring(0,vo),e=e.substring(vo));const m=wo(g);d.push(new Gi(this._buffers.length,{line:0,column:0},{line:m.length-1,column:g.length-m[m.length-1]},m.length-1,g.length)),this._buffers.push(new Pa(g,m))}const u=wo(e);return d.push(new Gi(this._buffers.length,{line:0,column:0},{line:u.length-1,column:e.length-u[u.length-1]},u.length-1,e.length)),this._buffers.push(new Pa(e,u)),d}let t=this._buffers[0].buffer.length;const i=wo(e,!1);let n=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&t!==0&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},n=this._lastChangeBufferPos;for(let d=0;d<i.length;d++)i[d]+=t+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(i.slice(1)),this._buffers[0].buffer+="_"+e,t+=1}else{if(t!==0)for(let d=0;d<i.length;d++)i[d]+=t;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(i.slice(1)),this._buffers[0].buffer+=e}const s=this._buffers[0].buffer.length,r=this._buffers[0].lineStarts.length-1,a=s-this._buffers[0].lineStarts[r],c={line:r,column:a},h=new Gi(0,n,c,this.getLineFeedCnt(0,n,c),s-t);return this._lastChangeBufferPos=c,[h]}getLineRawContent(e,t=0){let i=this.root,n="";const s=this._searchCache.get2(e);if(s){i=s.node;const r=this.getAccumulatedValue(i,e-s.nodeStartLineNumber-1),a=this._buffers[i.piece.bufferIndex].buffer,c=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);if(s.nodeStartLineNumber+i.piece.lineFeedCnt===e)n=a.substring(c+r,c+i.piece.length);else{const h=this.getAccumulatedValue(i,e-s.nodeStartLineNumber);return a.substring(c+r,c+h-t)}}else{let r=0;const a=e;for(;i!==ie;)if(i.left!==ie&&i.lf_left>=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){const c=this.getAccumulatedValue(i,e-i.lf_left-2),h=this.getAccumulatedValue(i,e-i.lf_left-1),d=this._buffers[i.piece.bufferIndex].buffer,u=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return r+=i.size_left,this._searchCache.set({node:i,nodeStartOffset:r,nodeStartLineNumber:a-(e-1-i.lf_left)}),d.substring(u+c,u+h-t)}else if(i.lf_left+i.piece.lineFeedCnt===e-1){const c=this.getAccumulatedValue(i,e-i.lf_left-2),h=this._buffers[i.piece.bufferIndex].buffer,d=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);n=h.substring(d+c,d+i.piece.length);break}else e-=i.lf_left+i.piece.lineFeedCnt,r+=i.size_left+i.piece.length,i=i.right}for(i=i.next();i!==ie;){const r=this._buffers[i.piece.bufferIndex].buffer;if(i.piece.lineFeedCnt>0){const a=this.getAccumulatedValue(i,0),c=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return n+=r.substring(c,c+a-t),n}else{const a=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);n+=r.substr(a,i.piece.length)}i=i.next()}return n}computeBufferMetadata(){let e=this.root,t=1,i=0;for(;e!==ie;)t+=e.lf_left+e.piece.lineFeedCnt,i+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=i,this._searchCache.validate(this._length)}getIndexOf(e,t){const i=e.piece,n=this.positionInBuffer(e,t),s=n.line-i.start.line;if(this.offsetInBuffer(i.bufferIndex,i.end)-this.offsetInBuffer(i.bufferIndex,i.start)===t){const r=this.getLineFeedCnt(e.piece.bufferIndex,i.start,n);if(r!==s)return{index:r,remainder:0}}return{index:s,remainder:n.column}}getAccumulatedValue(e,t){if(t<0)return 0;const i=e.piece,n=this._buffers[i.bufferIndex].lineStarts,s=i.start.line+t+1;return s>i.end.line?n[i.end.line]+i.end.column-n[i.start.line]-i.start.column:n[s]-n[i.start.line]-i.start.column}deleteNodeTail(e,t){const i=e.piece,n=i.lineFeedCnt,s=this.offsetInBuffer(i.bufferIndex,i.end),r=t,a=this.offsetInBuffer(i.bufferIndex,r),c=this.getLineFeedCnt(i.bufferIndex,i.start,r),h=c-n,d=a-s,u=i.length+d;e.piece=new Gi(i.bufferIndex,i.start,r,c,u),Co(this,e,d,h)}deleteNodeHead(e,t){const i=e.piece,n=i.lineFeedCnt,s=this.offsetInBuffer(i.bufferIndex, Line truncated
`);const i=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),n=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const s=wo(t,!1);for(let g=0;g<s.length;g++)s[g]+=n;if(i){const g=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:n-g}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(s.slice(1));const r=this._buffers[0].lineStarts.length-1,a=this._buffers[0].buffer.length-this._buffers[0].lineStarts[r],c={line:r,column:a},h=e.piece.length+t.length,d=e.piece.lineFeedCnt,u=this.getLineFeedCnt(0,e.piece.start,c),f=u-d;e.piece=new Gi(e.piece.bufferIndex,e.piece.start,c,u,h),this._lastChangeBufferPos=c,Co(this,e,t.length,f)}nodeAt(e){let t=this.root;const i=this._searchCache.get(e);if(i)return{node:i.node,nodeStartOffset:i.nodeStartOffset,remainder:e-i.nodeStartOffset};let n=0;for(;t!==ie;)if(t.size_left>e)t=t.left;else if(t.size_left+t.piece.length>=e){n+=t.size_left;const s={node:t,remainder:e-t.size_left,nodeStartOffset:n};return this._searchCache.set(s),s}else e-=t.size_left+t.piece.length,n+=t.size_left+t.piece.length,t=t.right;return null}nodeAt2(e,t){let i=this.root,n=0;for(;i!==ie;)if(i.left!==ie&&i.lf_left>=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){const s=this.getAccumulatedValue(i,e-i.lf_left-2),r=this.getAccumulatedValue(i,e-i.lf_left-1);return n+=i.size_left,{node:i,remainder:Math.min(s+t-1,r),nodeStartOffset:n}}else if(i.lf_left+i.piece.lineFeedCnt===e-1){const s=this.getAccumulatedValue(i,e-i.lf_left-2);if(s+t-1<=i.piece.length)return{node:i,remainder:s+t-1,nodeStartOffset:n};t-=i.piece.length-s;break}else e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right;for(i=i.next();i!==ie;){if(i.piece.lineFeedCnt>0){const s=this.getAccumulatedValue(i,0),r=this.offsetOfNode(i);return{node:i,remainder:Math.min(t-1,s),nodeStartOffset:r}}else if(i.piece.length>=t-1){const s=this.offsetOfNode(i);return{node:i,remainder:t-1,nodeStartOffset:s}}else t-=i.piece.length;i=i.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const i=this._buffers[e.piece.bufferIndex],n=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return i.buffer.charCodeAt(n)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL===`
`)}startWithLF(e){if(typeof e=="string")return e.charCodeAt(0)===10;if(e===ie||e.piece.lineFeedCnt===0)return!1;const t=e.piece,i=this._buffers[t.bufferIndex].lineStarts,n=t.start.line,s=i[n]+t.start.column;return n===i.length-1||i[n+1]>s+1?!1:this._buffers[t.bufferIndex].buffer.charCodeAt(s)===10}endWithCR(e){return typeof e=="string"?e.charCodeAt(e.length-1)===13:e===ie||e.piece.lineFeedCnt===0?!1:this.nodeCharCodeAt(e,e.piece.length-1)===13}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const i=[],n=this._buffers[e.piece.bufferIndex].lineStarts;let s;e.piece.end.column===0?s={line:e.piece.end.line-1,column:n[e.piece.end.line]-n[e.piece.end.line-1]-1}:s={line:e.piece.end.line,column:e.piece.end.column-1};const r=e.piece.length-1,a=e.piece.lineFeedCnt-1;e.piece=new Gi(e.piece.bufferIndex,e.piece.start,s,a,r),Co(this,e,-1,-1),e.piece.length===0&&i.push(e);const c={line:t.piece.start.line+1,column:0},h=t.piece.length-1,d=this.getLineFeedCnt(t.piece.bufferIndex,c,t.piece.end);t.piece=new Gi(t.piece.bufferIndex,c,t.piece.end,d,h),Co(this,t,-1,-1),t.piece.length===0&&i.push(t);const u=this.createNewPieces(`\r
`);this.rbInsertRight(e,u[0]);for(let f=0;f<i.length;f++)Am(this,i[f])}adjustCarriageReturnFromNext(e,t){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const i=t.next();if(this.startWithLF(i)){if(e+=`
`,i.piece.length===1)Am(this,i);else{const n=i.piece,s={line:n.start.line+1,column:0},r=n.length-1,a=this.getLineFeedCnt(n.bufferIndex,s,n.end);i.piece=new Gi(n.bufferIndex,s,n.end,a,r),Co(this,i,-1,-1)}return!0}}return!1}iterate(e,t){if(e===ie)return t(ie);const i=this.iterate(e.left,t);return i&&t(e)&&this.iterate(e.right,t)}getNodeContent(e){if(e===ie)return"";const t=this._buffers[e.piece.bufferIndex],i=e.piece,n=this.offsetInBuffer(i.bufferIndex,i.start),s=this.offsetInBuffer(i.bufferIndex,i.end);return t.buffer.substring(n,s)}getPieceContent(e){const t=this._buffers[e.bufferIndex],i=this.offsetInBuffer(e.bufferIndex,e.start),n=this.offsetInBuffer(e.bufferIndex,e.end);return t.buffer.substring(i,n)}rbInsertRight(e,t){const i=new Ow(t,1);if(i.left=ie,i.right=ie,i.parent=ie,i.size_left=0,i.lf_left=0,this.root===ie)this.root=i,i.color=0;else if(e.right===ie)e.right=i,i.parent=e;else{const s=Pw(e.right);s.left=i,i.parent=s}return v1(this,i),i}rbInsertLeft(e,t){const i=new Ow(t,1);if(i.left=ie,i.right=ie,i.parent=ie,i.size_left=0,i.lf_left=0,this.root===ie)this.root=i,i.color=0;else if(e.left===ie)e.left=i,i.parent=e;else{const n=C1(e.left);n.right=i,i.parent=n}return v1(this,i),i}}class Rc extends l.Disposable{constructor(e,t,i,n,s,r,a){super(),this._onDidChangeContent=this._register(new l.Emitter),this._BOM=t,this._mightContainNonBasicASCII=!r,this._mightContainRTL=n,this._mightContainUnusualLineTerminators=s,this._pieceTree=new _K(e,i,a)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(e){return this._pieceTree.createSnapshot(e?this._BOM:"")}getOffsetAt(e,t){return this._pieceTree.getOffsetAt(e,t)}getPositionAt(e){return this._pieceTree.getPositionAt(e)}getRangeAt(e,t){const i=e+t,n=this.getPositionAt(e),s=this.getPositionAt(i);return new l.Range(n.lineNumber,n.column,s.lineNumber,s.column)}getValueInRange(e,t=0){if(e.isEmpty())return"";const i=this._getEndOfLine(t);return this._pieceTree.getValueInRange(e,i)}getValueLengthInRange(e,t=0){if(e.isEmpty())return 0;if(e.startLineNumber===e.endLineNumber)return e.endColumn-e.startColumn;const i=this.getOffsetAt(e.startLineNumber,e.startColumn),n=this.getOffsetAt(e.endLineNumber,e.endColumn);let s=0;const r=this._getEndOfLine(t),a=this.getEOL();if(r.length!==a.length){const c=r.length-a.length,h=e.endLineNumber-e.startLineNumber;s=c*h}return n-i+s}getCharacterCountInRange(e,t=0){if(this._mightContainNonBasicASCII){let i=0;const n=e.startLineNumber,s=e.endLineNumber;for(let r=n;r<=s;r++){const a=this.getLineContent(r),c=r===n?e.startColumn-1:0,h=r===s?e.endColumn-1:a.length;for(let d=c;d<h;d++)l.isHighSurrogate(a.charCodeAt(d))?(i=i+1,d=d+1):i=i+1}return i+=this._getEndOfLine(t).length*(s-n),i}return this.getValueLengthInRange(e,t)}getNearestChunk(e){return this._pieceTree.getNearestChunk(e)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(e){return this._pieceTree.getLineContent(e)}getLineCharCode(e,t){return this._pieceTree.getLineCharCode(e,t)}getLineLength(e){return this._pieceTree.getLineLength(e)}getLineFirstNonWhitespaceColumn(e){const t=l.firstNonWhitespaceIndex(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){const t=l.lastNonWhitespaceIndex(this.getLineContent(e));return t===-1?0:t+2}_getEndOfLine(e){switch(e){case 1:return`
`;case 2:return`\r
`;case 0:return this.getEOL();default:throw new Error("Unknown EOL preference")}}setEOL(e){this._pieceTree.setEOL(e)}applyEdits(e,t,i){let n=this._mightContainRTL,s=this._mightContainUnusualLineTerminators,r=this._mightContainNonBasicASCII,a=!0,c=[];for(let p=0;p<e.length;p++){const b=e[p];a&&b._isTracked&&(a=!1);const v=b.range;if(b.text){let D=!0;r||(D=!l.isBasicASCII(b.text),r=D),!n&&D&&(n=l.containsRTL(b.text)),!s&&D&&(s=l.containsUnusualLineTerminators(b.text))}let C="",w=0,S=0,L=0;if(b.text){let D;[w,S,L,D]=fr(b.text);const x=this.getEOL();D===0||D===(x===`\r
`?2:1)?C=b.text:C=b.text.replace(/\r\n|\r|\n/g,x)}c[p]={sortIndex:p,identifier:b.identifier||null,range:v,rangeOffset:this.getOffsetAt(v.startLineNumber,v.startColumn),rangeLength:this.getValueLengthInRange(v),text:C,eolCount:w,firstLineLength:S,lastLineLength:L,forceMoveMarkers:!!b.forceMoveMarkers,isAutoWhitespaceEdit:b.isAutoWhitespaceEdit||!1}}c.sort(Rc._sortOpsAscending);let h=!1;for(let p=0,b=c.length-1;p<b;p++){const v=c[p].range.getEndPosition(),C=c[p+1].range.getStartPosition();if(C.isBeforeOrEqual(v)){if(C.isBefore(v))throw new Error("Overlapping ranges are not allowed!");h=!0}}a&&(c=this._reduceOperations(c));const d=i||t?Rc._getInverseEditRanges(c):[],u=[];if(t)for(let p=0;p<c.length;p++){const b=c[p],v=d[p];if(b.isAutoWhitespaceEdit&&b.range.isEmpty())for(let C=v.startLineNumber;C<=v.endLineNumber;C++){let w="";C===v.startLineNumber&&(w=this.getLineContent(b.range.startLineNumber),l.firstNonWhitespaceIndex(w)!==-1)||u.push({lineNumber:C,oldContent:w})}}let f=null;if(i){let p=0;f=[];for(let b=0;b<c.length;b++){const v=c[b],C=d[b],w=this.getValueInRange(v.range),S=v.rangeOffset+p;p+=v.text.length-w.length,f[b]={sortIndex:v.sortIndex,identifier:v.identifier,range:C,text:w,textChange:new Gt(v.rangeOffset,w,S,v.text)}}h||f.sort((b,v)=>b.sortIndex-v.sortIndex)}this._mightContainRTL=n,this._mightContainUnusualLineTerminators=s,this._mightContainNonBasicASCII=r;const g=this._doApplyEdits(c);let m=null;if(t&&u.length>0){u.sort((p,b)=>b.lineNumber-p.lineNumber),m=[];for(let p=0,b=u.length;p<b;p++){const v=u[p].lineNumber;if(p>0&&u[p-1].lineNumber===v)continue;const C=u[p].oldContent,w=this.getLineContent(v);w.length===0||w===C||l.firstNonWhitespaceIndex(w)!==-1||m.push(v)}}return this._onDidChangeContent.fire(),new l.ApplyEditsResult(f,g,m)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const i=e[0].range,n=e[e.length-1].range,s=new l.Range(i.startLineNumber,i.startColumn,n.endLineNumber,n.endColumn);let r=i.startLineNumber,a=i.startColumn;const c=[];for(let g=0,m=e.length;g<m;g++){const p=e[g],b=p.range;t=t||p.forceMoveMarkers,c.push(this.getValueInRange(new l.Range(r,a,b.startLineNumber,b.startColumn))),p.text.length>0&&c.push(p.text),r=b.endLineNumber,a=b.endColumn}const h=c.join(""),[d,u,f]=fr(h);return{sortIndex:0,identifier:e[0].identifier,range:s,rangeOffset:this.getOffsetAt(s.startLineNumber,s.startColumn),rangeLength:this.getValueLengthInRange(s,0),text:h,eolCount:d,firstLineLength:u,lastLineLength:f,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(Rc._sortOpsDescending);const t=[];for(let i=0;i<e.length;i++){const n=e[i],s=n.range.startLineNumber,r=n.range.startColumn,a=n.range.endLineNumber,c=n.range.endColumn;if(s===a&&r===c&&n.text.length===0)continue;n.text?(this._pieceTree.delete(n.rangeOffset,n.rangeLength),this._pieceTree.insert(n.rangeOffset,n.text,!0)):this._pieceTree.delete(n.rangeOffset,n.rangeLength);const h=new l.Range(s,r,a,c);t.push({range:h,rangeLength:n.rangeLength,text:n.text,rangeOffset:n.rangeOffset,forceMoveMarkers:n.forceMoveMarkers})}return t}findMatchesLineByLine(e,t,i,n){return this._pieceTree.findMatchesLineByLine(e,t,i,n)}static _getInverseEditRanges(e){const t=[];let i=0,n=0,s=null;for(let r=0,a=e.length;r<a;r++){const c=e[r];let h,d;s?s.range.endLineNumber===c.range.startLineNumber?(h=i,d=n+(c.range.startColumn-s.range.endColumn)):(h=i+(c.range.startLineNumber-s.range.endLineNumber),d=c.range.startColumn):(h=c.range.startLineNumber,d=c.range.startColumn);let u;if(c.text.length>0){const f=c.eolCount+1;f===1?u=new l.Range(h,d,h,d+c.firstLineLength):u=new l.Range(h,d,h+f-1,c.lastLineLength+1)}else u=new l.Range(h,d,h,d);i=u.endLineNumber,n=u.endColumn,t.push(u),s=c}return t}static _sortOpsAscending(e,t){const i=l.Range.compareRangesUsingEnds(e.range,t.range);return i===0?e.sortIndex-t.sortIndex:i}static _sortOpsDescending(e,t){const i=l.Range.compareRangesUsingEnds(e.range,t.range);return i===0?t.sortIndex-e.sortIndex:-i}}class bK{constructor(e,t,i,n,s,r,a,c,h){this._chunks=e,this._bom=t,this._cr=i,this._lf=n,this._crlf=s,this._containsRTL=r,this._containsUnusualLineTerminators=a,this._isBasicASCII=c,this._normalizeEOL=h}_getEOL(e){const t=this._cr+this._lf+this._crlf,i=this._cr+this._crlf;return t===0?e===1?`
`:`\r
`:i>t/2?`\r
`:`
`}create(e){const t=this._getEOL(e),i=this._chunks;if(this._normalizeEOL&&(t===`\r
`&&(this._cr>0||this._lf>0)||t===`
`&&(this._cr>0||this._crlf>0)))for(let s=0,r=i.length;s<r;s++){const a=i[s].buffer.replace(/\r\n|\r|\n/g,t),c=wo(a);i[s]=new Pa(a,c)}const n=new Rc(i,this._bom,t,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:n,disposable:n}}}class S1{constructor(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(e){if(e.length===0)return;this.chunks.length===0&&l.startsWithUTF8BOM(e)&&(this.BOM=l.UTF8_BOM_CHARACTER,e=e.substr(1));const t=e.charCodeAt(e.length-1);t===13||t>=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){!t&&e.length===0||(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=gK(this._tmpLineStarts,e);this.chunks.push(new Pa(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=l.containsRTL(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=l.containsUnusualLineTerminators(e)))}finish(e=!0){return this._finish(),new bK(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(this.chunks.length===0&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=wo(e.buffer);e.lineStarts=t,this._previousChar===13&&this.cr++}}}class CK{constructor(){this._onDidChangeVisibleRanges=new l.Emitter,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set,this._viewsChanged=qr(this),this.visibleLineRanges=fn({owner:this,equalsFn:Zh(Qb())},e=>(this._viewsChanged.read(e),l.LineRange.joinMany([...this._views].map(i=>i.state.read(e)?.visibleLineRanges??[]))))}attachView(){const e=new wK(t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})});return this._views.add(e),this._viewsChanged.trigger(void 0),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0}),this._viewsChanged.trigger(void 0)}dispose(){this._onDidChangeVisibleRanges.dispose()}}class vK{constructor(e,t){this.visibleLineRanges=e,this.stabilized=t}equals(e){return this===e?!0:!(!l.equals(this.visibleLineRanges,e.visibleLineRanges,(t,i)=>t.equals(i))||this.stabilized!==e.stabilized)}}class wK{get state(){return this._state}constructor(e){this.handleStateChange=e,this._state=Wh({owner:this,equalsFn:Gr((t,i)=>t.equals(i))},void 0)}setVisibleLines(e,t){const i=e.map(s=>new l.LineRange(s.startLineNumber,s.endLineNumber+1)),n=new vK(i,t);this._state.set(n,void 0,void 0),this.handleStateChange(n)}}class SK extends l.Disposable{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new l.RunOnceScheduler(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){l.equals(this._computedLineRanges,this._lineRanges,(e,t)=>e.equals(t))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class y1 extends l.Disposable{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(e,t){super(),this._languageIdCodec=e,this._textModel=t,this._onDidChangeTokens=this._register(new l.Emitter),this.onDidChangeTokens=this._onDidChangeTokens.event,this._onDidChangeFontTokens=this._register(new l.Emitter),this.onDidChangeFontTokens=this._onDidChangeFontTokens.event}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}}class uu{static toKey(e){return`${e.ownerId};${e.decorationId};${e.lineNumber}`}constructor(e,t,i,n){this.ownerId=e,this.decorationId=t,this.lineNumber=i,this.lineHeight=n}}class fu{static toKey(e){return`${e.ownerId};${e.decorationId};${e.lineNumber}`}constructor(e,t,i){this.ownerId=e,this.decorationId=t,this.lineNumber=i}}class yK{constructor(e,t,i,n,s){this._parsedThemeRuleBrand=void 0,this.token=e,this.index=t,this.fontStyle=i,this.foreground=n,this.background=s}}function LK(o){if(!o||!Array.isArray(o))return[];const e=[];let t=0;for(let i=0,n=o.length;i<n;i++){const s=o[i];let r=-1;if(typeof s.fontStyle=="string"){r=0;const h=s.fontStyle.split(" ");for(let d=0,u=h.length;d<u;d++)switch(h[d]){case"italic":r=r|1;break;case"bold":r=r|2;break;case"underline":r=r|4;break;case"strikethrough":r=r|8;break}}let a=null;typeof s.foreground=="string"&&(a=s.foreground);let c=null;typeof s.background=="string"&&(c=s.background),e[t++]=new yK(s.token||"",i,r,a,c)}return e}function DK(o,e Line truncated
`)}function MK(o,e){const t=AK(o);return D1(`font-decoration-${t}-${e}`)}function AK(o){const e=o.toLowerCase().trim();return e?D1(e):"default"}function D1(o){return o.replace(/[^a-z0-9_-]/gi,"-")}class OK{constructor(e=[]){this._annotations=[],this._annotations=e}setAnnotations(e){for(const t of e.annotations){const i=this._getStartIndexOfIntersectingAnnotation(t.range.start),n=this._getEndIndexOfIntersectingAnnotation(t.range.endExclusive);t.annotation!==void 0?this._annotations.splice(i,n-i,{range:t.range,annotation:t.annotation}):this._annotations.splice(i,n-i)}}getAnnotationsIntersecting(e){const t=this._getStartIndexOfIntersectingAnnotation(e.start),i=this._getEndIndexOfIntersectingAnnotation(e.endExclusive);return this._annotations.slice(t,i)}_getStartIndexOfIntersectingAnnotation(e){const t=l.binarySearch2(this._annotations.length,n=>this._annotations[n].range.start-e);let i;if(t>=0){i=t;const n=this._annotations[i]?.range;n&&n.endExclusive===e&&i--}else{const n=this._annotations[-(t+2)]?.range;n&&e>=n.start&&e<n.endExclusive?i=-(t+2):i=-(t+1)}return i}_getEndIndexOfIntersectingAnnotation(e){const t=l.binarySearch2(this._annotations.length,n=>this._annotations[n].range.endExclusive-e);let i;if(t>=0){i=t+1;const n=this._annotations[i]?.range;n&&n.start===e&&i++}else{const n=this._annotations[-(t+1)]?.range;n&&e>=n.start&&e<=n.endExclusive?i=-t:i=-(t+1)}return i}applyEdit(e){const t=this._annotations.slice(),i=[],n=[];let s=0;for(const r of e.replacements){for(;;){const c=t[0];if(!c)break;const h=c.range;if(h.endExclusive>=r.replaceRange.start)break;t.shift();const d={range:h.delta(s),annotation:c.annotation};d.range.isEmpty?n.push(d):i.push(d)}const a=[];for(;;){const c=t[0];if(!c||!c.range.intersectsOrTouches(r.replaceRange))break;t.shift(),a.push(c)}for(let c=a.length-1;c>=0;c--){const h=a[c];let d=h.range;const u=c===0&&r.replaceRange.endExclusive>d.start&&r.replaceRange.start<d.endExclusive,f=d.intersect(r.replaceRange).length;d=d.deltaEnd(-f+(u?r.newText.length:0));const g=d.start-r.replaceRange.start;g>0&&(d=d.delta(-g)),!u&&g>=0&&(d=d.delta(r.newText.length)),d=d.delta(-(r.newText.length-r.replaceRange.length)),t.unshift({annotation:h.annotation,range:d})}s+=r.newText.length-r.replaceRange.length}for(;;){const r=t[0];if(!r)break;t.shift();const a={annotation:r.annotation,range:r.range.delta(s)};a.range.isEmpty?n.push(a):i.push(a)}return this._annotations=i,n}}class Uw{static create(e){return new Uw(e)}constructor(e){this._annotations=e}get annotations(){return this._annotations}}function x1(o){const e=o.map(i=>new l.StringReplacement(l.OffsetRange.ofStartAndLength(i.rangeOffset,i.rangeLength),i.text));return e.reverse(),new l.StringEdit(e)}const Cf=class Cf extends l.Disposable{constructor(e,t){super(),this.textModel=e,this.tokenizationTextModelPart=t,this._onDidChangeLineHeight=this._register(new l.Emitter),this.onDidChangeLineHeight=this._onDidChangeLineHeight.event,this._onDidChangeFont=this._register(new l.Emitter),this.onDidChangeFont=this._onDidChangeFont.event,this._fontAnnotatedString=new OK,this._register(this.tokenizationTextModelPart.onDidChangeFontTokens(i=>{const n=new Set,s=[],r=new Set,a=new Set;for(const c of i.changes.annotations){const d=this.textModel.getPositionAt(c.range.start).lineNumber;let u;if(c.annotation===void 0)u={range:c.range,annotation:void 0};else{const f=`tokenization-font-decoration-${Cf.DECORATION_COUNT}`,g={fontToken:c.annotation,decorationId:f};u={range:c.range,annotation:g},Cf.DECORATION_COUNT++,c.annotation.lineHeightMultiplier&&r.add(new uu(0,f,d,c.annotation.lineHeightMultiplier)),a.add(new fu(0,f,d))}if(s.push(u),!n.has(d)){const f=this.textModel.getOffsetAt(new l.Position(d,1)),g=this.textModel.getOffsetAt(new l.Position(d,this.textModel.getLineMaxColumn(d))),m=new l.OffsetRange(f,g),p=this._fontAnnotatedString.getAnnotationsIntersecting(m);for(const b of p){const v=b.annotation.decorationId;r.add(new uu(0,v,d,null)),a.add(new fu(0,v,d))}n.add(d)}}this._fontAnnotatedString.setAnnotations(Uw.create(s)),this._onDidChangeLineHeight.fire(r),this._onDidChangeFont.fire(a)}))}handleDidChangeContent(e){const t=x1(e.changes),i=this._fontAnnotatedString.applyEdit(t);if(i.length===0)return;const n=new Set,s=new Set;for(const r of i){const c=this.textModel.getPositionAt(r.range.start).lineNumber,h=r.annotation.decorationId;n.add(new uu(0,h,c,null)),s.add(new fu(0,h,c))}this._onDidChangeLineHeight.fire(n),this._onDidChangeFont.fire(s)}getDecorationsInRange(e,t,i,n,s){const r=this.textModel.getOffsetAt(e.getStartPosition()),a=this.textModel.getOffsetAt(e.getEndPosition()),c=this._fontAnnotatedString.getAnnotationsIntersecting(new l.OffsetRange(r,a)),h=[];for(const d of c){const u=d.annotation,f=!!(u.fontToken.fontFamily||u.fontToken.fontSizeMultiplier);if(!(f&&n)){const g=this.textModel.getPositionAt(d.range.start),m=this.textModel.getPositionAt(d.range.endExclusive),p=l.Range.fromPositions(g,m),b=d.annotation,v=MK(b.fontToken.fontFamily??"",b.fontToken.fontSizeM Line truncated
`,!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=l.Disposable.None}_assertNotDisposed(){if(this._isDisposed)throw new l.BugIndicatingError("Model is disposed!")}registerViewModel(e){this._viewModels.add(e)}unregisterViewModel(e){this._viewModels.delete(e)}getTextBuffer(){return this._assertNotDisposed(),this._buffer}_emitContentChangedEvent(e,t,i=null){if(this.__isDisposing)return;this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._fontTokenDecorationsProvider.handleDidChangeContent(t);const n=new Ra(e,t);i&&(n.rawContentChangedEvent.resultingSelection=i),this._onDidChangeContentOrInjectedText(n),this._eventEmitter.fire(n)}setValue(e,t=$i.setValue()){if(this._assertNotDisposed(),e==null)throw l.illegalArgument();const{textBuffer:i,disposable:n}=P1(e,this._options.defaultEOL);this._setValueFromTextBuffer(i,n,t)}_createContentChanged2(e,t,i,n,s,r,a,c,h,d){return{changes:[{range:e,rangeOffset:t,rangeLength:i,text:s}],eol:this._buffer.getEOL(),isEolChange:h,versionId:this.getVersionId(),isUndoing:r,isRedoing:a,isFlush:c,detailedReasons:[d],detailedReasonsChangeLengths:[1]}}_setValueFromTextBuffer(e,t,i){this._assertNotDisposed();const n=this.getFullModelRange(),s=this.getValueLengthInRange(n),r=this.getLineCount(),a=this.getLineMaxColumn(r);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new F1,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new Dc([new d5],this._versionId,!1,!1),this._createContentChanged2(new l.Range(1,1,r,a),0,s,new l.Position(r,a),this.getValue(),!1,!1,!0,!1,i))}setEOL(e){this._assertNotDisposed();const t=e===1?`\r
`:`
`;if(this._buffer.getEOL()===t)return;const i=this.getFullModelRange(),n=this.getValueLengthInRange(i),s=this.getLineCount(),r=this.getLineMaxColumn(s);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new Dc([new p5],this._versionId,!1,!1),this._createContentChanged2(new l.Range(1,1,s,r),0,n,new l.Position(s,r),this.getValue(),!1,!1,!1,!0,$i.eolChange()))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let i=0,n=t.length;i<n;i++){const s=t[i],r=s.range,a=s.cachedAbsoluteStart-s.start,c=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),h=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);s.cachedAbsoluteStart=c,s.cachedAbsoluteEnd=h,s.cachedVersionId=e,s.start=c-a,s.end=h-a,pr(s)}}onBeforeAttached(){return this._attachedEditorCount++,this._attachedEditorCount===1&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.attachView()}onBeforeDetached(e){this._attachedEditorCount--,this._attachedEditorCount===0&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.detachView(e)}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const i=this._buffer.getLineCount();for(let n=1;n<=i;n++){const s=this._buffer.getLineLength(n);s>=h6?t+=s:e+=s}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=typeof e.tabSize<"u"?e.tabSize:this._options.tabSize,i=typeof e.indentSize<"u"?e.indentSize:this._options.originalIndentSize,n=typeof e.insertSpaces<"u"?e.insertSpaces:this._options.insertSpaces,s=typeof e.trimAutoWhitespace<"u"?e.trimAutoWhitespace:this._options.trimAutoWhitespace,r=typeof e.bracketColorizationOptions<"u"?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,a=new l.TextModelResolvedOptions({tabSize:t,indentSize:i,insertSpaces:n,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:s,bracketPairColorizationOptions:r});if(this._options.equals(a))return;const c=this._options.createChangeEvent(a);this._options=a,this._bracketPairs.handleDidChangeOptions(c),this._decorationProvider.handleDidChangeOptions(c),this._onDidChangeOptions.fire(c)}detectIndentation(e,t){this._assertNotDisposed();const i=r1(this._buffer,t,e);this.updateOptions({insertSpaces:i.insertSpaces,tabSize:i.tabSize,indentSize:i.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),xv(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(l.UNUSUAL_LINE_TERMINATORS.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map(i=>({range:i.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new l.BugIndicatingError("Operation would exceed heap memory limits");const i=this.getFullModelRange(),n=this.getValueInRange(i,e);return t?this._buffer.getBOM()+n:n}createSnapshot(e=!1){return new u6(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const i=this.getFullModelRange(),n=this.getValueLengthInRange(i,e);return t?this._buffer.getBOM().length+n:n}getVa Line truncated
`?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),i=e.startLineNumber,n=e.startColumn;let s=Math.floor(typeof i=="number"&&!isNaN(i)?i:1),r=Math.floor(typeof n=="number"&&!isNaN(n)?n:1);if(s<1)s=1,r=1;else if(s>t)s=t,r=this.getLineMaxColumn(s);else if(r<=1)r=1;else{const u=this.getLineMaxColumn(s);r>=u&&(r=u)}const a=e.endLineNumber,c=e.endColumn;let h=Math.floor(typeof a=="number"&&!isNaN(a)?a:1),d=Math.floor(typeof c=="number"&&!isNaN(c)?c:1);if(h<1)h=1,d=1;else if(h>t)h=t,d=this.getLineMaxColumn(h);else if(d<=1)d=1;else{const u=this.getLineMaxColumn(h);d>=u&&(d=u)}return i===s&&n===r&&a===h&&c===d&&e instanceof l.Range&&!(e instanceof l.Selection)?e:new l.Range(s,r,h,d)}_isValidPosition(e,t,i){if(typeof e!="number"||typeof t!="number"||isNaN(e)||isNaN(t)||e<1||t<1||(e|0)!==e||(t|0)!==t)return!1;const n=this._buffer.getLineCount();if(e>n)return!1;if(t===1)return!0;const s=this.getLineMaxColumn(e);if(t>s)return!1;if(i===1){const r=this._buffer.getLineCharCode(e,t-2);if(l.isHighSurrogate(r))return!1}return!0}_validatePosition(e,t,i){const n=Math.floor(typeof e=="number"&&!isNaN(e)?e:1),s=Math.floor(typeof t=="number"&&!isNaN(t)?t:1),r=this._buffer.getLineCount();if(n<1)return new l.Position(1,1);if(n>r)return new l.Position(r,this.getLineMaxColumn(r));if(s<=1)return new l.Position(n,1);const a=this.getLineMaxColumn(n);if(s>=a)return new l.Position(n,a);if(i===1){const c=this._buffer.getLineCharCode(n,s-2);if(l.isHighSurrogate(c))return new l.Position(n,s-1)}return new l.Position(n,s)}validatePosition(e){return this._assertNotDisposed(),e instanceof l.Position&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}isValidRange(e){return this._isValidRange(e,1)}_isValidRange(e,t){const i=e.startLineNumber,n=e.startColumn,s=e.endLineNumber,r=e.endColumn;if(!this._isValidPosition(i,n,0)||!this._isValidPosition(s,r,0))return!1;if(t===1){const a=n>1?this._buffer.getLineCharCode(i,n-2):0,c=r>1&&r<=this._buffer.getLineLength(s)?this._buffer.getLineCharCode(s,r-2):0,h=l.isHighSurrogate(a),d=l.isHighSurrogate(c);return!h&&!d}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof l.Range&&!(e instanceof l.Selection)&&this._isValidRange(e,1))return e;const i=this._validatePosition(e.startLineNumber,e.startColumn,0),n=this._validatePosition(e.endLineNumber,e.endColumn,0),s=i.lineNumber,r=i.column,a=n.lineNumber,c=n.column;{const h=r>1?this._buffer.getLineCharCode(s,r-2):0,d=c>1&&c<=this._buffer.getLineLength(a)?this._buffer.getLineCharCode(a,c-2):0,u=l.isHighSurrogate(h),f=l.isHighSurrogate(d);return!u&&!f?new l.Range(s,r,a,c):s===a&&r===c?new l.Range(s,r-1,a,c-1):u&&f?new l.Range(s,r-1,a,c+1):u?new l.Range(s,r-1,a,c):new l.Range(s,r,a,c+1)}}modifyPosition(e,t){this._assertNotDisposed();const i=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,i)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new l.Range(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,i,n){return this._buffer.findMatchesLineByLine(e,t,i,n)}findMatches(e,t,i,n,s,r,a=c6){this._assertNotDisposed();let c=null;t!==null&&typeof t!="boolean"&&(Array.isArray(t)||(t=[t]),t.every(u=>l.Range.isIRange(u))&&(c=t.map(u=>this.validateRange(u)))),c===null&&(c=[this.getFullModelRange()]),c=c.sort((u,f)=>u.startLineNumber-f.startLineNumber||u.startColumn-f.startColumn);const h=[];h.push(c.reduce((u,f)=>l.Range.areIntersecting(u,f)?u.plusRange(f):(h.push(u),f)));let d;if(!i&&e.indexOf(`
`)<0){const f=new l.SearchParams(e,i,n,s).parseSearchRequest();if(!f)return[];d=g=>this.findMatchesLineByLine(g,f,r,a)}else d=u=>l.TextModelSearch.findMatches(this,new l.SearchParams(e,i,n,s),u,r,a);return h.map(d).reduce((u,f)=>u.concat(f),[])}findNextMatch(e,t,i,n,s,r){this._assertNotDisposed();const a=this.validatePosition(t);if(!i&&e.indexOf(`
`)<0){const h=new l.SearchParams(e,i,n,s).parseSearchRequest();if(!h)return null;const d=this.getLineCount();let u=new l.Range(a.lineNumber,a.column,d,this.getLineMaxColumn(d)),f=this.findMatchesLineByLine(u,h,r,1);return l.TextModelSearch.findNextMatch(this,new l.SearchParams(e,i,n,s),a,r),f.length>0||(u=new l.Range(1,1,a.lineNumber,this.getLineMaxColumn(a.lineNumber)),f=this.findMatchesLineByLine(u,h,r,1),f.length>0)?f[0]:null}return l.TextModelSearch.findNextMatch(this,new l.SearchParams(e,i,n,s),a,r)}findPreviousMatch(e,t,i,n,s,r){this._assertNotDisposed();const a=this.validatePosition(t);return l.TextModelSearch.findPreviousMatch(this,new l.SearchParams(e,i,n,s),a,r)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if((this.getEOL()===`
`?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){if(e instanceof l.ValidAnnotatedEditOperation)return e;const t=this.validateRange(e.range);let i=e.text;if(i){const n=i.length>0&&i.charCodeAt(i.length-1)===13;this.getEOL()===`\r
`&&n&&t.endColumn===this.getLineMaxColumn(t.endLineNumber)&&(i=i.substring(0,i.length-1))}return new l.ValidAnnotatedEditOperation(e.identifier||null,t,i,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let i=0,n=e.length;i<n;i++)t[i]=this._validateEditOperation(e[i]);return t}edit(e,t){this.pushEditOperations(null,e.replacements.map(i=>({range:i.range,text:i.text})),null)}pushEditOperations(e,t,i,n,s){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,this._validateEditOperations(t),i,n,s)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(e,t,i,n,s){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){const r=t.map(c=>({range:this.validateRange(c.range),text:c.text}));let a=!0;if(e)for(let c=0,h=e.length;c<h;c++){const d=e[c];let u=!1;for(let f=0,g=r.length;f<g;f++){const m=r[f].range,p=m.startLineNumber>d.endLineNumber,b=d.startLineNumber>m.endLineNumber;if(!p&&!b){u=!0;break}}if(!u){a=!1;break}}if(a)for(let c=0,h=this._trimAutoWhitespaceLines.length;c<h;c++){const d=this._trimAutoWhitespaceLines[c],u=this.getLineMaxColumn(d);let f=!0;for(let g=0,m=r.length;g<m;g++){const p=r[g].range,b=r[g].text;if(!(d<p.startLineNumber||d>p.endLineNumber)&&!(d===p.startLineNumber&&p.startColumn===u&&p.isEmpty()&&b&&b.length>0&&b.charAt(0)===`
`)&&!(d===p.startLineNumber&&p.startColumn===1&&p.isEmpty()&&b&&b.length>0&&b.charAt(b.length-1)===`
`)){f=!1;break}}if(f){const g=new l.Range(d,1,d,u);t.push(new l.ValidAnnotatedEditOperation(null,g,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,i,n,s)}_applyUndo(e,t,i,n){const s=e.map(r=>{const a=this.getPositionAt(r.newPosition),c=this.getPositionAt(r.newEnd);return{range:new l.Range(a.lineNumber,a.column,c.lineNumber,c.column),text:r.oldText}});this._applyUndoRedoEdits(s,t,!0,!1,i,n)}_applyRedo(e,t,i,n){const s=e.map(r=>{const a=this.getPositionAt(r.oldPosition),c=this.getPositionAt(r.oldEnd);return{range:new l.Range(a.lineNumber,a.column,c.lineNumber,c.column),text:r.newText}});this._applyUndoRedoEdits(s,t,!1,!0,i,n)}_applyUndoRedoEdits(e,t,i,n,s,r){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=i,this._isRedoing=n;const a=this._validateEditOperations(e);this._doApplyEdits(a,!1,$i.applyEdits(),r),this.setEOL(t),this._overwriteAlternativeVersionId(s)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(r),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t,i){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const n=this._validateEditOperations(e);return this._doApplyEdits(n,t??!1,i??$i.applyEdits())}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t,i,n=null){const s=this._buffer.getLineCount(),r=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),a=this._buffer.getLineCount(),c=r.changes;if(this._trimAutoWhitespaceLines=r.trimAutoWhitespaceLineNumbers,c.length!==0){for(let u=0,f=c.length;u<f;u++){const g=c[u];this._decorationsTree.acceptReplace(g.rangeOffset,g.rangeLength,g.text.length,g.forceMoveMarkers)}const h=[];this._increaseVersionId();let d=s;for(let u=0,f=c.length;u<f;u++){const g=c[u],[m]=fr(g.text);this._onDidChangeDecorations.fire();const p=g.range.startLineNumber,b=g.range.endLineNumber,v=b-p,C=m,w=Math.min(v,C),S=C-v,L=a-d-S+p;for(let D=w;D>=0;D--){const x=p+D,I=L+D;h.push(new PT(x,I))}if(w<v){const D=p+w,x=C-v,I=a-d-x+D;h.push(new g5(D+1,b,I))}if(w<C){const D=p+w,x=C-w,I=a-d-x+D+1;h.push(new m5(D+1,I,x))}d+=S}this._emitContentChangedEvent(new Dc(h,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:c,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1,detailedReasons:[i],detailedReasonsChangeLengths:[c.length]},n)}return r.reverseEdits===null?void 0:r.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(e,t,i){if(e&&e.size>0){const s=Array.from(e).map(r=>new PT(r,r));this._onDidChangeContentOrInjectedText(new kT(s))}this._fireOnDidChangeLineHeight(t),this._fireOnDidChangeFont(i)}_fireOnDidChangeLineHeight(e){if(e&&e.size>0){const i=Array.from(e).map(n=>new u5(n.ownerId,n.decorationId,n.lineNumber,n.lineHeight));this._onDidChangeLineHeight.fire(new FT(i))}}_fireOnDidChangeFont(e){if(e&&e.size>0){const i=Array.from(e).map(n=>new f5(n.ownerId,n.lineNumber));this._onDidChangeFont.fire(new BT(i))}}_onDidChangeContentOrInjectedText(e){for(const t of this._viewModels)try{t.onDidChangeContentOrInjectedText(e)}catch(i){l.onUnexpectedError(i)}for(const t of this._viewModels)try{t.emitContentChangeEvent(e)}catch(i){l.onUnexpectedError(i)}}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const i={addDecoration:(s,r)=>this._deltaDecorationsImpl(e,[],[{range:s,options:r}])[0],changeDecoration:(s,r)=>{this._changeDecorationImpl(e,s,r)},changeDecorationOptions:(s,r)=>{this._changeDecorationOptionsImpl(e,s,V1(r))},removeDecoration:s=>{this._deltaDecorationsImpl(e,[s],[])},deltaDecorations:(s,r)=>s.length===0&&r.length===0?[]:this._deltaDecorationsImpl(e,s,r)};let n=null;try{n=t(i)}catch(s){l.onUnexpectedError(s)}return i.addDecoration=pu,i.changeDecoration=pu,i.changeDecorationOptions=pu,i.removeDecoration=pu,i.deltaDecorations=pu,n}deltaDecorations(e,t,i=0){if(this._assertNotDisposed(),e||(e=[]),e.length===0&&t.length===0)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),l.onUnexpectedError(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(i,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationC Line truncated
`)>=0)return null;const r=s.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!r)return null;const a=r[1],c=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!c||c.length!==1)return null;const h=c[0].open,d=s.text.length-r[2].length-1,u=s.text.lastIndexOf(h,d-1);if(u===-1)return null;t.push([u,d])}return t}executeEdits(e,t,i,n,s){let r=null;t==="snippet"&&(r=this._findAutoClosingPairs(i)),r&&(i[0]._isTracked=!0);const a=[],c=[],h=this._model.pushEditOperations(this.getSelections(),i,d=>{if(r)for(let f=0,g=r.length;f<g;f++){const[m,p]=r[f],b=d[f],v=b.range.startLineNumber,C=b.range.startColumn-1+m,w=b.range.startColumn-1+p;a.push(new l.Range(v,w+1,v,w+2)),c.push(new l.Range(v,C+1,v,w+2))}const u=n(d);return u&&(this._isHandling=!0),u},void 0,s);h&&(this._isHandling=!1,this.setSelections(e,t,h,0)),a.length>0&&this._pushAutoClosedAction(a,c)}_executeEdit(e,t,i,n=0){if(this.context.cursorConfig.readOnly)return;const s=Cu.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(r){l.onUnexpectedError(r)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,i,n,s,!1)&&this.revealAll(t,i,!1,0,!0,0)}getAutoClosedCharacters(){return q1.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new vu(this._model,this.getSelections())}endComposition(e,t){const i=$i.cursor({kind:"compositionEnd",detailedSource:t}),n=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t==="keyboard"&&this._executeEditOperation(cr.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,n,this.getSelections(),this.getAutoClosedCharacters()),i)},e,t)}type(e,t,i){const n=$i.cursor({kind:"type",detailedSource:i});this._executeEdit(()=>{if(i==="keyboard"){const s=t.length;let r=0;for(;r<s;){const a=l.nextCharLength(t,r),c=t.substr(r,a);this._executeEditOperation(cr.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),c),n),r+=a}}else this._executeEditOperation(cr.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t),n)},e,i)}compositionType(e,t,i,n,s,r){const a=$i.cursor({kind:"compositionType",detailedSource:r});if(t.length===0&&i===0&&n===0){if(s!==0){const c=this.getSelections().map(h=>{const d=h.getPosition();return new l.Selection(d.lineNumber,d.column+s,d.lineNumber,d.column+s)});this.setSelections(e,r,c,0)}return}this._executeEdit(()=>{this._executeEditOperation(cr.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,i,n,s),a)},e,r)}paste(e,t,i,n,s){const r=$i.cursor({kind:"paste",detailedSource:s});this._executeEdit(()=>{this._executeEditOperation(cr.paste(this.context.cursorConfig,this._model,this.getSelections(),t,i,n||[]),r)},e,s,4)}cut(e,t){const i=$i.cursor({kind:"cut",detailedSource:t});this._executeEdit(()=>{this._executeEditOperation(va.cut(this.context.cursorConfig,this._model,this.getSelections()),i)},e,t)}executeCommand(e,t,i){const n=$i.cursor({kind:"executeCommand",detailedSource:i});this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new pi(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),n)},e,i)}executeCommands(e,t,i){const n=$i.cursor({kind:"executeCommands",detailedSource:i});this._executeEdit(()=>{this._executeEditOperation(new pi(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),n)},e,i)}}class Cu{static from(e,t){return new Cu(e.getVersionId(),t.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,i=this.cursorState.length;t<i;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0}}class q1{static getAllAutoClosedCharacters(e){let t=[];for(const i of e)t=t.concat(i.getAutoClosedCharactersRanges());return t}constructor(e,t,i){this._model=e,this._autoClosedCharactersDecorations=t,this._autoClosedEnclosingDecorations=i}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){const e=[];for(let t=0;t<this._autoClosedCharactersDecorations.length;t++){const i=this._model.getDecorationRange(this._autoClosedCharactersDecorations[t]);i&&e.push(i)}return e}isValid(e){const t=[];for(let i=0;i<this._autoClosedEnclosingDecorations.length;i++){const n=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[i]);if(Line truncated
`:this.model.getEOL();e=e.slice(0),e.sort(l.Range.compareRangesUsingStarts);let s=!1,r=!1;for(const d of e)d.isEmpty()?s=!0:r=!0;if(!r&&!t)return{sourceRanges:[],sourceText:""};const a=[],c=[],h=(d,u="")=>{a.push(d),c.push(this.model.getValueInRange(d,i?2:0)+u)};if(s&&t){let d=0;for(const u of e){const f=u.startLineNumber;u.isEmpty()?f!==d&&h(new l.Range(f,this.model.getLineMinColumn(f),f,this.model.getLineMaxColumn(f)),n):h(u),d=f}}else for(const d of e)d.isEmpty()||h(d);return{sourceRanges:a,sourceText:c.length===1?c[0]:c}}getRichTextToCopy(e,t){const i=this.model.getLanguageId();if(i===pn||e.length!==1)return null;let n=e[0];if(n.isEmpty()){if(!t)return null;const d=n.startLineNumber;n=new l.Range(d,this.model.getLineMinColumn(d),d,this.model.getLineMaxColumn(d))}const s=this._configuration.options.get(59),r=this._getColorMap(),c=/[:;\\\/<>]/.test(s.fontFamily)||s.fontFamily===Zi.fontFamily;let h;return c?h=Zi.fontFamily:(h=s.fontFamily,h=h.replace(/"/g,"'"),/[,']/.test(h)||/[+ ]/.test(h)&&(h=`'${h}'`),h=`${h}, ${Zi.fontFamily}`),{mode:i,html:`<div style="color: ${r[1]};background-color: ${r[2]};font-family: ${h};font-weight: ${s.fontWeight};font-size: ${s.fontSize}px;line-height: ${s.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(n,r)+"</div>"}}_getHTMLToCopy(e,t){const i=e.startLineNumber,n=e.startColumn,s=e.endLineNumber,r=e.endColumn,a=this.getTabSize();let c="";for(let h=i;h<=s;h++){const d=this.model.tokenization.getLineTokens(h),u=d.getLineContent(),f=h===i?n-1:0,g=h===s?r-1:u.length;u===""?c+="<br>":c+=H6(u,d.inflate(),t,f,g,a,l.isWindows)}return c}_getColorMap(){const e=l.TokenizationRegistry.getColorMap(),t=["#000000"];if(e)for(let i=1,n=e.length;i<n;i++)t[i]=l.Color.Format.CSS.formatHex(e[i]);return t}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(e,t,i){return this._withViewEventsCollector(n=>this._cursor.setStates(n,e,t,i))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,i=0){this._withViewEventsCollector(n=>this._cursor.setSelections(n,e,t,i))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new V6);return}this._withViewEventsCollector(e)}executeEdits(e,t,i,n){this._executeCursorEdit(s=>this._cursor.executeEdits(s,e,t,i,n))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(i=>this._cursor.type(i,e,t))}compositionType(e,t,i,n,s){this._executeCursorEdit(r=>this._cursor.compositionType(r,e,t,i,n,s))}paste(e,t,i,n){this._executeCursorEdit(s=>this._cursor.paste(s,e,t,i,n))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(i=>this._cursor.executeCommand(i,e,t))}executeCommands(e,t){this._executeCursorEdit(i=>this._cursor.executeCommands(i,e,t))}revealAllCursors(e,t,i=!1){this._withViewEventsCollector(n=>this._cursor.revealAll(n,e,i,0,t,0))}revealPrimaryCursor(e,t,i=!1){this._withViewEventsCollector(n=>this._cursor.revealPrimary(n,e,i,0,t,0))}revealTopMostCursor(e){const t=this._cursor.getTopMostViewPosition(),i=new l.Range(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(n=>n.emitViewEvent(new bu(e,!1,i,null,0,!0,0)))}revealBottomMostCursor(e){const t=this._cursor.getBottomMostViewPosition(),i=new l.Range(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(n=>n.emitViewEvent(new bu(e,!1,i,null,0,!0,0)))}revealRange(e,t,i,n,s){this._withViewEventsCollector(r=>r.emitViewEvent(new bu(e,!1,i,null,n,t,s)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new O6),this._eventDispatcher.emitOutgoingEvent(new B6))}_withViewEventsCollector(e){return this._transactionalTarget.batchChanges(()=>this._emitViewEvent(e))}_emitViewEvent(e){try{const t=this._eventDispatcher.beginEmitViewEvents();return e(t)}finally{this._eventDispatcher.endEmitViewEvents()}}batchEvents(e){this._withViewEventsCollector(()=>{e()})}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}};class lS{sta Line truncated
`?i=1:e&&e.lineEnding&&e.lineEnding===`\r
`&&(i=2),this._modelData.model.getValue(i,t)}setValue(e){try{if(this._beginUpdate(),!this._modelData)return;this._modelData.model.setValue(e)}finally{this._endUpdate()}}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){try{this._beginUpdate();const t=e;if(this._modelData===null&&t===null||this._modelData&&this._modelData.model===t)return;const i={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:t?.uri||null};this._onWillChangeModel.fire(i);const n=this.hasTextFocus(),s=this._detachModel();this._attachModel(t),this.hasModel()?n&&this.focus():(this._editorTextFocus.setValue(!1),this._editorWidgetFocus.setValue(!1)),this._removeDecorationTypes(),this._onDidChangeModel.fire(i),this._postDetachModelCleanup(s),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const e in this._decorationTypeSubtypes){const t=this._decorationTypeSubtypes[e];for(const i in t)this._removeDecorationType(e+"-"+i)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(e,t,i,n){const s=e.model.validatePosition({lineNumber:t,column:i}),r=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(s);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(r.lineNumber,n)}getTopForLineNumber(e,t=!1){return this._modelData?Va._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?Va._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,i,n=!1){const s=e.model.validatePosition({lineNumber:t,column:i}),r=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(s);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(r.lineNumber,n)}getBottomForLineNumber(e,t=!1){return this._modelData?Va._getVerticalOffsetAfterPosition(this._modelData,e,Number.MAX_SAFE_INTEGER,t):-1}getLineHeightForPosition(e){if(!this._modelData)return-1;const t=this._modelData.viewModel,i=t.coordinatesConverter,n=l.Position.lift(e);if(i.modelPositionIsVisible(n)){const s=i.convertModelPositionToViewPosition(n);return t.viewLayout.getLineHeightForLineNumber(s.lineNumber)}return 0}setHiddenAreas(e,t,i){this._modelData?.viewModel.setHiddenAreas(e.map(n=>l.Range.lift(n)),t,i)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;const t=this._modelData.model.validatePosition(e),i=this._modelData.model.getOptions().tabSize;return Xe.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,i)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!l.Position.isIPosition(e))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,i,n){if(!this._modelData)return;if(!l.Range.isIRange(e))throw new Error("Invalid arguments");const s=this._modelData.model.validateRange(e),r=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(s);this._modelData.viewModel.revealRange("api",i,r,t,n)}revealAllCursors(e,t){this._modelData&&this._modelData.viewModel.revealAllCursors("api",e,t)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,i){if(typeof e!="number")throw new Error("Invalid arguments");this._sendRevealRange(new l.Range(e,1,e,1),t,!1,i)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,i,n){if(!l.Position.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new l.Range(e.lineNumber,e.column,e.lineNumber,e.column),t,i,n)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){const i=l.Selection.isISelection(e),n=l.Range.isIRange(e);if(!i&&!n)throw new Error("Invalid arguments");if(i)this._setSelectionImpl(e,t);else if(n){const s={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(s,t)}}_setSelection Line truncated
`:`
`),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,t){return this.value+=`
${fG(t,e)}
`,this}appendLink(e,t,i){return this.value+="[",this.value+=this._escape(t,"]"),this.value+="](",this.value+=this._escape(String(e),")"),i&&(this.value+=` "${this._escape(this._escape(i,'"'),")")}"`),this.value+=")",this}_escape(e,t){const i=new RegExp(l.escapeRegExpCharacters(t),"g");return e.replace(i,(n,s)=>e.charAt(s-1)!=="\\"?`\\${n}`:n)}}function DN(o){return Do(o)?!o.value:Array.isArray(o)?o.every(DN):!0}function Do(o){return o instanceof DS?!0:o&&typeof o=="object"?typeof o.value=="string"&&(typeof o.isTrusted=="boolean"||typeof o.isTrusted=="object"||o.isTrusted===void 0)&&(typeof o.supportThemeIcons=="boolean"||o.supportThemeIcons===void 0)&&(typeof o.supportAlertSyntax=="boolean"||o.supportAlertSyntax===void 0):!1}function dG(o,e){return o===e?!0:!o||!e?!1:o.value===e.value&&o.isTrusted===e.isTrusted&&o.supportThemeIcons===e.supportThemeIcons&&o.supportHtml===e.supportHtml&&o.supportAlertSyntax===e.supportAlertSyntax&&(o.baseUri===e.baseUri||!!o.baseUri&&!!e.baseUri&&Nx(l.URI.from(o.baseUri),l.URI.from(e.baseUri)))}function uG(o){return o.replace(/[\\`*_{}[\]()#+!~]/g,"\\$&").replace(/^([ \t]*)-/gm,"$1\\-")}function fG(o,e){const t=o.match(/^`+/gm)?.reduce((n,s)=>n.length>s.length?n:s).length??0,i=t>=3?t+1:3;return[`${"`".repeat(i)}${e}`,o,`${"`".repeat(i)}`].join(`
`)}function yu(o){return o.replace(/"/g,"&quot;")}function xS(o){return o&&o.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1")}function gG(o){const e=[],t=o.split("|").map(n=>n.trim());o=t[0];const i=t[1];if(i){const n=/height=(\d+)/.exec(i),s=/width=(\d+)/.exec(i),r=n?n[1]:"",a=s?s[1]:"",c=isFinite(parseInt(a)),h=isFinite(parseInt(r));c&&e.push(`width="${a}"`),h&&e.push(`height="${r}"`)}return{href:o,dimensions:e}}function mG(o,...e){return l.URI.from({scheme:l.Schemas.command,path:o,query:e.length?encodeURIComponent(JSON.stringify(e)):void 0})}class ES{constructor(e){this._prefix=e,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}}const IS=new ES("id#");function TS(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let Ga=TS();function xN(o){Ga=o}const EN=/[&<>"']/,pG=new RegExp(EN.source,"g"),IN=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,_G=new RegExp(IN.source,"g"),bG={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},TN=o=>bG[o];function Dn(o,e){if(e){if(EN.test(o))return o.replace(pG,TN)}else if(IN.test(o))return o.replace(_G,TN);return o}const CG=/(^|[^\[])\^/g;function at(o,e){let t=typeof o=="string"?o:o.source;e=e||"";const i={replace:(n,s)=>{let r=typeof s=="string"?s:s.source;return r=r.replace(CG,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}function NN(o){try{o=encodeURI(o).replace(/%25/g,"%")}catch{return null}return o}const Lu={exec:()=>null};function RN(o,e){const t=o.replace(/\|/g,(s,r,a)=>{let c=!1,h=r;for(;--h>=0&&a[h]==="\\";)c=!c;return c?"|":" |"}),i=t.split(/ \|/);let n=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length<e;)i.push("");for(;n<i.length;n++)i[n]=i[n].trim().replace(/\\\|/g,"|");return i}function Du(o,e,t){const i=o.length;if(i===0)return"";let n=0;for(;n<i&&o.charAt(i-n-1)===e;)n++;return o.slice(0,i-n)}function vG(o,e){if(o.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<o.length;i++)if(o[i]==="\\")i++;else if(o[i]===e[0])t++;else if(o[i]===e[1]&&(t--,t<0))return i;return-1}function MN(o,e,t,i){const n=e.href,s=e.title?Dn(e.title):null,r=o[1].replace(/\\([\[\]])/g,"$1");if(o[0].charAt(0)!=="!"){i.state.inLink=!0;const a={type:"link",raw:t,href:n,title:s,text:r,tokens:i.inlineTokens(r)};return i.state.inLink=!1,a}return{type:"image",raw:t,href:n,title:s,text:Dn(r)}}function wG(o,e){const t=o.match(/^(\s+)(?:```)/);if(t===null)return e;const i=t[1];return e.split(`
`).map(n=>{const s=n.match(/^\s+/);if(s===null)return n;const[r]=s;return r.length>=i.length?n.slice(i.length):n}).join(`
`)}class op{options;rules;lexer;constructor(e){this.options=e||Ga}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const i=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?i:Du(i,`
`)}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const i=t[0],n=wG(i,t[3]||"");return{type:"code",raw:i,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let i=t[2].trim();if(/#$/.test(i)){const n=Du(i,"#");(this.options.pedantic||!n||/ $/.test(n))&&(i=n.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:Du(t[0],`
`)}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){let i=Du(t[0],`
`).split(`
`),n="",s="";const r=[];for(;i.length>0;){let a=!1;const c=[];let h;for(h=0;h<i.length;h++)if(/^ {0,3}>/.test(i[h]))c.push(i[h]),a=!0;else if(!a)c.push(i[h]);else break;i=i.slice(h);const d=c.join(`
`),u=d.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,`
$1`).replace(/^ {0,3}>[ \t]?/gm,"");n=n?`${n}
${d}`:d,s=s?`${s}
${u}`:u;const f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(u,r,!0),this.lexer.state.top=f,i.length===0)break;const g=r[r.length-1];if(g?.type==="code")break;if(g?.type==="blockquote"){const m=g,p=m.raw+`
`+i.join(`
`),b=this.blockquote(p);r[r.length-1]=b,n=n.substring(0,n.length-m.raw.length)+b.raw,s=s.substring(0,s.length-m.text.length)+b.text;break}else if(g?.type==="list"){const m=g,p=m.raw+`
`+i.join(`
`),b=this.list(p);r[r.length-1]=b,n=n.substring(0,n.length-g.raw.length)+b.raw,s=s.substring(0,s.length-m.raw.length)+b.raw,i=p.substring(r[r.length-1].raw.length).split(`
`);continue}}return{type:"blockquote",raw:n,tokens:r,text:s}}}list(e){let t=this.rules.block.list.exec(e);if(t){let i=t[1].trim();const n=i.length>1,s={type:"list",raw:"",ordered:n,start:n?+i.slice(0,-1):"",loose:!1,items:[]};i=n?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=n?i:"[*+-]");const r=new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`);let a=!1;for(;e;){let c=!1,h="",d="";if(!(t=r.exec(e))||this.rules.block.hr.test(e))break;h=t[0],e=e.substring(h.length);let u=t[2].split(`
`,1)[0].replace(/^\t+/,v=>" ".repeat(3*v.length)),f=e.split(`
`,1)[0],g=!u.trim(),m=0;if(this.options.pedantic?(m=2,d=u.trimStart()):g?m=t[1].length+1:(m=t[2].search(/[^ ]/),m=m>4?1:m,d=u.slice(m),m+=t[1].length),g&&/^ *$/.test(f)&&(h+=f+`
`,e=e.substring(f.length+1),c=!0),!c){const v=new RegExp(`^ {0,${Math.min(3,m-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),C=new RegExp(`^ {0,${Math.min(3,m-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),w=new RegExp(`^ {0,${Math.min(3,m-1)}}(?:\`\`\`|~~~)`),S=new RegExp(`^ {0,${Math.min(3,m-1)}}#`);for(;e;){const L=e.split(`
`,1)[0];if(f=L,this.options.pedantic&&(f=f.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),w.test(f)||S.test(f)||v.test(f)||C.test(e))break;if(f.search(/[^ ]/)>=m||!f.trim())d+=`
`+f.slice(m);else{if(g||u.search(/[^ ]/)>=4||w.test(u)||S.test(u)||C.test(u))break;d+=`
`+f}!g&&!f.trim()&&(g=!0),h+=L+`
`,e=e.substring(L.length+1),u=f.slice(m)}}s.loose||(a?s.loose=!0:/\n *\n *$/.test(h)&&(a=!0));let p=null,b;this.options.gfm&&(p=/^\[[ xX]\] /.exec(d),p&&(b=p[0]!=="[ ] ",d=d.replace(/^\[[ xX]\] +/,""))),s.items.push({type:"list_item",raw:h,task:!!p,checked:b,loose:!1,text:d,tokens:[]}),s.raw+=h}s.items[s.items.length-1].raw=s.items[s.items.length-1].raw.trimEnd(),s.items[s.items.length-1].text=s.items[s.items.length-1].text.trimEnd(),s.raw=s.raw.trimEnd();for(let c=0;c<s.items.length;c++)if(this.lexer.state.top=!1,s.items[c].tokens=this.lexer.blockTokens(s.items[c].text,[]),!s.loose){const h=s.items[c].tokens.filter(u=>u.type==="space"),d=h.length>0&&h.some(u=>/\n.*\n/.test(u.raw));s.loose=d}if(s.loose)for(let c=0;c<s.items.length;c++)s.items[c].loose=!0;return s}}html(e){const t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:t[0]}}def(e){const t=this.rules.block.def.exec(e);if(t){const i=t[1].toLowerCase().replace(/\s+/g," "),n=t[2]?t[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",s=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:i,raw:t[0],href:n,title:s}}}table(e){const t=this.rules.block.table.exec(e);if(!t||!/[:|]/.test(t[2]))return;const i=RN(t[1]),n=t[2].replace(/^\||\| *$/g,"").split("|"),s=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split(`
`):[],r={type:"table",raw:t[0],header:[],align:[],rows:[]};if(i.length===n.length){for(const a of n)/^ *-+: *$/.test(a)?r.align.push("right"):/^ *:-+: *$/.test(a)?r.align.push("center"):/^ *:-+ *$/.test(a)?r.align.push("left"):r.align.push(null);for(let a=0;a<i.length;a++)r.header.push({text:i[a],tokens:this.lexer.inline(i[a]),header:!0,align:r.align[a]});for(const a of s)r.rows.push(RN(a,r.header.length).map((c,h)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:r.align[h]})));return r}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t){const i=t[1].charAt(t[1].length-1)===`
`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:i,tokens:this.lexer.inline(i)}}}text(e){const t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){const t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:Dn(t[1])}}tag(e){const t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^<a /i.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const i=t[2].trim();if(!this.options.pedantic&&/^</.test(i)){if(!/>$/.test(i))return;const r=Du(i.slice(0,-1),"\\");if((i.length-r.length)%2===0)return}else{const r=vG(t[2],"()");if(r>-1){const c=(t[0].indexOf("!")===0?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,c).trim(),t[3]=""}}let n=t[2],s="";if(this.options.pedantic){const r=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);r&&(n=r[1],s=r[3])}else s=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^</.test(n)&&(this.options.pedantic&&!/>$/.test(i)?n=n.slice(1):n=n.slice(1,-1)),MN(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:s&&s.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer)}}reflink(e,t){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){const n=(i[2]||i[1]).replace(/\s+/g," "),s=t[n.toLowerCase()];if(!s){const r=i[0].charAt(0);return{type:"text",raw:r,text:r}}return MN(i,s,i[0],this.lexer)}}emStrong(e,t,i=""){let n=this.rules.inline.emStrongLDelim.exec(e);if(!n||n[3]&&i.match(/[\p{L}\p{N}]/u))return;if(!(n[1]||n[2]||"")||!i||this.rules.inline.punctuation.exec(i)){const r=[...n[0]].length-1;let a,c,h=r,d=0;const u=n[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,t=t.slice(-1*e.length+r);(n=u.exec(t))!=null;){if(a=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!a)continue;if(c=[...a].length,n[3]||n[4]){h+=c;continue}else if((n[5]||n[6])&&r%3&&!((r+c)%3)){d+=c;continue}if(h-=c,h>0)continue;c=Math.min(c,c+h+d);const f=[...n[0]][0].length,g=e.slice(0,r+n.index+f+c);if(Math.min(r,c)%2){const p=g.slice(1,-1);return{type:"em",raw:g,text:p,tokens:this.lexer.inlineTokens(p)}}const m=g.slice(2,-2);return{type:"strong",raw:g,text:m,tokens:this.lexer.inlineTokens(m)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let i=t[2].replace(/\n/g," ");const n=/[^ ]/.test(i),s=/^ /.test(i)&&/ $/.test(i);return n&&s&&(i=i.substring(1,i.length-1)),i=Dn(i,!0),{type:"codespan",raw:t[0],text:i}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let i,n;return t[2]==="@"?(i=Dn(t[1]),n="mailto:"+i):(i=Dn(t[1]),n=i),{type:"link",raw:t[0],text:i,href:n,tokens:[{type:"text",raw:i,text:i}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let i,n;if(t[2]==="@")i=Dn(t[0]),n="mailto:"+i;else{let s;do s=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(s!==t[0]);i=Dn(t[0]),t[1]==="www."?n="http://"+t[0]:n=t[0]}return{type:"link",raw:t[0],text:i,href:n,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){let i;return this.lexer.state.inRawBlock?i=t[0]:i=Dn(t[0]),{type:"text",raw:t[0],text:i}}}}const SG=/^(?: *(?:\n|$))+/,yG=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,LG=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,xu=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,DG=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,AN=/(?:[*+-]|\d{1,9}[.)])/,ON=at(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,AN).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),NS=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,xG=/^[^\n]+/,RS=/(?!\s*\])(?:\\.|[^\[\]\\])+/,EG=at(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",RS).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),IG=at(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,AN).getRegex(),rp="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieLine truncated
]`).replace("lheading",ON).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},FN=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,MG=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,BN=/^( {2,}|\\)\n(?!\s*$)/,AG=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Eu="\\p{P}\\p{S}",OG=at(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,Eu).getRegex(),PG=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,kG=at(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Eu).getRegex(),FG=at("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Eu).getRegex(),BG=at("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Eu).getRegex(),zG=at(/\\([punct])/,"gu").replace(/punct/g,Eu).getRegex(),VG=at(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),UG=at(MS).replace("(?:-->|$)","-->").getRegex(),$G=at("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",UG).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ap=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,KG=at(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",ap).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),zN=at(/^!?\[(label)\]\[(ref)\]/).replace("label",ap).replace("ref",RS).getRegex(),VN=at(/^!?\[(ref)\](?:\[\])?/).replace("ref",RS).getRegex(),GG=at("reflink|nolink(?!\\()","g").replace("reflink",zN).replace("nolink",VN).getRegex(),OS={_backpedal:Lu,anyPunctuation:zG,autolink:VG,blockSkip:PG,br:BN,code:MG,del:Lu,emStrongLDelim:kG,emStrongRDelimAst:FG,emStrongRDelimUnd:BG,escape:FN,link:KG,nolink:VN,punctuation:OG,reflink:zN,reflinkSearch:GG,tag:$G,text:AG,url:Lu},jG={...OS,link:at(/^!?\[(label)\]\((.*?)\)/).replace("label",ap).getRegex(),reflink:at(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ap).getRegex()},PS={...OS,escape:at(FN).replace("])","~|])").getRegex(),url:at(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},qG={...PS,br:at(BN).replace("{2,}","*").getRegex(),text:at(PS.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},lp={normal:AS,gfm:NG,pedantic:RG},Iu={normal:OS,gfm:PS,breaks:qG,pedantic:jG};class Ts{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Ga,this.options.tokenizer=this.options.tokenizer||new op,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const t={block:lp.normal,inline:Iu.normal};this.options.pedantic?(t.block=lp.pedantic,t.inline=Iu.pedantic):this.options.gfm&&(t.block=lp.gfm,this.options.breaks?t.inline=Iu.breaks:t.inline=Iu.gfm),this.tokenizer.rules=t}static get rules(){return{block:lp,inline:Iu}}static lex(e,t){return new Ts(t).lex(e)}static lexInline(e,t){return new Ts(t).inlineTokens(e)}lex(e){e=e.replace(/\r\n|\r/g,`
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){const i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){this.options.pedantic?e=e.replace(/\t/g," ").replace(/^ +$/gm,""):e=e.replace(/^( *)(\t+)/gm,(a,c,h)=>c+" ".repeat(h.length));let n,s,r;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(a=>(n=a.call({lexer:this},e,t))?(e=e.substring(n.raw.length),t.push(n),!0):!1))){if(n=this.tokenizer.space(e)){e=e.substring(n.raw.length),n.raw.length===1&&t.length>0?t[t.length-1].raw+=`
`:t.push(n);continue}if(n=this.tokenizer.code(e)){e=e.substring(n.raw.length),s=t[t.length-1],s&&(s.type==="paragraph"||s.type==="text")?(s.raw+=`
`+n.raw,s.text+=`
`+n.text,this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n);continue}if(n=this.tokenizer.fences(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.heading(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.hr(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.blockquote(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.list(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.html(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.def(e)){e=e.substring(n.raw.length),s=t[t.length-1],s&&(s.type==="paragraph"||s.type==="text")?(s.raw+=`
`+n.raw,s.text+=`
`+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=s.text):this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title});continue}if(n=this.tokenizer.table(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.lheading(e)){e=e.substring(n.raw.length),t.push(n);continue}if(r=e,this.options.extensions&&this.options.extensions.startBlock){let a=1/0;const c=e.slice(1);let h;this.options.extensions.startBlock.forEach(d=>{h=d.call({lexer:this},c),typeof h=="number"&&h>=0&&(a=Math.min(a,h))}),a<1/0&&a>=0&&(r=e.substring(0,a+1))}if(this.state.top&&(n=this.tokenizer.paragraph(r))){s=t[t.length-1],i&&s?.type==="paragraph"?(s.raw+=`
`+n.raw,s.text+=`
`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n),i=r.length!==e.length,e=e.substring(n.raw.length);continue}if(n=this.tokenizer.text(e)){e=e.substring(n.raw.length),s=t[t.length-1],s&&s.type==="text"?(s.raw+=`
`+n.raw,s.text+=`
`+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):t.push(n);continue}if(e){const a="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let i,n,s,r=e,a,c,h;if(this.tokens.links){const d=Object.keys(this.tokens.links);if(d.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(r))!=null;)d.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(r=r.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.blockSkip.exec(r))!=null;)r=r.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(r))!=null;)r=r.slice(0,a.index)+"++"+r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(c||(h=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(d=>(i=d.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))){if(i=this.tokenizer.escape(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.tag(e)){e=e.substring(i.raw.length),n=t[t.length-1],n&&i.type==="text"&&n.type==="text"?(n.raw+=i.raw,n.text+=i.text):t.push(i);continue}if(i=this.tokenizer.link(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(i.raw.length),n=t[t.length-1],n&&i.type==="text"&&n.type==="text"?(n.raw+=i.raw,n.text+=i.text):t.push(i);continue}if(i=this.tokenizer.emStrong(e,r,h)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.codespan(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.br(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.del(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.autolink(e)){e=e.substring(i.raw.length),t.push(i);continue}if(!this.state.inLink&&(i=this.tokenizer.url(e))){e=e.substring(i.raw.length),t.push(i);continue}if(s=e,this.options.extensions&&this.options.extensions.startInline){let d=1/0;const u=e.slice(1);let f;this.options.extensions.startInline.forEach(g=>{f=g.call({lexer:this},u),typeof f=="number"&&f>=0&&(d=Math.min(d,f))}),d<1/0&&d>=0&&(s=e.substring(0,d+1))}if(i=this.tokenizer.inlineText(s)){e=e.substring(i.raw.length),i.raw.slice(-1)!=="_"&&(h=i.raw.slice(-1)),c=!0,n=t[t.length-1],n&&n.type==="text"?(n.raw+=i.raw,n.text+=i.text):t.push(i);continue}if(e){const d="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(d);break}else throw new Error(d)}}return t}}class Tu{options;parser;constructor(e){this.options=e||Ga}space(e){return""}code({text:e,lang:t,escaped:i}){const n=(t||"").match(/^\S*/)?.[0],s=e.replace(/\n$/,"")+`
`;return n?'<pre><code class="language-'+Dn(n)+'">'+(i?s:Dn(s,!0))+`</code></pre>
`:"<pre><code>"+(i?s:Dn(s,!0))+`</code></pre>
`}blockquote({tokens:e}){return`<blockquote>
${this.parser.parse(e)}</blockquote>
`}html({text:e}){return e}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
`}hr(e){return`<hr>
`}list(e){const t=e.ordered,i=e.start;let n="";for(let a=0;a<e.items.length;a++){const c=e.items[a];n+=this.listitem(c)}const s=t?"ol":"ul",r=t&&i!==1?' start="'+i+'"':"";return"<"+s+r+`>
`+n+"</"+s+`>
`}listitem(e){let t="";if(e.task){const i=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&e.tokens[0].type==="paragraph"?(e.tokens[0].text=i+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=i+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:i+" ",text:i+" "}):t+=i+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`<li>${t}</li>
`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
`}table(e){let t="",i="";for(let s=0;s<e.header.length;s++)i+=this.tablecell(e.header[s]);t+=this.tablerow({text:i});let n="";for(let s=0;s<e.rows.length;s++){const r=e.rows[s];i="";for(let a=0;a<r.length;a++)i+=this.tablecell(r[a]);n+=this.tablerow({text:i})}return n&&(n=`<tbody>${n}</tbody>`),`<table>
<thead>
`+t+`</thead>
`+n+`</table>
`}tablerow({text:e}){return`<tr>
${e}</tr>
`}tablecell(e){const t=this.parser.parseInline(e.tokens),i=e.header?"th":"td";return(e.align?`<${i} align="${e.align}">`:`<${i}>`)+t+`</${i}>
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${e}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:i}){const n=this.parser.parseInline(i),s=NN(e);if(s===null)return n;e=s;let r='<a href="'+e+'"';return t&&(r+=' title="'+t+'"'),r+=">"+n+"</a>",r}image({href:e,title:t,text:i}){const n=NN(e);if(n===null)return i;e=n;let s=`<img src="${e}" alt="${i}"`;return t&&(s+=` title="${t}"`),s+=">",s}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):e.text}}class kS{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}}class Ns{options;renderer;textRenderer;constructor(e){this.options=e||Ga,this.options.renderer=this.options.renderer||new Tu,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new kS}static parse(e,t){return new Ns(t).parse(e)}static parseInline(e,t){return new Ns(t).parseInline(e)}parse(e,t=!0){let i="";for(let n=0;n<e.length;n++){const s=e[n];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[s.type]){const a=s,c=this.options.extensions.renderers[a.type].call({parser:this},a);if(c!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(a.type)){i+=c||"";continue}}const r=s;switch(r.type){case"space":{i+=this.renderer.space(r);continue}case"hr":{i+=this.renderer.hr(r);continue}case"heading":{i+=this.renderer.heading(r);continue}case"code":{i+=this.renderer.code(r);continue}case"table":{i+=this.renderer.table(r);continue}case"blockquote":{i+=this.renderer.blockquote(r);continue}case"list":{i+=this.renderer.list(r);continue}case"html":{i+=this.renderer.html(r);continue}case"paragraph":{i+=this.renderer.paragraph(r);continue}case"text":{let a=r,c=this.renderer.text(a);for(;n+1<e.length&&e[n+1].type==="text";)a=e[++n],c+=`
`+this.renderer.text(a);t?i+=this.renderer.paragraph({type:"paragraph",raw:c,text:c,tokens:[{type:"text",raw:c,text:c}]}):i+=c;continue}default:{const a='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return i}parseInline(e,t){t=t||this.renderer;let i="";for(let n=0;n<e.length;n++){const s=e[n];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[s.type]){const a=this.options.extensions.renderers[s.type].call({parser:this},s);if(a!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(s.type)){i+=a||"";continue}}const r=s;switch(r.type){case"escape":{i+=t.text(r);break}case"html":{i+=t.html(r);break}case"link":{i+=t.link(r);break}case"image":{i+=t.image(r);break}case"strong":{i+=t.strong(r);break}case"em":{i+=t.em(r);break}case"codespan":{i+=t.codespan(r);break}case"br":{i+=t.br(r);break}case"del":{i+=t.del(r);break}case"text":{i+=t.text(r);break}default:{const a='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return i}}class cp{options;constructor(e){this.options=e||Ga}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}}class UN{defaults=TS();options=this.setOptions;parse=this.parseMarkdown(Ts.lex,Ns.parse);parseInline=this.parseMarkdown(Ts.lexInline,Ns.parseInline);Parser=Ns;Renderer=Tu;TextRenderer=kS;Lexer=Ts;Tokenizer=op;Hooks=cp;constructor(...e){this.use(...e)}walkTokens(e,t){let i=[];for(const n of e)switch(i=i.concat(t.call(this,n)),n.type){case"table":{const s=n;for(const r of s.header)i=i.concat(this.walkTokens(r.tokens,t));for(const r of s.rows)for(const a of r)i=i.concat(this.walkTokens(a.tokens,t));break}case"list":{const s=n;i=i.concat(this.walkTokens(s.items,t));break}default:{const s=n;this.defaults.extensions?.childTokens?.[s.type]?this.defaults.extensions.childTokens[s.type].forEach(r=>{const a=s[r].flat(1/0);i=i.concat(this.walkTokens(a,t))}):s.tokens&&(i=i.concat(this.walkTokens(s.tokens,t)))}}return i}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(i=>{const n={...i};if(n.async=this.defaults.async||n.async||!1,i.extensions&&(i.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){const r=t.renderers[s.name];r?t.renderers[s.name]=function(...a){let c=s.renderer.apply(this,a);return c===!1&&(c=r.apply(this,a)),c}:t.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const r=t[s.level];r?r.unshift(s.tokenizer):t[s.level]=[s.tokenizer],s.start&&(s.level==="block"?t.startBlock?t.startBlock.push(s.start):t.startBlock=[s.start]:s.level==="inline"&&(t.startInline?t.startInline.push(s.start):t.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(t.childTokens[s.name]=s.childTokens)}),n.extensions=t),i.renderer){const s=this.defaults.renderer||new Tu(this.defaults);for(const r in i.renderer){if(!(r in s))throw new Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;const a=r,c=i.renderer[a],h=s[a];s[a]=(...d)=>{let u=c.apply(s,d);return u===!1&&(u=h.apply(s,d)),u||""}}n.renderer=s}if(i.tokenizer){const s=this.defaults.tokenizer||new op(this.defaults);for(const r in i.tokenizer){if(!(r in s))throw new Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;const a=r,c=i.tokenizer[a],h=s[a];s[a]=(...d)=>{let u=c.apply(s,d);return u===!1&&(u=h.apply(s,d)),u}}n.tokenizer=s}if(i.hooks){const s=this.defaults.hooks||new cp;for(const r in i.hooks){if(!(r in s))throw new Error(`hook '${r}' does not exist`);if(r==="options")continue;const a=r,c=i.hooks[a],h=s[a];cp.passThroughHooks.has(r)?s[a]=d=>{if(this.defaults.async)return Promise.resolve(c.call(s,d)).then(f=>h.call(s,f));const u=c.call(s,d);return h.call(s,u)}:s[a]=(...d)=>{let u=c.apply(s,d);return u===!1&&(u=h.apply(s,d)),u}}n.hooks=s}if(i.walkTokens){const s=this.defaults.walkTokens,r=i.walkTokens;n.walkTokens=function(a){let c=[];return c.push(r.call(this,a)),s&&(c=c.concat(s.call(this,a))),c}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Ts.lex(e,t??this.defaults)}parser(e,t){return Ns.parse(e,t??this.defaults)}parseMarkdown(e,t){return(n,s)=>{const r={...s},a={...this.defaults,...r},c=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&r.async===!1)return c(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof n>"u"||n===null)return c(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return c(new Error("marked(): input parameter is of Line truncated
Please report this to https://github.com/markedjs/marked.`,e){const n="<p>An error occurred:</p><pre>"+Dn(i.message+"",!0)+"</pre>";return t?Promise.resolve(n):n}if(t)return Promise.reject(i);throw i}}}const ja=new UN;function it(o,e){return ja.parse(o,e)}it.options=it.setOptions=function(o){return ja.setOptions(o),it.defaults=ja.defaults,xN(it.defaults),it},it.getDefaults=TS,it.defaults=Ga,it.use=function(...o){return ja.use(...o),it.defaults=ja.defaults,xN(it.defaults),it},it.walkTokens=function(o,e){return ja.walkTokens(o,e)},it.parseInline=ja.parseInline,it.Parser=Ns,it.parser=Ns.parse,it.Renderer=Tu,it.TextRenderer=kS,it.Lexer=Ts,it.lexer=Ts.lex,it.Tokenizer=op,it.Hooks=cp,it.parse=it,it.options,it.setOptions,it.use,it.walkTokens,it.parseInline;const YG=it;Ns.parse;const Nu=Ts.lex;function ZG(o){return JSON.stringify(o,QG)}function FS(o){let e=JSON.parse(o);return e=BS(e),e}function QG(o,e){return e instanceof RegExp?{$mid:2,source:e.source,flags:e.flags}:e}function BS(o,e=0){if(!o||e>200)return o;if(typeof o=="object"){switch(o.$mid){case 1:return l.URI.revive(o);case 2:return new RegExp(o.source,o.flags);case 17:return new Date(o.source)}if(o instanceof l.VSBuffer||o instanceof Uint8Array)return o;if(Array.isArray(o))for(let t=0;t<o.length;++t)o[t]=BS(o[t],e+1);else for(const t in o)Object.hasOwnProperty.call(o,t)&&(o[t]=BS(o[t],e+1))}return o}function $N(o,e){(e==null||e>o.length)&&(e=o.length);for(var t=0,i=Array(e);t<e;t++)i[t]=o[t];return i}function XG(o){if(Array.isArray(o))return o}function JG(o,e){var t=o==null?null:typeof Symbol<"u"&&o[Symbol.iterator]||o["@@iterator"];if(t!=null){var i,n,s,r,a=[],c=!0,h=!1;try{if(s=(t=t.call(o)).next,e!==0)for(;!(c=(i=s.call(t)).done)&&(a.push(i.value),a.length!==e);c=!0);}catch(d){h=!0,n=d}finally{try{if(!c&&t.return!=null&&(r=t.return(),Object(r)!==r))return}finally{if(h)throw n}}return a}}function WG(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function HG(o,e){return XG(o)||JG(o,e)||ej(o,e)||WG()}function ej(o,e){if(o){if(typeof o=="string")return $N(o,e);var t={}.toString.call(o).slice(8,-1);return t==="Object"&&o.constructor&&(t=o.constructor.name),t==="Map"||t==="Set"?Array.from(o):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?$N(o,e):void 0}}const KN=Object.entries,GN=Object.setPrototypeOf,tj=Object.isFrozen,ij=Object.getPrototypeOf,nj=Object.getOwnPropertyDescriptor;let ji=Object.freeze,Fn=Object.seal,zc=Object.create,jN=typeof Reflect<"u"&&Reflect,zS=jN.apply,VS=jN.construct;ji||(ji=function(e){return e}),Fn||(Fn=function(e){return e}),zS||(zS=function(e,t){for(var i=arguments.length,n=new Array(i>2?i-2:0),s=2;s<i;s++)n[s-2]=arguments[s];return e.apply(t,n)}),VS||(VS=function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return new e(...i)});const qa=qt(Array.prototype.forEach),sj=qt(Array.prototype.lastIndexOf),qN=qt(Array.prototype.pop),Vc=qt(Array.prototype.push),oj=qt(Array.prototype.splice),qi=Array.isArray,Ru=qt(String.prototype.toLowerCase),US=qt(String.prototype.toString),YN=qt(String.prototype.match),Uc=qt(String.prototype.replace),ZN=qt(String.prototype.indexOf),rj=qt(String.prototype.trim),aj=qt(Number.prototype.toString),lj=qt(Boolean.prototype.toString),QN=typeof BigInt>"u"?null:qt(BigInt.prototype.toString),XN=typeof Symbol>"u"?null:qt(Symbol.prototype.toString),It=qt(Object.prototype.hasOwnProperty),Mu=qt(Object.prototype.toString),vi=qt(RegExp.prototype.test),$c=cj(TypeError);function qt(o){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return zS(o,e,i)}}function cj(o){return function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return VS(o,t)}}function Re(o,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ru;if(GN&&GN(o,null),!qi(e))return o;let i=e.length;for(;i--;){let n=e[i];if(typeof n=="string"){const s=t(n);s!==n&&(tj(e)||(e[i]=s),n=s)}o[n]=!0}return o}function hj(o){for(let e=0;e<o.length;e++)It(o,e)||(o[e]=null);return o}function Pi(o){const e=zc(null);for(const i of KN(o)){var t=HG(i,2);const n=t[0],s=t[1];It(o,n)&&(qi(s)?e[n]=hj(s):s&&typeof s=="object"&&s.constructor===Object?e[n]=Pi(s):e[n]=s)}return e}function dj(o){switch(typeof o){case"string":return o;case"number":return aj(o);case"boolean":return lj(o);case"bigint":return QN?QN(o):"0";case"symbol":return XN?XN(o):"Symbol()";case"undefined":return Mu(o);case"function":case"object":{if(o===null)return Mu(o);const e=o,t=Rs(e,"toString");if(typeof t=="function"){const i=t(e);return typeof i=="string"?i:Mu(i)}return Mu(o)}default:return Mu(o)}}function Rs(o,e){for(;o!==null;){const i=nj(o,e);if(i){if(i.get)return qt(i.get);if(typeof i.value=="function")return qt(i.value)}o=ij(o)}function t(){return null}return t}function uj(o){try{return vi(o,""),!0}catch{return!1}}const JN=ji(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),$S=ji(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),KS=ji(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),fj=ji(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","s Line truncated
`+ni),Vr&&qa([X,re,Y],$n=>{ni=Uc(ni,$n," ")}),D&&Ab?T(ni):ni},e.setConfig=function(){let ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};LD(ae),mD=!0},e.clearConfig=function(){Vh=null,mD=!1},e.isValidAttribute=function(ae,N,V){Vh||LD({});const te=Bt(ae),He=Bt(N);return vP(te,He,V)},e.addHook=function(ae,N){typeof N=="function"&&Vc(G[ae],N)},e.removeHook=function(ae,N){if(N!==void 0){const V=sj(G[ae],N);return V===-1?void 0:oj(G[ae],V,1)[0]}return qN(G[ae])},e.removeHooks=function(ae){G[ae]=[]},e.removeAllHooks=function(){G=iR()},e}var Kc=nR();const sR=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","s","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]),oR=Object.freeze(["href","target","src","alt","title","for","name","role","tabindex","x-dispatch","required","checked","placeholder","type","start","width","height","align"]),qS="vscode-relative-path";function rR(o,e){if(e.override==="*")return!0;try{const t=new URL(o,qS+"://");return!!(e.override.includes(t.protocol.replace(/:$/,""))||e.allowRelativePaths&&t.protocol===qS+":"&&!o.trim().toLowerCase().startsWith(qS))}catch{return!1}}function xj(o,e){Kc.addHook("afterSanitizeAttributes",t=>{for(const i of["href","src"])if(t.hasAttribute(i)){const n=t.getAttribute(i);i==="href"?!n.startsWith("#")&&!rR(n,o)&&t.removeAttribute(i):rR(n,e)||t.removeAttribute(i)}})}const Ej=Object.freeze({ALLOWED_TAGS:[...sR],ALLOWED_ATTR:[...oR],ALLOW_UNKNOWN_PROTOCOLS:!0});function Ij(o,e){return aR(o,e,"trusted")}function aR(o,e,t){try{const i={...Ej};e?.allowedTags&&(e.allowedTags.override&&(i.ALLOWED_TAGS=[...e.allowedTags.override]),e.allowedTags.augment&&(i.ALLOWED_TAGS=[...i.ALLOWED_TAGS??[],...e.allowedTags.augment]));let n=[...oR];e?.allowedAttributes&&(e.allowedAttributes.override&&(n=[...e.allowedAttributes.override]),e.allowedAttributes.augment&&(n=[...n,...e.allowedAttributes.augment])),n=n.map(a=>typeof a=="string"?a.toLowerCase():{attributeName:a.attributeName.toLowerCase(),shouldKeep:a.shouldKeep});const s=new Set(n.map(a=>typeof a=="string"?a:a.attributeName)),r=new Map;for(const a of n)typeof a=="string"?r.delete(a):r.set(a.attributeName,a);return i.ALLOWED_ATTR=Array.from(s),xj({override:e?.allowedLinkProtocols?.override??[l.Schemas.http,l.Schemas.https],allowRelativePaths:e?.allowRelativeLinkPaths??!1},{override:e?.allowedMediaProtocols?.override??[l.Schemas.http,l.Schemas.https],allowRelativePaths:e?.allowRelativeMediaPaths??!1}),e?.replaceWithPlaintext&&Kc.addHook("uponSanitizeElement",Nj),r.size&&Kc.addHook("uponSanitizeAttribute",(a,c)=>{const h=r.get(c.attrName);if(h){const d=h.shouldKeep(a,c);typeof d=="string"?(c.keepAttr=!0,c.attrValue=d):c.keepAttr=d}else c.keepAttr=s.has(c.attrName)}),t==="dom"?Kc.sanitize(o,{...i,RETURN_DOM_FRAGMENT:!0}):Kc.sanitize(o,{...i,RETURN_TRUSTED_TYPE:!0})}finally{Kc.removeAllHooks()}}const Tj=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],Nj=(o,e,t)=>{if(!e.allowedTags[e.tagName]&&e.tagName!=="body"){const i=lR(o);i&&(o.nodeType===Node.COMMENT_NODE?o.parentElement?.insertBefore(i,o):o.parentElement?.replaceChild(i,o))}};function lR(o){if(!o.ownerDocument)return;let e,t;if(o.nodeType===Node.COMMENT_NODE)e=`<!--${o.textContent}-->`;else if(o instanceof Element){const r=o.tagName.toLowerCase(),a=Tj.includes(r),c=o.attributes.length?" "+Array.from(o.attributes).map(h=>`${h.name}="${h.value}"`).join(" "):"";e=`<${r}${c}>`,a||(t=`</${r}>`)}else return;const i=document.createDocumentFragment(),n=o.ownerDocument.createTextNode(e);for(i.appendChild(n);o.firstChild;)i.appendChild(o.firstChild);const s=t?o.ownerDocument.createTextNode(t):void 0;return s&&i.appendChild(s),i}function cR(o,e,t){const i=aR(e,t,"dom");oi(o,i)}const Rj=new RegExp(`(\\\\)?\\$\\((${_.ThemeIcon.iconNameExpression}(?:${_.ThemeIcon.iconModifierExpression})?)\\)`,"g");function vr(o,e){const t=new Array;let i,n=0,s=0;for(;(i=Rj.exec(o))!==null;){s=i.index||0,n<s&&t.push(o.substring(n,s)),n=(i.index||0)+i[0].length;const[,r,a]=i;t.push(r?`$(${a})`:Gc({id:a},e))}return n<o.length&&t.push(o.substring(n)),t}function Gc(o,e){const t=Q("span"),i=_.ThemeIcon.asClassNameArray(o);return e&&i.push("codicon-colored"),t.classList.add(...i),t}function Mj(o){try{const e=l.URI.parse(o);if(e.scheme===l.Schemas.file){const t=e.fsPath,i=e.fragment;return yu(i?`${t}#${i}`:t)}}catch{}return""}const YS=Object.freeze({image:({href:o,title:e,text:t})=>{let i=[],n=[];return o&&({href:o,dimensions:i}=gG(o),n.push(`src="${yu(o)}"`)),t&&n.push(`alt="${yu(t)}"`),e&&n.push(`title="${yu(e)}"`),i.length&&(n=n.concat(i)),"<img "+n.join(" ")+">"},paragraph({tokens:o}){retuLine truncated
`}}function dp(o,e={},t){const i=new l.DisposableStore;let n=!1;const s=new UN(...e.markedExtensions??[]),{renderer:r,codeBlocks:a,syncCodeBlocks:c}=Pj(s,e,o),h=kj(o);let d;if(e.fillInIncompleteTokens){const m={...s.defaults,...e.markedOptions,renderer:r},p=s.lexer(h,m),b=Qj(p);d=s.parser(b,m)}else d=s.parse(h,{...e?.markedOptions,renderer:r,async:!1});o.supportThemeIcons&&(d=vr(d).map(p=>typeof p=="string"?p:p.outerHTML).join(""));const u=document.createElement("div"),f=fR(o,e.sanitizerConfig??{});cR(u,d,f),Oj(o,e,u);let g;if(t?(g=t,oi(t,...u.childNodes)):g=u,a.length>0)Promise.all(a).then(m=>{if(n)return;const p=new Map(m),b=g.querySelectorAll("div[data-code]");for(const v of b){const C=p.get(v.dataset.code??"");C&&oi(v,C)}e.asyncRenderCallback?.()});else if(c.length>0){const m=new Map(c),p=g.querySelectorAll("div[data-code]");for(const b of p){const v=m.get(b.dataset.code??"");v&&oi(b,v)}}if(e.asyncRenderCallback)for(const m of g.getElementsByTagName("img")){const p=i.add(R(m,"load",()=>{p.dispose(),e.asyncRenderCallback()}))}if(e.actionHandler){const m=p=>{const b=new Bi(j(g),p);!b.leftButton&&!b.middleButton||hR(o,e,b)};i.add(R(g,"click",m)),i.add(R(g,"auxclick",m)),i.add(R(g,"keydown",p=>{const b=new Be(p);!b.equals(10)&&!b.equals(3)||hR(o,e,b)}))}for(const m of[...g.getElementsByTagName("input")])if(m.attributes.getNamedItem("type")?.value==="checkbox")m.setAttribute("disabled","");else if(e.sanitizerConfig?.replaceWithPlaintext){const p=lR(m);p?m.parentElement?.replaceChild(p,m):m.remove()}else m.remove();return{element:g,dispose:()=>{n=!0,i.dispose()}}}function Oj(o,e,t){for(const i of t.querySelectorAll("img, audio, video, source")){const n=i.getAttribute("src");if(n){let s=n;try{o.baseUri&&(s=ZS(l.URI.from(o.baseUri),s))}catch{}if(i.setAttribute("src",dR(o,s,!0)),e.sanitizerConfig?.remoteImageIsAllowed){const r=l.URI.parse(s);r.scheme!==l.Schemas.file&&r.scheme!==l.Schemas.data&&!e.sanitizerConfig.remoteImageIsAllowed(r)&&i.replaceWith(Q("",void 0,i.outerHTML))}}}for(const i of t.querySelectorAll("a")){const n=i.getAttribute("href");if(i.setAttribute("href",""),!n||/^data:|javascript:/i.test(n)||/^command:/i.test(n)&&!o.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(n))i.replaceWith(...i.childNodes);else{let s=dR(o,n,!1);o.baseUri&&(s=ZS(l.URI.from(o.baseUri),n)),i.dataset.href=s}}}function Pj(o,e,t){const i=new o.Renderer(e.markedOptions);i.image=YS.image,i.link=YS.link,i.paragraph=YS.paragraph,t.supportAlertSyntax&&(i.blockquote=Aj(i.blockquote));const n=[],s=[];return e.codeBlockRendererSync?i.code=({text:r,lang:a,raw:c})=>{const h=IS.nextId(),d=e.codeBlockRendererSync(uR(a),r,c);return s.push([h,d]),`<div class="code" data-code="${h}">${l.escape(r)}</div>`}:e.codeBlockRenderer&&(i.code=({text:r,lang:a})=>{const c=IS.nextId(),h=e.codeBlockRenderer(uR(a),r);return n.push(h.then(d=>[c,d])),`<div class="code" data-code="${c}">${l.escape(r)}</div>`}),t.supportHtml||(i.html=({text:r})=>e.sanitizerConfig?.replaceWithPlaintext?l.escape(r):(t.isTrusted?r.match(/^(<span[^>]+>)|(<\/\s*span>)$/):void 0)?r:""),{renderer:i,codeBlocks:n,syncCodeBlocks:s}}function kj(o){let e=o.value;return e.length>1e5&&(e=`${e.substr(0,1e5)}…`),o.supportThemeIcons&&(e=cG(e)),e}function hR(o,e,t){const i=t.target.closest("a[data-href]");if(Ve(i))try{let n=i.dataset.href;n&&(o.baseUri&&(n=ZS(l.URI.from(o.baseUri),n)),e.actionHandler?.(n,o))}catch(n){l.onUnexpectedError(n)}finally{t.preventDefault(),t.stopPropagation()}}function Fj(o,e){let t;try{t=FS(decodeURIComponent(e))}catch{}return t?(t=l.cloneAndChange(t,i=>{if(o.uris&&o.uris[i])return l.URI.revive(o.uris[i])}),encodeURIComponent(JSON.stringify(t))):e}function dR(o,e,t){const i=o.uris&&o.uris[e];let n=l.URI.revive(i);return t?e.startsWith(l.Schemas.data+":")?e:(n||(n=l.URI.parse(e)),l.FileAccess.uriToBrowserUri(n).toString(!0)):!n||l.URI.parse(e).toString()===n.toString()?e:(n.query&&(n=n.with({query:Fj(o,n.query)})),n.toString())}function uR(o){if(!o)return"";const e=o.split(/[\s+|:|,|\{|\?]/,1);return e.length?e[0]:o}function ZS(o,e){return/^\w[\w\d+.-]*:/.test(e)?e:o.path.endsWith("/")?Ax(o,e).toString():Ax(Rx(o),e).toString()}function Bj(o,e,t={}){const i=fR(e,t);return Ij(o,i)}const zj=Object.freeze([...sR,"input"]),Vj=Object.freeze(["align","autoplay","alt","colspan","controls","draggable","height","href","loop","muted","playsinline","poster","rowspan","src","target","title","type","width","start","checked","disabled","value","data-code","data-href","data-severity",{attributeName:"style",shouldKeep:(o,e)=>o.tagName==="SPAN"&&e.attrName==="style"?/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z0-9]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z0-9]+)+\));)?(border-radius:[0-9]+px;)?$/.test(e.attrValue):!1},{attributeName:"class",shouldKeep:(o,e)=>o.tagName==="SPAN"&&e.attrName==="class"?/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(e.attrValue):!1}]);function fR(o,e){const t=o.isTrusted??!1,i=[l.Schemas.http,Line truncated
`,o.html=e=>"",o.heading=function({tokens:e}){return this.parser.parseInline(e)+`
`},o.hr=()=>"",o.list=function({items:e}){return e.map(t=>this.listitem(t)).join(`
`)+`
`},o.listitem=({text:e})=>e+`
`,o.paragraph=function({tokens:e}){return this.parser.parseInline(e)+`
`},o.table=function({header:e,rows:t}){return e.map(i=>this.tablecell(i)).join(" ")+`
`+t.map(i=>i.map(n=>this.tablecell(n)).join(" ")).join(`
`)+`
`},o.tablerow=({text:e})=>e,o.tablecell=function({tokens:e}){return this.parser.parseInline(e)},o.strong=({text:e})=>e,o.em=({text:e})=>e,o.codespan=({text:e})=>e,o.br=e=>`
`,o.del=({text:e})=>e,o.image=e=>"",o.text=({text:e})=>e,o.link=({text:e})=>e,o}function Au(o){let e="";return o.forEach(t=>{e+=t.raw}),e}function gR(o){if(o.tokens)for(let e=o.tokens.length-1;e>=0;e--){const t=o.tokens[e];if(t.type==="text"){const i=t.raw.split(`
`),n=i[i.length-1];if(n.includes("`"))return Jj(o);if(n.includes("**"))return n7(o);if(n.match(/\*\w/))return Wj(o);if(n.match(/(^|\s)__\w/))return s7(o);if(n.match(/(^|\s)_\w/))return Hj(o);if(Gj(n)||jj(n)&&o.tokens.slice(0,e).some(s=>s.type==="text"&&s.raw.match(/\[[^\]]*$/))){const s=o.tokens.slice(e+1);return s[0]?.type==="link"&&s[1]?.type==="text"&&s[1].raw.match(/^ *"[^"]*$/)||n.match(/^[^"]* +"[^"]*$/)?t7(o):e7(o)}else if(n.match(/(^|\s)\[\w*[^\]]*$/))return i7(o)}}}function Gj(o){return!!o.match(/(^|\s)\[.*\]\(\w*/)}function jj(o){return!!o.match(/^[^\[]*\]\([^\)]*$/)}function qj(o){const e=o.items[o.items.length-1],t=e.tokens?e.tokens[e.tokens.length-1]:void 0,i=h=>{const u=h.items.at(-1)?.tokens.at(-1);return u?.type==="heading"||u?.type==="list"&&i(u)};let n;if(t?.type==="text"&&!("inRawBlock"in e))n=gR(t);else if(i(o)){const h=Nu(o.raw.trim()+" &nbsp;")[0];return h.type!=="list"?void 0:h}if(!n||n.type!=="paragraph")return;const s=Au(o.items.slice(0,-1)),r=e.raw.match(/^(\s*(-|\d+\.|\*) +)/)?.[0];if(!r)return;const a=r+Au(e.tokens.slice(0,-1))+n.raw,c=Nu(s+a)[0];if(c.type==="list")return c}function Yj(o,e){if(o.raw.match(/-\s*$/))return Nu(e+" &nbsp;")}const Zj=3;function Qj(o){for(let e=0;e<Zj;e++){const t=Xj(o);if(t)o=t;else break}return o}function Xj(o){let e,t;for(e=0;e<o.length;e++){const a=o[e];if(a.type==="paragraph"&&a.raw.match(/(\n|^)\|/)){t=o7(o.slice(e));break}}let i=o.length-1;for(;i>=0&&(o[i].type==="space"||o[i].type==="html");)i--;const n=i>=0?o[i]:void 0,s=o.slice(i+1);if(!t&&n?.type==="list"){const a=qj(n);a&&(t=[a,...s],e=i)}if(!t&&n?.type==="paragraph"){const a=gR(n);a&&(t=[a,...s],e=i)}if(t){const a=[...o.slice(0,e),...t];return a.links=o.links,a}const r=o.at(-1);if(r?.type==="heading"){const a=Yj(r,Au(o));if(a)return a}return null}function Jj(o){return wr(o,"`")}function Wj(o){return wr(o,"*")}function Hj(o){return wr(o,"_")}function e7(o){return wr(o,")",!1)}function t7(o){return wr(o,'")',!1)}function i7(o){return wr(o,"](https://microsoft.com)",!1)}function n7(o){return wr(o,"**")}function s7(o){return wr(o,"__")}function wr(o,e,t=!0){const i=Au(Array.isArray(o)?o:[o]),n=t?i.trimEnd():i;return Nu(n+e)[0]}function o7(o){const e=Au(o),t=e.split(`
`);let i,n=!1;for(let s=0;s<t.length;s++){const r=t[s].trim();if(typeof i>"u"&&r.match(/^\s*\|/)){const a=r.match(/(\|[^\|]+)(?=\||$)/g);a&&(i=a.length)}else if(typeof i=="number")if(r.match(/^\s*\|/)){if(s!==t.length-1)return;n=!0}else return}if(typeof i=="number"&&i>0){const s=n?t.slice(0,-1).join(`
`):e,r=!!s.match(/\|\s*$/),a=s+(r?"":"|")+`
|${" --- |".repeat(i)}`;return Nu(a)}}const Ou=le("openerService");function r7(o,e){return o.with({fragment:`${e.startLineNumber},${e.startColumn}${e.endLineNumber?`-${e.endLineNumber}${e.endColumn?`,${e.endColumn}`:""}`:""}`})}function a7(o){let e;const t=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(o.fragment);return t&&(e={startLineNumber:parseInt(t[1]),startColumn:t[2]?parseInt(t[2]):1,endLineNumber:t[4]?parseInt(t[4]):void 0,endColumn:t[4]?t[5]?parseInt(t[5]):1:void 0},o=o.with({fragment:""})),{selection:e,uri:o}}var l7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},c7=function(o,e){return function(t,i){e(t,i,o)}};const Pu=le("markdownRendererService");let QS=class{constructor(e){this._openerService=e}render(e,t,i){const n={...t};n.actionHandler||(n.actionHandler=(r,a)=>mR(this._openerService,r,a.isTrusted)),n.codeBlockRenderer||(n.codeBlockRenderer=(r,a)=>this._defaultCodeBlockRenderer?.renderCodeBlock(r,a,n??{})??Promise.resolve(document.createElement("span")));const s=dp(e,n,i);return s.element.classList.add("rendered-markdown"),s}setDefaultCodeBlockRenderer(e){this._defaultCodeBlockRenderer=e}};QS=l7([c7(0,Ou)],QS);async function mR(o,e,t,i){try{return await o.open(e,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:h7(t),skipValidation:i})}catch(n){return l.onUnexpectedError(n),!1}}function h7(o){return o===!0?!0:o&&Array.isArray(o.enabledCommands)?o.enabledCommands:!1}fe(Pu,QS,1);var d7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},up=function(o,e){return function(t,i){e(t,i,o)}};const As=Q;let XS=class extends Wn{get _targetWindow(){return j(this._target.targetElements[0])}get _targetDocumentElement(){return j(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return this._hoverPosition===2?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this._hoverContainer.classList.toggle("locked",this._isLocked))}addMouseTrackingElement(e){return this._lockMouseTracker.addElement(e)}constructor(e,t,i,n,s){if(super(),this._keybindingService=t,this._configurationService=i,this._markdownRenderer=n,this._accessibilityService=s,this._messageListeners=new l.DisposableStore,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._maxHeightRatioRelativeToWindow=.5,this._onDispose=this._register(new l.Emitter),this._onRequestLayout=this._register(new l.Emitter),this._linkHandler=e.linkHandler,this._target="targetElements"in e.target?e.target:new u7(e.target),e.style)switch(e.style){case 1:{e.appearance??={},e.appearance.compact??=!0,e.appearance.showPointer??=!0;break}case 2:{e.appearance??={},e.appearance.compact??=!0;break}}this._hoverPointer=e.appearance?.showPointer?As("div.workbench-hover-pointer"):void 0,this._hover=this._register(new sN(!e.appearance?.skipFadeInAnimation)),this._hover.containerDomNode.classList.add("workbench-hover"),e.appearance?.compact&&this._hover.containerDomNode.classList.add("workbench-hover","compact"),this._hoverPointer&&this._hover.containerDomNode.classList.add("with-pointer"),e.additionalClasses&&this._hover.containerDomNode.classList.add(...e.additionalClasses),e.position?.forcePosition&&(this._forcePosition=!0),e.trapFocus&&(this._enableFocusTraps=!0);const r=e.appearance?.maxHeightRatio;r!==void 0&&r>0&&r<=1&&(this._maxHeightRatioRelativeToWindow=r),this._hoverPosition=e.position?.hoverPosition===void 0?3:l.isNumber(e.position.hoverPosition)?e.position.hoverPosition:2,this.onmousedown(this._hover.containerDomNode,f=>f.stopPropagation()),this.onkeydown(this._hover.containerDomNode,f=>{f.equals(9)&&this.dispose()}),this._register(R(this._targetWindow,"blur",()=>this.dispose()));const a=As("div.hover-row.markdown-hover"),c=As("div.hover-contents");if(typeof e.content=="string")c.textContent=e.content,c.style.whiteSpace="pre-wrap";else if(Ve(e.content)){c.appendChild(e.content),c.classList.add("html-hover-contents");const f=new ResizeObserver(()=>{this.layout(),this._onRequestLayout.fire()});f.observe(c),this._register(l.toDisposable(()=>f.disconnect()))}else{const f=e.content,{element:g}=t Line truncated
:host {
all: initial; /* 1st rule so subsequent properties are reset. */
}
.codicon[class*='codicon-'] {
font: normal normal normal 16px/1 codicon;
display: inline-block;
text-decoration: none;
text-rendering: auto;
text-align: center;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
:host {
font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;
}
:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }
:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }
:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }
:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }
:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Nanum Gothic", "AppleGothic", sans-serif; }
:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }
:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }
:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }
:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }
:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }
:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }
:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }
:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }
:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }
:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }
`,Os=le("layoutService");function bR(o){const e=o;return typeof e=="object"&&"markdown"in e&&"markdownNotSupportedFallback"in e}class m7{constructor(e,t,i){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=i}async update(e,t,i){if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let n;if(l.isString(e)||Ve(e)||e===void 0)n=e;else{this._cancellationTokenSource=new l.CancellationTokenSource;const s=this._cancellationTokenSource.token;let r;if(bR(e)?l.isFunction(e.markdown)?r=e.markdown(s).then(a=>a??e.markdownNotSupportedFallback):r=e.markdown??e.markdownNotSupportedFallback:r=e.element(s),r instanceof Promise?(this._hoverWidget||this.show(l.localize(1762,"Loading..."),t,i),n=await r):n=r,this.isDisposed||s.isCancellationRequested)return}this.show(n,t,i)}show(e,t,i){const n=this._hoverWidget;if(this.hasContent(e)){const s={content:e,target:this.target,actions:i?.actions,linkHandler:i?.linkHandler,trapFocus:i?.trapFocus,appearance:{showPointer:this.hoverDelegate.placement==="element",skipFadeInAnimation:!this.fadeInAnimation||!!n,showHoverHint:i?.appearance?.showHoverHint},position:{hoverPosition:2}};this._hoverWidget=this.hoverDelegate.showHover(s,t)}n?.dispose()}hasContent(e){return e?Do(e)?!!e.value:!0:!1}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){this._hoverWidget?.dispose(),this._cancellationTokenSource?.dispose(!0),this._cancellationTokenSource=void 0}}var p7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qc=function(o,e){return function(t,i){e(t,i,o)}};const _7=3;let WS=class extends l.Disposable{get _currentHover(){return this._hoverStack.at(-1)?.hover}get _currentHoverOptions(){return this._hoverStack.at(-1)?.options}_getContainingHoverIndex(e){const t=Ve(e)?[e]:e.targetElements;for(let i=this._hoverStack.length-1;i>=0;i--)for(const n of t)if(ut(n,this._hoverStack[i].hover.domNode))return i;return-1}constructor(e,t,i,n,s,r){super(),this._instantiationService=e,this._configurationService=t,this._keybindingService=n,this._layoutService=s,this._accessibilityService=r,this._hoverStack=[],this._currentDelayedHoverWasShown=!1,this._delayedHovers=new Map,this._managedHovers=new Map,this._register(i.onDidShowContextMenu(()=>this.hideHover())),this._register(Zn.registerCommandAndKeybindingRule({id:"workbench.action.showHover",weight:0,primary:l.KeyChord(2089,2087),handler:()=>{this._showAndFocusHoverForActiveElement()}}))}showInstantHover(e,t,i,n){const s=this._createHover(e,i);if(s)return this._showHover(s,e,t),s.hover}showDelayedHover(e,t){if(e.id===void 0&&(e.id=CR(e.content)),!this._currentDelayedHover||this._currentDelayedHoverWasShown){if(this._currentHover?.isLocked&&this._getContainingHoverIndex(e.target)<0)return;if(Yc(this._currentHoverOptions)===Yc(e))return this._currentHover;if(this._currentHover&&!this._currentHover.isDisposed&&this._currentDelayedHoverGroupId!==void 0&&this._currentDelayedHoverGroupId===t?.groupId)return this.showInstantHover({...e,appearance:{...e.appearance,skipFadeInAnimation:!0}})}else if(this._currentDelayedHover&&Yc(this._currentHoverOptions)===Yc(e))return this._currentDelayedHover;const i=this._createHover(e,void 0);if(!i){this._currentDelayedHover=void 0,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=void 0;return}this._currentDelayedHover=i.hover,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=t?.groupId;const n=t?.reducedDelay?this._configurationService.getValue("workbench.hover.reducedDelay"):this._configurationService.getValue("workbench.hover.delay");return l.timeout(n).then(()=>{i.hover&&!i.hover.isDisposed&&(this._currentDelayedHoverWasShown=!0,this._showHover(i,e))}),i.hover}setupDelayedHover(e,t,i){const n=s=>{const r={...typeof t=="function"?t():t,target:e};return r.style===2&&s&&(r.target=wR(e,s)),r};return this._setupDelayedHover(e,n,i)}setupDelayedHoverAtMouse(e,t,i){const n=s=>({...typeof t=="function"?t():t,target:s?wR(e,s):e});return this._setupDelayedHover(e,n,i)}_setupDelayedHover(e,t,i){const n=new l.DisposableStore;return n.add(R(e,F.MOUSE_OVER,s=>{this.showDelayedHover(t(s),{groupId:i?.groupId,reducedDelay:i?.reducedDelay})})),i?.setupKeyboardEvents&&n.add(R(e,F.KEY_DOWN,s=>{const r=new Be(s);(r.equals(10)||r.equals(3))&&this.showInstantHover(t(),!0)})),this._delayedHovers.set(e,{show:s=>{this.showInstantHover(t(),s)}}),n.add(l.toDisposable(()=>this._delayedHovers.delete(e))),n}_createHover(e,t){if(this._currentDelayedHover?.dispose(),this._currentDelayedHover=void 0,e.content==="")return;if(e.id===void 0&&(e.id=CR(e.content)),this._getContainingHoverIndex(e.target)>=0){if(this._hoverStack.length>=_7)return}else if(this._c Line truncated
`)}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}}class S7{constructor(e,t,i,n,s,r,a){this.id=++yR,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=i,this.groupId=n,this.groupOrder=s,this.sourceId=r,this.sourceOrder=a,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split=="function"}removeResource(e,t,i){this.removedResources||(this.removedResources=new DR),this.removedResources.has(t)||this.removedResources.set(t,new LR(e,i))}setValid(e,t,i){i?this.invalidatedResources&&(this.invalidatedResources.delete(t),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new DR),this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new LR(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class xR{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const e of this._past)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);for(const e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const e=[];e.push(`* ${this.strResource}:`);for(let t=0;t<this._past.length;t++)e.push(` * [UNDO] ${this._past[t]}`);for(let t=this._future.length-1;t>=0;t--)e.push(` * [REDO] ${this._future[t]}`);return e.join(`
`)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){e.type===1?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(const i of this._past)t(i.actual)&&this._setElementValidFlag(i,e);for(const i of this._future)t(i.actual)&&this._setElementValidFlag(i,e)}pushElement(e){for(const t of this._future)t.type===1&&t.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){const t=[];for(let i=0,n=this._past.length;i<n;i++)t.push(this._past[i].id);for(let i=this._future.length-1;i>=0;i--)t.push(this._future[i].id);return new KT(e,t)}restoreSnapshot(e){const t=e.elements.length;let i=!0,n=0,s=-1;for(let a=0,c=this._past.length;a<c;a++,n++){const h=this._past[a];i&&(n>=t||h.id!==e.elements[n])&&(i=!1,s=a),!i&&h.type===1&&h.removeResource(this.resourceLabel,this.strResource,0)}let r=-1;for(let a=this._future.length-1;a>=0;a--,n++){const c=this._future[a];i&&(n>=t||c.id!==e.elements[n])&&(i=!1,r=a),!i&&c.type===1&&c.removeResource(this.resourceLabel,this.strResource,0)}s!==-1&&(this._past=this._past.slice(0,s)),r!==-1&&(this._future=this._future.slice(r+1)),this.versionId++}getElements(){const e=[],t=[];for(const i of this._past)e.push(i.actual);for(const i of this._future)t.push(i.actual);return{past:e,future:t}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let i=this._past.length-1;i>=0;i--)if(this._past[i]===e){t.has(this.strResource)?this._past[i]=t.get(this.strResource):this._past.splice(i,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let i=this._future.length-1;i>=0;i--)if(this._future[i]===e){t.has(this.strResource)?this._future[i]=t.get(this.strResource):this._future.splice(i,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}}class ty{constructor(e){this.editStacks=e,this._versionIds=[];for(let t=0,i=this.editStacks.length;t<i;t++)this._versionIds[t]=this.editStacks[t].versionId}isValid(){for(let e=0,t=this.editStacks.length;e<t;e++)if(this._versionIds[e]!==this.editStacks[e].versionId)return!1;return!0}}const ER=new xR("","");ER.locked=!0;let iy=class{constructor(e,t){this._dialogService=e,this._notificationService=t,this._editStacks=new Map,this._uriComparisonKeyComputers=[]}getUriComparisonKey(e){for(const t of this._uriComparisonKeyComputers)if(t[0]===e.scheme)return t[1].getComparisonKey(e);return e.toString()}_print(e){console.log("------------------------------------"),console.log(`AFTER ${e}: `);const t=[];for(const i of this._editStacks)t.push(i[1].toString());console.log(t.join(`
`))}pushElement(e,t=Cw.None,i=Ma.None){if(e.type===0){const n=gp(e.resource),s=this.getUriComparisonKey(e.resource);this._pushElement(new mp(e,n,s,t.id,t.nextOrder(),i.id,i.nextOrder()))}else{const n=new Set,s=[],r=[];for(const a of e.resources){const c=gp(a),h=this.getUriComparisonKey(a);n.has(h)||(n.add(h),s.push(c),r.push(h))}s.length===1?this._pushElement(new mp(e,s[0],r[0],t.id,t.nextOrder(),i.id,i.nextOrder())):this._pushElement(new S7(e,s,r,t.id,t.nextOrder(),i.id,i.nextOrder()))}}_pushElement(e){for(let t=0,i=e.strResources.length;t<i;t++){const n=e.resourceLabels[t],s=e.strResources[t];let r;this._editStacks.has(s)?r=this._editStacks.get(s):(r=new xR(n,s),this._editStacks.set(s,r)),r.pushElement(e)}}getLastElement(e){const t=this.getUriComparisonKey(e);if(this._editStacks.has(t)){const i=this._editStacks.get(t);if(i.hasFutureElements())return null;const n=i.getClosestPastElement();return n?n.actual:null}return null}_splitPastWorkspaceElement(e,t){const i=e.actual.split(),n=new Map;for(const s of i){const r=gp(s.resource),a=this.getUriComparisonKey(s.resource),c=new mp(s,r,a,0,0,0,0);n.set(c.strResource,c)}for(const s of e.strResources){if(t&&t.has(s))continue;this._editStacks.get(s).splitPastWorkspaceElement(e,n)}}_splitFutureWorkspaceElement(e,t){const i=e.actual.split(),n=new Map;for(const s of i){const r=gp(s.resource),a=this.getUriComparisonKey(s.resource),c=new mp(s,r,a,0,0,0,0);n.set(c.strResource,c)}for(const s of e.strResources){if(t&&t.has(s))continue;this._editStacks.get(s).splitFutureWorkspaceElement(e,n)}}removeElements(e){const t=typeof e=="string"?e:this.getUriComparisonKey(e);this._editStacks.has(t)&&(this._editStacks.get(t).dispose(),this._editStacks.delete(t))}setElementsValidFlag(e,t,i){const n=this.getUriComparisonKey(e);this._editStacks.has(n)&&this._editStacks.get(n).setElementsValidFlag(t,i)}createSnapshot(e){const t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).createSnapshot(e):new KT(e,[])}restoreSnapshot(e){const t=this.getUriComparisonKey(e.resource);if(this._editStacks.has(t)){const i=this._editStacks.get(t);i.restoreSnapshot(e),!i.hasPastElements()&&!i.hasFutureElements()&&(i.dispose(),this._editStacks.delete(t))}}getElements(e){const t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).getElements():{past:[],future:[]}}_findClosestUndoElementWithSource(e){if(!e)return[null,null];let t=null,i=null;for(const[n,s]of this._editStacks){const r=s.getClosestPastElement();r&&r.sourceId===e&&(!t||r.sourceOrder>t.sourceOrder)&&(t=r,i=n)}return[t,i]}canUndo(e){if(e instanceof Ma){const[,i]=this._findClosestUndoElementWithSource(e.id);return!!i}const t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).hasPastElements():!1}_onError(e,t){l.onUnexpectedError(e);for(const i of t.strResources)this.removeElements(i);this._notificationService.error(e)}_acquireLocks(e){for(const t of e.editStacks)if(t.locked)throw new Error("Cannot acquire edit stack lock");for(const t of e.editStacks)t.locked=!0;return()=>{for(const t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,i,n,s){const r=this._acquireLocks(i);let a;try{a=t()}catch(c){return r(),n.dispose(),this._onError(c,e)}return a?a.then(()=>(r(),n.dispose(),s()),c=>(r(),n.dispose(),this._onError(c,e))):(r(),n.dispose(),s())}async _invokeWorkspacePrepare(e){if(typeof e.actual.prepareUndoRedo>"u")return l.Disposable.None;const t=e.actual.prepareUndoRedo();return typeof t>"u"?l.Disposable.None:t}_invokeResourcePrepare(e,t){if(e.actual.type!==1||typeof e.actual.prepareUndoRedo>"u")return t(l.Disposable.None);const i=e.actual.prepareUndoRedo();return i?l.isDisposable(i)?t(i):i.then(n=>t(n)):t(l.Disposable.None)}_getAffectedEditStacks(e){const t=[];for(const i of e.strResources)t.push(this._editStacks.get(i)||ER);return new ty(t)}_tryToSplitAndUndo(e,t,i,n){if(t.canSplit())return this._splitPastWorkspaceElement(t,i),this._notificationService.warn(n),new pp(this._undo(e,0,!0));for(const s of t.strResources)this.removeElements(s);return this._notificationService.warn(n),new pp}_checkWorkspaceUndo(e,t,i,n){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,l.localize(2101,"Could not undo '{0}' across all files. {1}",t.label,t.removedResources.createMessage()));if(n&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,l.localize(2102,"Could not undo '{0}' across all files. {1}",t.label,t.invalidatedResources.createMessage()));const s=[];for(const a of i.editStacks)a.getClosestPastElement()!==t&&s.push(a.resourceLabel);if(s.length>0)return this._tryToSplitAndUndo(e,t,null,l.localize(2103,"Could not undo '{0}' across all files because changes were made to {1}",t.label,s.join(", ")));const r=[];for(const a of i.editStacks)a.locked&&r.push(a.resourceLabel);return r.length>0?this._tryToSplitAndUndo(e,t,null,l.localize(2104,"Could not undo '{0}' across all files because there is already an undo or Line truncated
`,this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=46,this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const r of e.keys)this.affectedKeys.add(r);for(const[,r]of e.overrides)for(const a of r)this.affectedKeys.add(a);this._affectsConfigStr=this._marker;for(const r of this.affectedKeys)this._affectsConfigStr+=r+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=Np.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(e,t){const i=this._marker+e,n=this._affectsConfigStr.indexOf(i);if(n<0)return!1;const s=n+i.length;if(s>=this._affectsConfigStr.length)return!1;const r=this._affectsConfigStr.charCodeAt(s);if(r!==this._markerCode1&&r!==this._markerCode2)return!1;if(t){const a=this.previousConfiguration?this.previousConfiguration.getValue(e,t,this.previous?.workspace):void 0,c=this.currentConfiguraiton.getValue(e,t,this.currentWorkspace);return!l.equals$1(a,c)}return!0}}class d9 extends l.Disposable{get configurationModel(){return this._configurationModel}constructor(e){super(),this.logService=e,this._configurationModel=Tt.createEmptyModel(e)}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=Tt.createEmptyModel(this.logService);const e=St.as(Xo.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){const i=this.getConfigurationDefaultOverrides();for(const n of e){const s=i[n],r=t[n];s!==void 0?this._configurationModel.setValue(n,s):r?this._configurationModel.setValue(n,this.getDefaultValue(n,r)):this._configurationModel.removeValue(n)}}getDefaultValue(e,t){return l.deepClone(t.default)}}class u9{constructor(){this._value="",this._pos=0}reset(e){return this._value=e,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos<this._value.length-1}cmp(e){const t=e.charCodeAt(0),i=this._value.charCodeAt(this._pos);return t-i}value(){return this._value[this._pos]}}class f9{constructor(e=!0){this._caseSensitive=e}reset(e){return this._value=e,this._from=0,this._to=0,this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let e=!0;for(;this._to<this._value.length;this._to++)if(this._value.charCodeAt(this._to)===46)if(e)this._from++;else break;else e=!1;return this}cmp(e){return this._caseSensitive?l.compareSubstring(e,this._value,0,e.length,this._from,this._to):l.compareSubstringIgnoreCase(e,this._value,0,e.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}}class g9{constructor(e=!0,t=!0){this._splitOnBackslash=e,this._caseSensitive=t}reset(e){this._from=0,this._to=0,this._value=e,this._valueLen=e.length;for(let t=e.length-1;t>=0;t--,this._valueLen--){const i=this._value.charCodeAt(t);if(!(i===47||this._splitOnBackslash&&i===92))break}return this.next()}hasNext(){return this._to<this._valueLen}next(){this._from=this._to;let e=!0;for(;this._to<this._valueLen;this._to++){const t=this._value.charCodeAt(this._to);if(t===47||this._splitOnBackslash&&t===92)if(e)this._from++;else break;else e=!1}return this}cmp(e){return this._caseSensitive?l.compareSubstring(e,this._value,0,e.length,this._from,this._to):l.compareSubstringIgnoreCase(e,this._value,0,e.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}}class m9{constructor(e,t){this._ignorePathCasing=e,this._ignoreQueryAndFragment=t,this._states=[],this._stateIdx=0}reset(e){return this._value=e,this._states=[],this._value.scheme&&this._states.push(1),this._value.authority&&this._states.push(2),this._value.path&&(this._pathIterator=new g9(!1,!this._ignorePathCasing(e)),this._pathIterator.reset(e.path),this._pathIterator.value()&&this._states.push(3)),this._ignoreQueryAndFragment(e)||(this._value.query&&this._states.push(4),this._value.fragment&&this._states.push(5)),this._stateIdx=0,this}next(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()?this._pathIterator.next():this._stateIdx+=1,this}hasNext(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()||this._stateIdx<this._states.length-1}cmp(e){if(this._states[this._stateIdx]===1)return l.compareIgnoreCase(e,this._value.scheme);if(this._states[this._stateIdx]===2)return l.compareIgnoreCase(e,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(e);if(this._states[this._stateIdx]===4)return l.compare(e,this._value.query);if(this._states[this._stateIdx]===5)return l.compare(e,this._value.fragment);throw new Error}value(){if(this._states[this._stateIdx]===1)return this._value.scheme;if(this._states[this._stateIdx]===2)return this._value.authority;if(this._states[this._stateIdx]===3)return this._pathIterator.value();if(this._states[this._stateIdx]===4)return this._value.query;if(this._states[this._stateIdx]===5)return this._value.f Line truncated
`){return this._parts.join(e)}}let Op=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{}});const E9=new l.Lazy(()=>Op("mouse",!1)),I9=new l.Lazy(()=>Op("element",!1));function T9(o){Op=o}function Io(o){return o==="element"?I9.value:E9.value}function sM(){return Op("element",!0)}let oM={showInstantHover:()=>{},showDelayedHover:()=>{},setupDelayedHover:()=>l.Disposable.None,setupDelayedHoverAtMouse:()=>l.Disposable.None,hideHover:()=>{},showAndFocusLastHover:()=>{},setupManagedHover:()=>({dispose:()=>{},show:()=>{},hide:()=>{},update:()=>{}}),showManagedHover:()=>{}};function N9(o){oM=o}function En(){return oM}class R9{constructor(e){this.spliceables=e}splice(e,t,i){this.spliceables.forEach(n=>n.splice(e,t,i))}}const Pp="notSelectable";class Ja extends Error{constructor(e,t){super(`ListError [${e}] ${t}`)}}function rM(o,e){const t=[];for(const i of e){if(o.start>=i.range.end)continue;if(o.end<i.range.start)break;const n=ii.intersect(o,i.range);ii.isEmpty(n)||t.push({range:n,size:i.size})}return t}function My({start:o,end:e},t){return{start:o+t,end:e+t}}function M9(o){const e=[];let t=null;for(const i of o){const n=i.range.start,s=i.range.end,r=i.size;if(t&&r===t.size){t.range.end=s;continue}t={range:{start:n,end:s},size:r},e.push(t)}return e}function A9(...o){return M9(o.reduce((e,t)=>e.concat(t),[]))}class O9{get paddingTop(){return this._paddingTop}set paddingTop(e){this._size=this._size+e-this._paddingTop,this._paddingTop=e}constructor(e){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=e??0,this._size=this._paddingTop}splice(e,t,i=[]){const n=i.length-t,s=rM({start:0,end:e},this.groups),r=rM({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map(c=>({range:My(c.range,n),size:c.size})),a=i.map((c,h)=>({range:{start:e+h,end:e+h+1},size:c.size}));this.groups=A9(s,a,r),this._size=this._paddingTop+this.groups.reduce((c,h)=>c+h.size*(h.range.end-h.range.start),0)}get count(){const e=this.groups.length;return e?this.groups[e-1].range.end:0}get size(){return this._size}indexAt(e){if(e<0)return-1;if(e<this._paddingTop)return 0;let t=0,i=this._paddingTop;for(const n of this.groups){const s=n.range.end-n.range.start,r=i+s*n.size;if(e<r)return t+Math.floor((e-i)/n.size);t+=s,i=r}return t}indexAfter(e){return Math.min(this.indexAt(e)+1,this.count)}positionAt(e){if(e<0)return-1;let t=0,i=0;for(const n of this.groups){const s=n.range.end-n.range.start,r=i+s;if(e<r)return this._paddingTop+t+(e-i)*n.size;t+=s*n.size,i=r}return-1}}class P9{constructor(e){this.renderers=e,this.cache=new Map,this.transactionNodesPendingRemoval=new Set,this.inTransaction=!1}alloc(e){let t=this.getTemplateCache(e).pop(),i=!1;if(t)i=this.transactionNodesPendingRemoval.delete(t.domNode);else{const n=Q(".monaco-list-row"),r=this.getRenderer(e).renderTemplate(n);t={domNode:n,templateId:e,templateData:r}}return{row:t,isReusingConnectedDomNode:i}}release(e){e&&this.releaseRow(e)}transact(e){if(this.inTransaction)throw new Error("Already in transaction");this.inTransaction=!0;try{e()}finally{for(const t of this.transactionNodesPendingRemoval)this.doRemoveNode(t);this.transactionNodesPendingRemoval.clear(),this.inTransaction=!1}}releaseRow(e){const{domNode:t,templateId:i}=e;t&&(this.inTransaction?this.transactionNodesPendingRemoval.add(t):this.doRemoveNode(t)),this.getTemplateCache(i).push(e)}doRemoveNode(e){e.classList.remove("scrolling"),e.remove()}getTemplateCache(e){let t=this.cache.get(e);return t||(t=[],this.cache.set(e,t)),t}dispose(){this.cache.forEach((e,t)=>{for(const i of e)this.getRenderer(t).disposeTemplate(i.templateData),i.templateData=null}),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(e){const t=this.renderers.get(e);if(!t)throw new Error(`No renderer found for ${e}`);return t}}function k9(o,e,t,i=[]){if(!o.dataTransfer)return;const n=Q(".monaco-drag-image");n.textContent=t,n.classList.add(...i),(a=>{for(;a&&!a.classList.contains("monaco-workbench");)a=a.parentElement;return a||e.ownerDocument.body})(e).appendChild(n),o.dataTransfer.setDragImage(n,-10,-10),setTimeout(()=>n.remove(),0)}var To=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s};const Wa={CurrentDragAndDropData:void 0},zs={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements(o){return[o]},getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class $u{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class F9{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class B9{constructor(){this.types=[],this.files=[]}update(e){if(e.types&&thi Line truncated
.monaco-drag-image${t},
.monaco-list${t}:focus .monaco-list-row.selected.focused { background-color: ${e.listFocusAndSelectionBackground}; }
`),e.listFocusAndSelectionForeground&&i.push(`
.monaco-drag-image${t},
.monaco-list${t}:focus .monaco-list-row.selected.focused { color: ${e.listFocusAndSelectionForeground}; }
`),e.listInactiveFocusForeground&&(i.push(`.monaco-list${t} .monaco-list-row.focused { color: ${e.listInactiveFocusForeground}; }`),i.push(`.monaco-list${t} .monaco-list-row.focused:hover { color: ${e.listInactiveFocusForeground}; }`)),e.listInactiveSelectionIconForeground&&i.push(`.monaco-list${t} .monaco-list-row.focused .codicon { color: ${e.listInactiveSelectionIconForeground}; }`),e.listInactiveFocusBackground&&(i.push(`.monaco-list${t} .monaco-list-row.focused { background-color: ${e.listInactiveFocusBackground}; }`),i.push(`.monaco-list${t} .monaco-list-row.focused:hover { background-color: ${e.listInactiveFocusBackground}; }`)),e.listInactiveSelectionBackground&&(i.push(`.monaco-list${t} .monaco-list-row.selected { background-color: ${e.listInactiveSelectionBackground}; }`),i.push(`.monaco-list${t} .monaco-list-row.selected:hover { background-color: ${e.listInactiveSelectionBackground}; }`)),e.listInactiveSelectionForeground&&i.push(`.monaco-list${t} .monaco-list-row.selected { color: ${e.listInactiveSelectionForeground}; }`),e.listHoverBackground&&i.push(`.monaco-list${t}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${e.listHoverBackground}; }`),e.listHoverForeground&&i.push(`.monaco-list${t}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${e.listHoverForeground}; }`);const n=Eo(e.listFocusAndSelectionOutline,Eo(e.listSelectionOutline,e.listFocusOutline??""));n&&i.push(`.monaco-list${t}:focus .monaco-list-row.focused.selected { outline: 1px solid ${n}; outline-offset: -1px;}`),e.listFocusOutline&&i.push(`
.monaco-drag-image${t},
.monaco-list${t}:focus .monaco-list-row.focused,
.context-menu-visible .monaco-list${t}.last-focused .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }
`);const s=Eo(e.listSelectionOutline,e.listInactiveFocusOutline??"");s&&i.push(`.monaco-list${t} .monaco-list-row.focused.selected { outline: 1px dotted ${s}; outline-offset: -1px; }`),e.listSelectionOutline&&i.push(`.monaco-list${t} .monaco-list-row.selected { outline: 1px dotted ${e.listSelectionOutline}; outline-offset: -1px; }`),e.listInactiveFocusOutline&&i.push(`.monaco-list${t} .monaco-list-row.focused { outline: 1px dotted ${e.listInactiveFocusOutline}; outline-offset: -1px; }`),e.listHoverOutline&&i.push(`.monaco-list${t} .monaco-list-row:hover { outline: 1px dashed ${e.listHoverOutline}; outline-offset: -1px; }`),e.listDropOverBackground&&i.push(`
.monaco-list${t}.drop-target,
.monaco-list${t} .monaco-list-rows.drop-target,
.monaco-list${t} .monaco-list-row.drop-target { background-color: ${e.listDropOverBackground} !important; color: inherit !important; }
`),e.listDropBetweenBackground&&(i.push(`
.monaco-list${t} .monaco-list-rows.drop-target-before .monaco-list-row:first-child::before,
.monaco-list${t} .monaco-list-row.drop-target-before::before {
content: ""; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px;
background-color: ${e.listDropBetweenBackground};
}`),i.push(`
.monaco-list${t} .monaco-list-rows.drop-target-after .monaco-list-row:last-child::after,
.monaco-list${t} .monaco-list-row.drop-target-after::after {
content: ""; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px;
background-color: ${e.listDropBetweenBackground};
}`)),e.tableColumnsBorder&&i.push(`
.monaco-table > .monaco-split-view2,
.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,
.monaco-enable-motion .monaco-table:hover > .monaco-split-view2,
.monaco-enable-motion .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {
border-color: ${e.tableColumnsBorder};
}
.monaco-enable-motion .monaco-table > .monaco-split-view2,
.monaco-enable-motion .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {
border-color: transparent;
}
`),e.tableOddRowsBackgroundColor&&i.push(`
.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,
.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,
.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {
background-color: ${e.tableOddRowsBackgroundColor};
}
`),this.styleElement.textContent=i.join(`
`)}}const X9={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropOverBackground:"#383B3D",listDropBetweenBackground:"#EEEEEE",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:l.Color.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:l.Color.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:l.Color.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},J9={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}}};function W9(o,e){const t=o.indexOf(e);if(t===-1)return[];const i=[];let n=t-1;for(;n>=0&&o[n]===e-(t-n);)i.push(o[n--]);for(i.reverse(),n=t;n<o.length&&o[n]===e+(n-t);)i.push(o[n++]);return i}function Oy(o,e){const t=[];let i=0,n=0;for(;i<o.length||n<e.length;)if(i>=o.length)t.push(e[n++]);else if(n>=e.length)t.push(o[i++]);else if(o[i]===e[n]){t.push(o[i]),i++,n++;continue}else o[i]<e[n]?t.push(o[i++]):t.push(e[n++]);return t}function H9(o,e){const t=[];let i=0,n=0;for(;i<o.length||n<e.length;)if(i>=o.length)t.push(e[n++]);else if(n>=e.length)t.push(o[i++]);else if(o[i]===e[n]){i++,n++;continue}else o[i]<e[n]?t.push(o[i++]):n++;return t}const fM=(o,e)=>o-e;class eq{constructor(e,t){this._templateId=e,this.renderers=t}get templateId(){return this._templateId}renderTemplate(e){return this.renderers.map(t=>t.renderTemplate(e))}renderElement(e,t,i,n){let s=0;for(const r of this.renderers)r.renderElement(e,t,i[s++],n)}disposeElement(e,t,i,n){let s=0;for(const r of this.renderers)r.disposeElement?.(e,t,i[s],n),s+=1}disposeTemplate(e){let t=0;for(const i of this.renderers)i.disposeTemplate(e[t++])}}class tq{constructor(e){this.accessibilityProvider=e,this.templateId="a18n"}renderTemplate(e){return{container:e,disposables:new l.DisposableStore}}renderElement(e,t,i){const n=this.accessibilityProvider.getAriaLabel(e),s=n&&typeof n!="string"?n:Zr(n);i.disposables.add(he(a=>{this.setAriaLabel(a.readObservable(s),i.container)}));const r=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(e);typeof r=="number"?i.container.setAttribute("aria-level",`${r}`):i.container.removeAttribute("aria-level")}setAriaLabel(e,t){e?t.setAttribute("aria-label",e):t.removeAttribute("aria-label")}disposeElement(e,t,i){i.disposables.clear()}disposeTemplate(e){e.disposables.dispose()}}class iq{constructor(e,t){this.list=e,this.dnd=t}getDragElements(e){const t=this.list.getSelectedElements();return t.indexOf(e)>-1?t:[e]}getDragURI(e){return this.dnd.getDragURI(e)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e,t)}onDragStart(e,t){this.dnd.onDragStart?.(e,t)}onDragOver(e,t,i,n,s){return this.dnd.onDragOver(e,t,i,n,s)}onDragLeave(e,t,i,n){this.dnd.onDragLeave?.(e,t,i,n)}onDragEnd(e){this.dnd.onDragEnd?.(e)}drop(e,t,i,n,s){this.dnd.drop(e,t,i,n,s)}dispose(){this.dnd.dispose()}}class zn{get onDidChangeFocus(){return l.Event.map(this.eventBufferer.wrapEvent(this.focus.onChange),e=>this.toListEvent(e),this.disposables)}get onDidChangeSelection(){return l.Event.map(this.eventBufferer.wrapEvent(this.selection.onChange),e=>this.toListEvent(e),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let e=!1;const t=l.Event.chain(this.disposables.add(new Te(this.view.domNode,"keydown")).event,s=>s.map(r=>new Be(r)).filter(r=>e=r.keyCode===58||r.shiftKey&&r.keyCode===68).map(r=>ve.stop(r,!0)).filter(()=>!1)),i=l.Event.chain(this.disposables.add(new Te(this.view.domNode,"keyup")).event,s=>s.forEach(()=>e=!1).map(r=>new Be(r)).filter(r=>r.keyCode===58||r.shiftKey&&r.keyCode===68).map(r=>ve.stop(r,!0)).map(({browserEvent:r})=>{const a=this.getFocus(),c=a.length?a[0]:void 0,h=typeof c<"u"?this.view.element(c):void 0,d=typeof c<"u"? Line truncated
`)}styleSelectElement(){const e=this.styles.selectBackground??"",t=this.styles.selectForeground??"",i=this.styles.selectBorder??"";this.selectElement.style.backgroundColor=e,this.selectElement.style.color=t,this.selectElement.style.borderColor=i}styleList(){const e=this.styles.selectBackground??"",t=Eo(this.styles.selectListBackground,e);this.selectDropDownContainer.style.backgroundColor=t,this.selectDropDownListContainer.style.backgroundColor=t,this.selectionDetailsPane.style.backgroundColor=t,this.selectList.style(this.styles)}createOption(e,t,i){const n=document.createElement("option");return n.value=e,n.text=e,n.disabled=!!i,n}showSelectDropDown(){this.selectionDetailsPane.textContent="",!(!this.contextViewProvider||this._isVisible)&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute("aria-expanded","true"))}hideSelectDropDown(e){!this.contextViewProvider||!this._isVisible||(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),e&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(e,t){e.appendChild(this.selectDropDownContainer);const i=j(this.selectElement).getComputedStyle(this.selectElement).fontSize;return i&&(this.selectDropDownContainer.style.fontSize=i),this.layoutSelectDropDown(t),{dispose:()=>{this.selectDropDownContainer.remove()}}}measureMaxDetailsHeight(){let e=0;return this.options.forEach((t,i)=>{this.updateDetail(i),this.selectionDetailsPane.offsetHeight>e&&(e=this.selectionDetailsPane.offsetHeight)}),e}layoutSelectDropDown(e){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const t=j(this.selectElement),i=Qi(this.selectElement),n=t.innerHeight-i.top-i.height-(this.selectBoxOptions.minBottomMargin||0),s=i.top-Js.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,r=this.selectElement.offsetWidth,a=this.setWidthControlElement(this.widthControlElement),c=`${Math.max(a,Math.round(r))}px`;this.selectDropDownContainer.style.width=c,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let h=this.selectList.contentHeight;this._hasDetails&&this._cachedMaxDetailsHeight===void 0&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const d=this._hasDetails?this._cachedMaxDetailsHeight:0,u=h+d,f=Math.floor((n-d)/this.getHeight()),g=Math.floor((s-d)/this.getHeight());if(e)return i.top+i.height>t.innerHeight-22||i.top<Js.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||f<1&&g<1?!1:(f<Js.DEFAULT_MINIMUM_VISIBLE_OPTIONS&&g>f&&this.options.length>f?(this._dropDownPosition=1,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),!0);if(i.top+i.height>t.innerHeight-22||i.top<Js.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||this._dropDownPosition===0&&f<1||this._dropDownPosition===1&&g<1)return this.hideSelectDropDown(!0),!1;if(this._dropDownPosition===0){if(this._isVisible&&f+g<1)return this.hideSelectDropDown(!0),!1;u>n&&(h=f*this.getHeight())}else u>s&&(h=g*this.getHeight());return this.selectList.layout(h),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetails?(this.selectList.getHTMLElement().style.height=`${h}px`,this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=`${h}px`,this.updateDetail(this.selected),this.selectDropDownContainer.style.width=c,this.selectDropDownListContainer.setAttribute("tabindex","0"),!0}else return!1}setWidthControlElement(e){let t=0;if(e){let i=0,n=0;this.options.forEach((s,r)=>{const a=s Line truncated
[{1}] {2}`,t,ky.modifierLabels[l.OS].altKey,n)}return t}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(e){this._itemClassDispose.value=void 0;const{element:t,label:i}=this;if(!t||!i)return;const n=this._commandAction.checked&&mq(e.toggled)&&e.toggled.icon?e.toggled.icon:e.icon;if(n)if(_.ThemeIcon.isThemeIcon(n)){const s=_.ThemeIcon.asClassNameArray(n);i.classList.add(...s),this._itemClassDispose.value=l.toDisposable(()=>{i.classList.remove(...s)})}else i.style.backgroundImage=rr(this._themeService.getColorTheme().type)?Bs(n.dark):Bs(n.light),i.classList.add("icon"),this._itemClassDispose.value=l.combinedDisposable(l.toDisposable(()=>{i.style.backgroundImage="",i.classList.remove("icon")}),this._themeService.onDidColorThemeChange(()=>{this.updateClass()}))}},_.MenuEntryActionViewItem=Kp([Si(2,xt),Si(3,yn),Si(4,be),Si(5,_i),Si(6,nn),Si(7,Ui)],_.MenuEntryActionViewItem);class Vy extends _.MenuEntryActionViewItem{render(e){this.options.label=!0,this.options.icon=!1,super.render(e),e.classList.add("text-only"),e.classList.toggle("use-comma",this._options?.useComma??!1)}updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Vy._symbolPrintEnter(e);this._options?.conversational?this.label.textContent=l.localize(1699,"{1} to {0}",this._action.label,t):this.label.textContent=l.localize(1700,"{0} ({1})",this._action.label,t)}}static _symbolPrintEnter(e){return e.getLabel()?.replace(/\benter\b/gi,"⏎").replace(/\bEscape\b/gi,"Esc")}}let Uy=class extends Bp{constructor(e,t,i,n,s){const r={...t,menuAsChild:t?.menuAsChild??!1,classNames:t?.classNames??(_.ThemeIcon.isThemeIcon(e.item.icon)?_.ThemeIcon.asClassName(e.item.icon):void 0),keybindingProvider:t?.keybindingProvider??(a=>i.lookupKeybinding(a.id))};super(e,{getActions:()=>e.actions},n,r),this._keybindingService=i,this._contextMenuService=n,this._themeService=s}render(e){super.render(e),l.assertType(this.element),e.classList.add("menu-entry");const t=this._action,{icon:i}=t.item;if(i&&!_.ThemeIcon.isThemeIcon(i)){this.element.classList.add("icon");const n=()=>{this.element&&(this.element.style.backgroundImage=rr(this._themeService.getColorTheme().type)?Bs(i.dark):Bs(i.light))};n(),this._register(this._themeService.onDidColorThemeChange(()=>{n()}))}}};Uy=Kp([Si(2,xt),Si(3,nn),Si(4,_i)],Uy);let $y=class extends Vn{constructor(e,t,i,n,s,r,a,c){super(null,e),this._keybindingService=i,this._notificationService=n,this._contextMenuService=s,this._menuService=r,this._instaService=a,this._storageService=c,this._defaultActionDisposables=this._register(new l.DisposableStore),this._container=null,this._primaryActionListener=this._register(new l.MutableDisposable),this._options=t,this._storageKey=`${e.item.submenu.id}_lastActionId`;let h;const d=t?.togglePrimaryAction?c.get(this._storageKey,1):void 0;d&&(h=e.actions.find(f=>d===f.id)),h||(h=e.actions[0]),this._defaultAction=this._defaultActionDisposables.add(this._instaService.createInstance(_.MenuEntryActionViewItem,h,{keybinding:this._getDefaultActionKeybindingLabel(h),hoverDelegate:t?.hoverDelegate}));const u={keybindingProvider:f=>this._keybindingService.lookupKeybinding(f.id),...t,menuAsChild:t?.menuAsChild??!0,classNames:t?.classNames??["codicon","codicon-chevron-down"],actionRunner:t?.actionRunner??this._register(new Jr)};this._dropdown=this._register(new Bp(e,e.actions,this._contextMenuService,u)),t?.togglePrimaryAction&&this.registerTogglePrimaryActionListener()}registerTogglePrimaryActionListener(){this._primaryActionListener.value=this._dropdown.actionRunner.onDidRun(e=>{e.action instanceof _.MenuItemAction&&this.update(e.action)})}update(e){this._options?.togglePrimaryAction&&this._storageService.store(this._storageKey,e.id,1,1),this._defaultActionDisposables.clear(),this._defaultAction=this._defaultActionDisposables.add(this._instaService.createInstance(_.MenuEntryActionViewItem,e,{keybinding:this._getDefaultActionKeybindingLabel(e),hoverDelegate:this._options?.hoverDelegate})),this._defaultAction.actionRunner=this._defaultActionDisposables.add(new class extends Jr{async runAction(t,i){await t.run(void 0)}}),this._container&&this._defaultAction.render(Xf(this._container,Q(".action-container")))}_getDefaultActionKeybindingLabel(e){let t;if(this._options?.renderKeybindingWithDefaultActionLabel){const i=this._keybindingService.lookupKeybinding(e.id);i&&(t=`(${i.getLabel()})`)}return t}setActionContext(e){super.setActionContext(e),this._defaultAction.setActionContext(e),this._dropdown.setActionContext(e)}set actionRunner(e){super.actionRunner=e,this._defaultAction.actionRunner=e,this._options?.togglePrimaryAction||(this._dropdown.actionRunner=e),this._primaryActionListener.value&&this.registerTogglePrimaryActionListener()}get actionRunner(){r Line truncated
.monaco-menu {
font-size: 13px;
border-radius: var(--vscode-cornerRadius-large);
border: 1px solid ${o.borderColor??"var(--vscode-menu-border)"};
min-width: 160px;
}
${DM(l.Codicon.menuSelection)}
${DM(l.Codicon.menuSubmenu)}
.monaco-menu .monaco-action-bar {
text-align: right;
overflow: hidden;
white-space: nowrap;
}
.monaco-menu .monaco-action-bar .actions-container {
display: flex;
margin: 0 auto;
padding: 0;
width: 100%;
justify-content: flex-end;
}
.monaco-menu .monaco-action-bar.vertical .actions-container {
display: inline-block;
}
.monaco-menu .monaco-action-bar.reverse .actions-container {
flex-direction: row-reverse;
}
.monaco-menu .monaco-action-bar .action-item {
cursor: pointer;
display: inline-block;
transition: transform 50ms ease;
position: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */
}
.monaco-menu .monaco-action-bar .action-item.disabled {
cursor: default;
}
.monaco-menu .monaco-action-bar .action-item .icon,
.monaco-menu .monaco-action-bar .action-item .codicon {
display: inline-block;
}
.monaco-menu .monaco-action-bar .action-item .codicon {
display: flex;
align-items: center;
}
.monaco-menu .monaco-action-bar .action-label {
font-size: 11px;
margin-right: 4px;
}
.monaco-menu .monaco-action-bar .action-item.disabled .action-label,
.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {
color: var(--vscode-disabledForeground);
}
/* Vertical actions */
.monaco-menu .monaco-action-bar.vertical {
text-align: left;
}
.monaco-menu .monaco-action-bar.vertical .action-item {
display: block;
}
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
display: block;
border-bottom: 1px solid var(--vscode-menu-separatorBackground);
padding-top: 1px;
padding: 30px;
}
.monaco-menu .secondary-actions .monaco-action-bar .action-label {
margin-left: 6px;
}
/* Action Items */
.monaco-menu .monaco-action-bar .action-item.select-container {
overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */
flex: 1;
max-width: 170px;
min-width: 60px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 10px;
}
.monaco-menu .monaco-action-bar.vertical {
margin-left: 0;
overflow: visible;
}
.monaco-menu .monaco-action-bar.vertical .actions-container {
display: block;
}
.monaco-menu .monaco-action-bar.vertical .action-item {
padding: 0;
transform: none;
display: flex;
}
.monaco-menu .monaco-action-bar.vertical .action-item.active {
transform: none;
}
.monaco-menu .monaco-action-bar.vertical .action-menu-item {
flex: 1 1 auto;
display: flex;
height: 24px;
align-items: center;
position: relative;
margin: 0 4px;
border-radius: var(--vscode-cornerRadius-medium);
}
.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,
.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {
opacity: unset;
}
.monaco-menu .monaco-action-bar.vertical .action-label {
flex: 1 1 auto;
text-decoration: none;
padding: 0 1em;
background: none;
font-size: 12px;
line-height: 1;
}
.monaco-menu .monaco-action-bar.vertical .keybinding,
.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
display: inline-block;
flex: 2 1 auto;
padding: 0 1em;
text-align: right;
font-size: 12px;
line-height: 1;
opacity: 0.7;
}
.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
height: 100%;
}
.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {
font-size: 16px !important;
display: flex;
align-items: center;
}
.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {
margin-left: auto;
margin-right: -20px;
}
.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,
.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {
opacity: 0.4;
}
.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {
display: inline-block;
box-sizing: border-box;
margin: 0;
}
.monaco-menu .monaco-action-bar.vertical .action-item {
position: static;
overflow: visible;
}
.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {
position: absolute;
}
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
width: 100%;
height: 0px !important;
opacity: 1;
}
.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {
padding: 0.7em 1em 0.1em 1em;
font-weight: bold;
opacity: 1;
}
.monaco-menu .monaco-action-bar.vertical .action-label:hover {
color: inherit;
}
.monaco-menu .monaco-action-bar.vertical .menu-item-check {
position: absolute;
visibility: hidden;
width: 1em;
height: 100%;
}
.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {
visibility: visible;
display: flex;
align-items: center;
justify-content: center;
}
/* Context Menu */
.context-view.monaco-menu-container {
outline: 0;
border: none;
animation: fadeIn 0.083s linear;
-webkit-app-region: no-drag;
box-shadow: var(--vscode-shadow-lg${o.shadowColor?`, 0 0 12px ${o.shadowColor}`:""});
border-radius: var(--vscode-cornerRadius-large);
overflow: hidden;
}
.context-view.monaco-menu-container :focus,
.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,
.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {
outline: 0;
}
.hc-black .context-view.monaco-menu-container,
.hc-light .context-view.monaco-menu-container,
:host-context(.hc-black) .context-view.monaco-menu-container,
:host-context(.hc-light) .context-view.monaco-menu-container {
box-shadow: none;
}
.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,
.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,
:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,
:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {
background: none;
}
/* Show the menu item selection border only for keyboard navigation. Pointer-driven focus typically does not set :focus-visible, so suppress the border in that case. */
.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus:not(:focus-visible) {
outline: none !important;
outline-offset: 0 !important;
}
/* High contrast themes always show the selection border to indicate the focused item, regardless of input modality. The duplicated .monaco-menu raises specificity above the keyboard-only suppression rule above so this wins independent of declaration order. */
.hc-black .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item,
.hc-light .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item,
:host-context(.hc-black) .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item,
:host-context(.hc-light) .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item {
outline: 1px solid var(--vscode-menu-selectionBorder) !important;
outline-offset: -1px !important;
}
/* Vertical Action Bar Styles */
.monaco-menu .monaco-action-bar.vertical {
padding: 4px 0;
}
.monaco-menu .monaco-action-bar.vertical .action-menu-item {
height: 24px;
}
.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),
.monaco-menu .monaco-action-bar.vertical .keybinding {
font-size: inherit;
padding: 0 2em;
max-height: 100%;
}
.monaco-menu .monaco-action-bar.vertical .menu-item-check {
font-size: inherit;
width: 2em;
}
.monaco-menu .monaco-action-bar.vertical .action-label.separator {
font-size: inherit;
margin: 5px 0 !important;
padding: 0;
border-radius: 0;
}
.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,
:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {
margin-left: 0;
margin-right: 0;
}
.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
font-size: 60%;
padding: 0 1.8em;
}
.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,
:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {
height: 100%;
mask-size: 10px 10px;
-webkit-mask-size: 10px 10px;
}
.monaco-menu .action-item {
cursor: default;
}`;if(e){i+=`
/* Arrows */
.monaco-scrollable-element > .scrollbar > .scra {
cursor: pointer;
font-size: 11px !important;
}
.monaco-scrollable-element > .visible {
opacity: 1;
/* Background rule added for IE9 - to allow clicks on dom node */
background:rgba(0,0,0,0);
transition: opacity 100ms linear;
}
.monaco-scrollable-element > .invisible {
opacity: 0;
pointer-events: none;
}
.monaco-scrollable-element > .invisible.fade {
transition: opacity 800ms linear;
}
/* Scrollable Content Inset Shadow */
.monaco-scrollable-element > .shadow {
position: absolute;
display: none;
}
.monaco-scrollable-element > .shadow.top {
display: block;
top: 0;
left: 3px;
height: 3px;
width: 100%;
}
.monaco-scrollable-element > .shadow.left {
display: block;
top: 3px;
left: 0;
height: 100%;
width: 3px;
}
.monaco-scrollable-element > .shadow.top-left-corner {
display: block;
top: 0;
left: 0;
height: 3px;
width: 3px;
}
/* Fix for https://github.com/microsoft/vscode/issues/103170 */
.monaco-menu .action-item .monaco-submenu {
z-index: 1;
}
`;const n=o.scrollbarShadow;n&&(i+=`
.monaco-scrollable-element > .shadow.top {
box-shadow: ${n} 0 6px 6px -6px inset;
}
.monaco-scrollable-element > .shadow.left {
box-shadow: ${n} 6px 0 6px -6px inset;
}
.monaco-scrollable-element > .shadow.top.left {
box-shadow: ${n} 6px 6px 6px -6px inset;
}
`);const s=o.scrollbarSliderBackground;s&&(i+=`
.monaco-scrollable-element > .scrollbar > .slider {
background: ${s};
}
`);const r=o.scrollbarSliderHoverBackground;r&&(i+=`
.monaco-scrollable-element > .scrollbar > .slider:hover {
background: ${r};
}
`);const a=o.scrollbarSliderActiveBackground;a&&(i+=`
.monaco-scrollable-element > .scrollbar > .slider.active {
background: ${a};
}
`)}return i}class Pq{constructor(e,t,i,n){this.contextViewService=e,this.telemetryService=t,this.notificationService=i,this.keybindingService=n,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){const t=e.getActions();if(!t.length)return;this.focusToReturn=wt();let i;const n=Ve(e.domForShadowRoot)?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,layer:e.layer,render:s=>{this.lastContainer=s;const r=e.getMenuClassName?e.getMenuClassName():"";r&&(s.className+=" "+r),this.options.blockMouse&&(this.block=s.appendChild(Q(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",this.blockDisposable?.dispose(),this.blockDisposable=R(this.block,F.MOUSE_DOWN,d=>d.stopPropagation()));const a=new l.DisposableStore,c=e.actionRunner||a.add(new Jr);c.onWillRun(d=>this.onActionRun(d,!e.skipTelemetry),this,a),c.onDidRun(this.onDidActionRun,this,a),i=new th(s,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:c,getKeyBinding:e.getKeyBinding?e.getKeyBinding:d=>this.keybindingService.lookupKeybinding(d.id)},wq),i.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,a),i.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,a);const h=j(s);return a.add(R(h,F.BLUR,()=>this.contextViewService.hideContextView(!0))),a.add(R(h,F.MOUSE_DOWN,d=>{if(d.defaultPrevented)return;const u=new Bi(h,d);let f=u.target;if(!u.rightButton){for(;f;){if(f===s)return;f=f.parentElement}this.contextViewService.hideContextView(!0)}})),l.combinedDisposable(a,i)},focus:()=>{i?.focus(!!e.autoSelectFirstItem)},onHide:s=>{e.onHide?.(!!s),this.block&&(this.block.remove(),this.block=null),this.blockDisposable?.dispose(),this.blockDisposable=null,this.lastContainer&&(wt()===this.lastContainer||ut(wt(),this.lastContainer))&&this.focusToReturn?.focus(),this.lastContainer=null}},n,!!n)}onActionRun(e,t){t&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!l.isCancellationError(e.error)&&this.notificationService.error(e.error)}}var kq=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ih=function(o,e){return function(t,i){e(t,i,o)}};let Zy=class extends l.Disposable{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new Pq(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(e,t,i,n,s,r){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=i,this.keybindingService=n,this.menuService=s,this.contextKeyService=r,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new l.Emitter),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new l.Emitter),this.onDidHideContextMenu=this._onDidHideContextMenu.event}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=Qy.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{e.onHide?.(t),this._onDidHideContextMenu.fire()}}),hs.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};Zy=kq([ih(0,Xn),ih(1,yn),ih(2,Fc),ih(3,xt),ih(4,Zo),ih(5,be)],Zy);var Qy;(function(o){function e(i){return i&&i.menuId instanceof ct}function t(i,n,s){if(!e(i))return i;const{menuId:r,menuActionOptions:a,contextKeyService:c}=i;return{...i,getActions:()=>{let h=[];if(r){const d=n.getMenuActions(r,c??s,a);h=Nq(d)}return i.getActions?ft.join(i.getActions(),h):h}}}o.transform=t})(Qy||(Qy={}));var Fq=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Bq=function(o,e){return function(t,i){e(t,i,o)}};let Xy=class extends l.Disposable{constructor(e){super(),this.layoutService=e,this.contextView=this._register(new fp(this.layoutService.mainContainer,1)),this.layout(),this._register(e.onDidLayoutContainer(()=>this.layout()))}showContextView(e,t,i){let n;t?t===this.layoutService.getContainer(j(t))?n=1:i?n=3:n=2:n= Line truncated
(-> incoming)[${[...i.incoming.keys()].join(", ")}]
(outgoing ->)[${[...i.outgoing.keys()].join(",")}]
`);return e.join(`
`)}findCycleSlow(){for(const[e,t]of this._nodes){const i=new Set([e]),n=this._findCycle(t,i);if(n)return n}}_findCycle(e,t){for(const[i,n]of e.outgoing){if(t.has(i))return[...t,i].join(" -> ");t.add(i);const s=this._findCycle(n,t);if(s)return s;t.delete(i)}}}const $q=!1;class TM extends Error{constructor(e){super("cyclic dependency between services"),this.message=e.findCycleSlow()??`UNABLE to detect cycle, dumping graph:
${e.toString()}`}}class jp{constructor(e=new Oc,t=!1,i,n=$q){this._services=e,this._strict=t,this._parent=i,this._enableTracing=n,this._isDisposed=!1,this._servicesToMaybeDispose=new Set,this._children=new Set,this._activeInstantiations=new Set,this._services.set(me,this),this._globalGraph=n?i?._globalGraph??new IM(s=>s):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,l.dispose(this._children),this._children.clear();for(const e of this._servicesToMaybeDispose)l.isDisposable(e)&&e.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw new Error("InstantiationService has been disposed")}createChild(e,t){this._throwIfDisposed();const i=this,n=new class extends jp{dispose(){i._children.delete(n),super.dispose()}}(e,this._strict,this,this._enableTracing);return this._children.add(n),t?.add(n),n}invokeFunction(e,...t){this._throwIfDisposed();const i=Zu.traceInvocation(this._enableTracing,e);let n=!1;try{return e({get:r=>{if(n)throw l.illegalState("service accessor is only valid during the invocation of its target method");const a=this._getOrCreateServiceInstance(r,i);return a||this._throwIfStrict(`[invokeFunction] unknown service '${r}'`,!1),a}},...t)}finally{n=!0,i.stop()}}createInstance(e,...t){this._throwIfDisposed();let i,n;return e instanceof gs?(i=Zu.traceCreation(this._enableTracing,e.ctor),n=this._createInstance(e.ctor,e.staticArguments.concat(t),i)):(i=Zu.traceCreation(this._enableTracing,e),n=this._createInstance(e,t,i)),i.stop(),n}_createInstance(e,t=[],i){const n=Yn.getServiceDependencies(e).sort((a,c)=>a.index-c.index),s=[];for(const a of n){const c=this._getOrCreateServiceInstance(a.id,i);c||this._throwIfStrict(`[createInstance] ${e.name} depends on UNKNOWN service ${a.id}.`,!1),s.push(c)}const r=n.length>0?n[0].index:t.length;if(t.length!==r){console.trace(`[createInstance] First service dependency of ${e.name} at position ${r+1} conflicts with ${t.length} static arguments`);const a=r-t.length;a>0?t=t.concat(new Array(a)):t=t.slice(0,r)}return Reflect.construct(e,t.concat(s))}_setCreatedServiceInstance(e,t){if(this._services.get(e)instanceof gs)this._services.set(e,t);else if(this._parent)this._parent._setCreatedServiceInstance(e,t);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(e){const t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(e));const i=this._getServiceInstanceOrDescriptor(e);return i instanceof gs?this._safeCreateAndCacheServiceInstance(e,i,t.branch(e,!0)):(t.branch(e,!1),i)}_safeCreateAndCacheServiceInstance(e,t,i){if(this._activeInstantiations.has(e))throw new Error(`illegal state - RECURSIVELY instantiating service '${e}'`);this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,i)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,i){const n=new IM(c=>c.id.toString());let s=0;const r=[{id:e,desc:t,_trace:i}],a=new Set;for(;r.length;){const c=r.pop();if(!a.has(String(c.id))){if(a.add(String(c.id)),n.lookupOrInsertNode(c),s++>1e3)throw new TM(n);for(const h of Yn.getServiceDependencies(c.desc.ctor)){const d=this._getServiceInstanceOrDescriptor(h.id);if(d||this._throwIfStrict(`[createInstance] ${e} depends on ${h.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(c.id),String(h.id)),d instanceof gs){const u={id:h.id,desc:d,_trace:c._trace.branch(h.id,!0)};n.insertEdge(c,u),r.push(u)}}}}for(;;){const c=n.roots();if(c.length===0){if(!n.isEmpty())throw new TM(n);break}for(const{data:h}of c){if(this._getServiceInstanceOrDescriptor(h.id)instanceof gs){const u=this._createServiceInstanceWithOwner(h.id,h.desc.ctor,h.desc.staticArguments,h.desc.supportsDelayedInstantiation,h._trace);this._setCreatedServiceInstance(h.id,u)}n.removeNode(h)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,i=[],n,s){if(this._services.get(e)instanceof gs)return this._createServiceInstance(e,t,i,n,s,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,i,n,s);throw new Error(`illegalState - creating UNKNOWN service instance ${t.name}`)}_createServiceInstance(e,t,i=[],n,s,r){if(n){const a=new jp(void 0,this._strict,this,this._enableTracing);a._globalGraphImplicitDependency=String(e);const c=new Map,h=new l.GlobalIdleValue(()=>{const d=a._createInstance(t,i,s);for(const[u,f]of c){const g=d[u];if(typeof g=="function")for(const m of f)m.disposable=g.apply(d,m.listener)}return c.clear(),r.add(d),d});return new Proxy(Object.create(null),{get(d,u){if(!h.isInitialized&&typeof u=="string"&&(u.startsWith("onDid")||u.startsWith("onWill"))){let m=c.get(u);return m||(m=new l.LinkedList,c.set(u,m)),(b,v,C)=>{if(h.isInitialized)return h.value[u](b,v,C);{const w= Line truncated
`).slice(3,4).join(`
`)):dn._None}static traceCreation(e,t){return e?new dn(1,t.name):dn._None}constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}branch(e,t){const i=new dn(3,e.toString());return this._dep.push([e,t,i]),i}stop(){const e=Date.now()-this._start;dn._totals+=e;let t=!1;function i(s,r){const a=[],c=new Array(s+1).join(" ");for(const[h,d,u]of r._dep)if(d&&u){t=!0,a.push(`${c}CREATES -> ${h}`);const f=i(s+1,u);f&&a.push(f)}else a.push(`${c}uses -> ${h}`);return a.join(`
`)}const n=[`${this.type===1?"CREATE":"CALL"} ${this.name}`,`${i(1,this)}`,`DONE, took ${e.toFixed(2)}ms (grand total ${dn._totals.toFixed(2)}ms)`];(e>2||t)&&dn.all.add(n.join(`
`))}};dn.all=new Set,dn._None=new class extends dn{constructor(){super(0,null)}stop(){}branch(){return this}},dn._totals=0;let Zu=dn;const qp={kind:0},Kq={kind:1};function Gq(o,e,t){return{kind:2,commandId:o,commandArgs:e,isBubble:t}}class nh{constructor(e,t,i){this._log=i,this._defaultKeybindings=e,this._defaultBoundCommands=new Map;for(const n of e){const s=n.command;s&&s.charAt(0)!=="-"&&this._defaultBoundCommands.set(s,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=nh.handleRemovals([].concat(e).concat(t));for(let n=0,s=this._keybindings.length;n<s;n++){const r=this._keybindings[n];if(r.chords.length===0)continue;const a=r.when?.substituteConstants();a&&a.type===0||this._addKeyPress(r.chords[0],r)}}static _isTargetedForRemoval(e,t,i){if(t){for(let n=0;n<t.length;n++)if(t[n]!==e.chords[n])return!1}if(i&&i.type!==1){if(!e.when)return!1;const n=e.when.substituteConstants(),s=i.substituteConstants();if(!nh.whenIsEntirelyIncluded(n,s))return!1}return!0}static handleRemovals(e){const t=new Map;for(let n=0,s=e.length;n<s;n++){const r=e[n];if(r.command&&r.command.charAt(0)==="-"){const a=r.command.substring(1);t.has(a)?t.get(a).push(r):t.set(a,[r])}}if(t.size===0)return e;const i=[];for(let n=0,s=e.length;n<s;n++){const r=e[n];if(!r.command||r.command.length===0){i.push(r);continue}if(r.command.charAt(0)==="-")continue;const a=t.get(r.command);if(!a||!r.isDefault){i.push(r);continue}let c=!1;for(const h of a){const d=h.when;if(this._isTargetedForRemoval(r,h.chords,d)){c=!0;break}}if(!c){i.push(r);continue}}return i}_addKeyPress(e,t){const i=this._map.get(e);if(typeof i>"u"){this._map.set(e,[t]),this._addToLookupMap(t);return}for(let n=i.length-1;n>=0;n--){const s=i[n];if(s.command===t.command)continue;let r=!0;for(let a=1;a<s.chords.length&&a<t.chords.length;a++)if(s.chords[a]!==t.chords[a]){r=!1;break}r&&nh.whenIsEntirelyIncluded(s.when,t.when)&&this._removeFromLookupMap(s)}i.push(t),this._addToLookupMap(t)}_addToLookupMap(e){if(!e.command)return;let t=this._lookupMap.get(e.command);typeof t>"u"?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}_removeFromLookupMap(e){if(!e.command)return;const t=this._lookupMap.get(e.command);if(!(typeof t>"u")){for(let i=0,n=t.length;i<n;i++)if(t[i]===e){t.splice(i,1);return}}}static whenIsEntirelyIncluded(e,t){return!t||t.type===1?!0:!e||e.type===1?!1:mC(e,t)}getKeybindings(){return this._keybindings}lookupPrimaryKeybinding(e,t,i=!1){const n=this._lookupMap.get(e);if(typeof n>"u"||n.length===0)return null;if(n.length===1&&!i)return n[0];for(let s=n.length-1;s>=0;s--){const r=n[s];if(t.contextMatchesRules(r.when))return r}return i?null:n[n.length-1]}resolve(e,t,i){const n=[...t,i];this._log(`| Resolving ${n}`);const s=this._map.get(n[0]);if(s===void 0)return this._log("\\ No keybinding entries."),qp;let r=null;if(n.length<2)r=s;else{r=[];for(let c=0,h=s.length;c<h;c++){const d=s[c];if(n.length>d.chords.length)continue;let u=!0;for(let f=1;f<n.length;f++)if(d.chords[f]!==n[f]){u=!1;break}u&&r.push(d)}}const a=this._findCommand(e,r);return a?n.length<a.chords.length?(this._log(`\\ From ${r.length} keybinding entries, awaiting ${a.chords.length-n.length} more chord(s), when: ${NM(a.when)}, source: ${RM(a)}.`),Kq):(this._log(`\\ From ${r.length} keybinding entries, matched ${a.command}, when: ${NM(a.when)}, source: ${RM(a)}.`),Gq(a.command,a.commandArgs,a.bubble)):(this._log(`\\ From ${r.length} keybinding entries, no when clauses matched the context.`),qp)}_findCommand(e,t){for(let i=t.length-1;i>=0;i--){const n=t[i];if(nh._contextMatchesRules(e,n.when))return n}return null}static _contextMatchesRules(e,t){return t?t.evaluate(e):!0}}function NM(o){return o?`${o.serialize()}`:"no when condition"}function RM(o){return o.extensionId?o.isBuiltinExtension?`built-in extension ${o.extensionId}`:`user extension ${o.extensionId}`:o.isDefault?"built-in":"user"}const jq=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class qq extends l.Disposable{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:l.Event.None}get inChordMode(){return this._currentChords.length>0}constructor(e,t,i,n,s){super(),this._contextKeyService=e,this._commandService=t,this._telemetryService=i,this._notificationService=n,this._logService=s,this._onDidUpdateKeybindings=this._register(new l.Emitter),this._currentChords=[],this._currentChordChecker=new l.IntervalTimer,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=sh.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new l.TimeoutTimer,this._currentlyDispatchingCommandId=null,this._logging=!1}_log(e){this._logging&&this._logService.info(`[KeybindingService]: ${e}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(e,t,i=!1){const n=this._getResolver().lookupPrimaryKeybinding(e,t||this._contextKeyService,i);if(n)return n.resolvedKeybinding}dispatchEvent(e,t){return this._dispatch(e,t)}softDispatch(e,t){this._log("/ Soft Line truncated
top: ${this.virtualDelegate.headerRowHeight+1}px;
height: calc(100% - ${this.virtualDelegate.headerRowHeight}px);
}`),this.styleElement.textContent=t.join(`
`),this.list.style(e)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}};_b.InstanceCount=0;let eL=_b;const FM={inputActiveOptionBorder:"#007ACC00",inputActiveOptionForeground:"#FFFFFF",inputActiveOptionBackground:"#0E639C50"};class lY extends Vn{constructor(e,t,i){super(e,t,i);const n=this.options.keybinding?`${this._action.label} (${this.options.keybinding})`:this._action.label;this.toggle=this._register(new tl({actionClassName:this._action.class,isChecked:!!this._action.checked,title:n,notFocusable:!0,inputActiveOptionBackground:i.toggleStyles?.inputActiveOptionBackground,inputActiveOptionBorder:i.toggleStyles?.inputActiveOptionBorder,inputActiveOptionForeground:i.toggleStyles?.inputActiveOptionForeground})),this._register(this.toggle.onChange(()=>{this._action.checked=!!this.toggle&&this.toggle.checked}))}render(e){this.element=e,this.element.appendChild(this.toggle.domNode),this.updateChecked(),this.updateEnabled()}updateEnabled(){this.toggle&&(this.isEnabled()?(this.toggle.enable(),this.element?.classList.remove("disabled")):(this.toggle.disable(),this.element?.classList.add("disabled")))}updateChecked(){this.toggle.checked=!!this._action.checked}updateLabel(){const e=this.options.keybinding?`${this._action.label} (${this.options.keybinding})`:this._action.label;this.toggle.setTitle(e)}focus(){this.toggle.domNode.tabIndex=0,this.toggle.focus()}blur(){this.toggle.domNode.tabIndex=-1,this.toggle.domNode.blur()}setFocusable(e){this.toggle.domNode.tabIndex=e?0:-1}}class tl extends Wn{get onChange(){return this._onChange.event}get onKeyDown(){return this._onKeyDown.event}constructor(e){super(),this._onChange=this._register(new l.Emitter),this._onKeyDown=this._register(new l.Emitter),this._opts=e,this._title=this._opts.title,this._checked=this._opts.isChecked;const t=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,t.push(..._.ThemeIcon.asClassNameArray(this._icon))),this._opts.actionClassName&&t.push(...this._opts.actionClassName.split(" ")),this._checked&&t.push("checked"),this.domNode=document.createElement("div"),this._register(En().setupDelayedHover(this.domNode,()=>({content:!Do(this._title)&&!Ve(this._title)?sp(this._title):this._title,style:1}),this._opts.hoverLifecycleOptions)),this.domNode.classList.add(...t),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.setTitle(this._opts.title),this.applyStyles(),this.onclick(this.domNode,i=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),i.preventDefault(),i.stopPropagation())}),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,i=>{if(this.enabled){if(i.keyCode===10||i.keyCode===3){this.checked=!this._checked,this._onChange.fire(!0),i.preventDefault(),i.stopPropagation();return}this._onKeyDown.fire(i)}})}get enabled(){return this.domNode.getAttribute("aria-disabled")!=="true"}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(e){this._checked=e,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}setIcon(e){this._icon&&this.domNode.classList.remove(..._.ThemeIcon.asClassNameArray(this._icon)),this._icon=e,this._icon&&this.domNode.classList.add(..._.ThemeIcon.asClassNameArray(this._icon))}width(){return 22}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1)),this.domNode.classList.remove("disabled"),this._opts.notFocusable||(this.domNode.tabIndex=0)}disable(){this.domNode.setAttribute("aria-disabled",String(!0)),this.domNode.classList.add("disabled"),this._opts.notFocusable||(this.domNode.tabIndex=-1)}setTitle(e){this._title=e;const t=typeof e=="string"?e:Do(e)?e.value:e.textContent;this.domNode.setAttribute("aria-label",yS(t))}}const uD=class uD extends Wn{constructor(e,t,i){super(),this.checkbox=e,this.domNode=t,this.styles=i,this._onChange=this._register(new l.Emitter),this.onChange=this._onChange.event,this.applyStyles()}get enabled(){return this.checkbox.enabled}enable(){this.checkbox.enable(),this.applyStyles(!0)}disable(){this.checkbox.disable(),this.applyStyles(!1)}setTitle(e){this.checkbox.setTitle(e)}applyStyles(e=this.enabled){this.domNode.style.color=(e?this.styles.checkboxForeground:this.styles.checkboxDisabledForeground)||"",this.domNode.style.backgroundColor=(e?this.styles.checkboxBackground:this.styles.checkboxDisabledBackground)||"",this.domNode.style.borderColor=(e?this.styles.checkboxBorder:this.styles.checkboxDisab Line truncated
`)n.type===2&&(n=s.pop()),n.children.push({type:8});else if(n.type!==2){const h={type:2,content:a};n.children.push(h),s.push(n),n=h}else n.content+=a}return n.type===2&&(n=s.pop()),t}function pY(o,e){return iL(o)!==0}function iL(o,e){switch(o){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return 0;default:return 0}}class _Y{constructor(e,t=0,i=e.length,n=t-1){this.items=e,this.start=t,this.end=i,this.index=n}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class bY{constructor(e=new Set,t=10){this._history=e,this._limit=t,this._onChange(),this._history.onDidChange&&(this._disposable=this._history.onDidChange(()=>this._onChange()))}getHistory(){return this._elements}add(e){this._history.delete(e),this._history.add(e),this._onChange()}next(){return this._navigator.next()}previous(){return this._currentPosition()!==0?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return this._navigator.current()===null}has(e){return this._history.has(e)}_onChange(){this._reduceToLimit();const e=this._elements;this._navigator=new _Y(e,0,e.length,e.length)}_reduceToLimit(){const e=this._elements;if(e.length>this._limit){const t=e.slice(e.length-this._limit);this._history.replace?this._history.replace(t):this._history=new Set(t)}}_currentPosition(){const e=this._navigator.current();return e?this._elements.indexOf(e):-1}get _elements(){const e=[];return this._history.forEach(t=>e.push(t)),e}dispose(){this._disposable&&(this._disposable.dispose(),this._disposable=void 0)}}const ah=Q;let CY=class extends Wn{get onDidChange(){return this._onDidChange.event}get onDidHeightChange(){return this._onDidHeightChange.event}constructor(e,t,i){super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this.hover=this._register(new l.MutableDisposable),this._onDidChange=this._register(new l.Emitter),this._onDidHeightChange=this._register(new l.Emitter),this.contextViewProvider=t,this.options=i,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=this.options.tooltip??(this.placeholder||""),this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=K(e,ah(".monaco-inputbox.idle"));const n=this.options.flexibleHeight?"textarea":"input",s=K(this.element,ah(".ibwrapper"));if(this.input=K(s,ah(n+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,()=>this.element.classList.add("synthetic-focus")),this.onblur(this.input,()=>this.element.classList.remove("synthetic-focus")),this.options.flexibleHeight){this.maxHeight=typeof this.options.flexibleMaxHeight=="number"?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=K(s,ah("div.mirror")),this.mirror.innerText=" ",this.scrollableElement=new uI(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),K(e,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(c=>this.input.scrollTop=c.scrollTop));const r=this._register(new Te(e.ownerDocument,"selectionchange")),a=l.Event.filter(r.event,()=>e.ownerDocument.getSelection()?.anchorNode===s);this._register(a(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this._register(this.ignoreGesture(this.input)),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new el(this.element,{actionViewItemProvider:this.options.actionViewItemProvider})),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}setActions(e,t){this.actionbar?(this.actionbar.clear(),e&&this.actionbar.push(e,{icon:!0,label:!1})):e&&(this.actionbar=this._register(new el(this.element,{actionViewItemProvider:t??this.options.actionViewItemProvider})),this.actionbar.push(e,{icon:!0,label:!1}))}get actionsWidth(){return this.actLine truncated
`),this.view.style(e)}getParentElement(e){const t=this.model.getParentNodeLocation(e);return this.model.getNode(t).element}getFirstElementChild(e){return this.model.getFirstElementChild(e)}getNode(e){return this.model.getNode(e)}getNodeLocation(e){return this.model.getNodeLocation(e)}collapse(e,t=!1){return this.model.setCollapsed(e,!0,t)}expand(e,t=!1){return this.model.setCollapsed(e,!1,t)}toggleCollapsed(e,t=!1){return this.model.setCollapsed(e,void 0,t)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(s=>this.model.getNode(s));this.selection.set(i,t);const n=e.map(s=>this.model.getListIndex(s)).filter(s=>s>-1);this.view.setSelection(n,t,!0)})}getSelection(){return this.selection.get()}setFocus(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(s=>this.model.getNode(s));this.focus.set(i,t);const n=e.map(s=>this.model.getListIndex(s)).filter(s=>s>-1);this.view.setFocus(n,t,!0)})}focusNext(e=1,t=!1,i,n=so(i)&&i.altKey?void 0:this.focusNavigationFilter){this.view.focusNext(e,t,i,n)}focusPrevious(e=1,t=!1,i,n=so(i)&&i.altKey?void 0:this.focusNavigationFilter){this.view.focusPrevious(e,t,i,n)}focusNextPage(e,t=so(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusNextPage(e,t)}focusPreviousPage(e,t=so(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusPreviousPage(e,t,()=>this.stickyScrollController?.height??0)}focusLast(e,t=so(e)&&e.altKey?void 0:this.focusNavigationFilter){this.view.focusLast(e,t)}focusFirst(e,t=so(e)&&e.altKey?void 0:this.focusNavigationFilter){this.view.focusFirst(e,t)}getFocus(){return this.focus.get()}reveal(e,t){this.model.expandTo(e);const i=this.model.getListIndex(e);if(i!==-1)if(!this.stickyScrollController)this.view.reveal(i,t);else{const n=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(e));this.view.reveal(i,t,n)}}onLeftArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],n=this.model.getNodeLocation(i);if(!this.model.setCollapsed(n,!0)){const r=this.model.getParentNodeLocation(n);if(!r)return;const a=this.model.getListIndex(r);this.view.reveal(a),this.view.setFocus([a])}}onRightArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],n=this.model.getNodeLocation(i);if(!this.model.setCollapsed(n,!1)){if(!i.children.some(c=>c.visible))return;const[r]=this.view.getFocus(),a=r+1;this.view.reveal(a),this.view.setFocus([a])}}onSpace(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],n=this.model.getNodeLocation(i),s=e.browserEvent.altKey;this.model.setCollapsed(n,void 0,s)}setupModel(e){this.modelDisposables.clear(),this.modelDisposables.add(e.onDidSpliceRenderedNodes(({start:s,deleteCount:r,elements:a})=>this.view.splice(s,r,a)));const t=l.Event.forEach(e.onDidSpliceModel,s=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(s),this.selection.onDidModelSplice(s)})},this.modelDisposables);t(()=>null,null,this.modelDisposables);const i=this.modelDisposables.add(new l.Emitter),n=this.modelDisposables.add(new l.Delayer(0));this.modelDisposables.add(l.Event.any(t,this.focus.onDidChange,this.selection.onDidChange)(()=>{n.trigger(()=>{const s=new Set;for(const r of this.focus.getNodes())s.add(r);for(const r of this.selection.getNodes())s.add(r);i.fire([...s.values()])})})),this.onDidChangeActiveNodesRelay.input=i.event,this.onDidChangeModelRelay.input=l.Event.signal(e.onDidSpliceModel),this.onDidChangeCollapseStateRelay.input=e.onDidChangeCollapseState,this.onDidChangeRenderNodeCountRelay.input=e.onDidChangeRenderNodeCount,this.onDidSpliceModelRelay.input=e.onDidSpliceModel,l.isMacintosh&&this.modelDisposables.add(e.onDidChangeCollapseState(s=>{const{node:r,deep:a}=s;r.collapsible&&!a&&this.isDOMFocused()&&ha(r.collapsed?l.localize(30,"collapsed"):l.localize(31,"expanded"))}))}dispose(){l.dispose(this.disposables),this.stickyScrollController?.dispose(),this.view.dispose(),this.modelDisposables.dispose()}}class cL{constructor(e,t={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new wY(e,null,t),this.onDidSpliceModel=this.model.onDidSpliceModel,this.onDidSpliceRenderedNodes=this.model.onDidSpliceRenderedNodes,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,t.sorter&&(this.sorter={compare(i,n){return t.sorter.compare(i.element,n.element)}}),this.identityProvider=t.identityProvider}setChildren(e,t=l.Iterable.empty(),i={}){const n=this.getElementLocation(e);this._setChildren(n,this.preserveCollapseState(t),i)}_setChildren(e,t=l.Iterable.empty(),i){co Line truncated
`?r=2:a===`
`&&(r=1);let c=zt.trimAutoWhitespace;e.editor&&typeof e.editor.trimAutoWhitespace<"u"&&(c=e.editor.trimAutoWhitespace==="false"?!1:!!e.editor.trimAutoWhitespace);let h=zt.detectIndentation;e.editor&&typeof e.editor.detectIndentation<"u"&&(h=e.editor.detectIndentation==="false"?!1:!!e.editor.detectIndentation);let d=zt.largeFileOptimizations;e.editor&&typeof e.editor.largeFileOptimizations<"u"&&(d=e.editor.largeFileOptimizations==="false"?!1:!!e.editor.largeFileOptimizations);let u=zt.bracketPairColorizationOptions;if(e.editor?.bracketPairColorization&&typeof e.editor.bracketPairColorization=="object"){const f=e.editor.bracketPairColorization;u={enabled:!!f.enabled,independentColorPoolPerBracketType:!!f.independentColorPoolPerBracketType}}return{isForSimpleWidget:t,tabSize:i,indentSize:n,insertSpaces:s,detectIndentation:h,defaultEOL:r,trimAutoWhitespace:c,largeFileOptimizations:d,bracketPairColorizationOptions:u}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const i=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return i&&typeof i=="string"&&i!=="auto"?i:l.OS===3||l.OS===2?`
`:`\r
`}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return typeof e=="boolean"?e:!0}getCreationOptions(e,t,i){const n=typeof e=="string"?e:e.languageId;let s=this._modelCreationOptionsByLanguageAndResource[n+t];if(!s){const r=this._configurationService.getValue("editor",{overrideIdentifier:n,resource:t}),a=this._getEOL(t,n);s=hh._readModelOptions({editor:r,eol:a},i),this._modelCreationOptionsByLanguageAndResource[n+t]=s}return s}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const i=Object.keys(this._models);for(let n=0,s=i.length;n<s;n++){const r=i[n],a=this._models[r],c=a.model.getLanguageId(),h=a.model.uri;if(e&&!e.affectsConfiguration("editor",{overrideIdentifier:c,resource:h})&&!e.affectsConfiguration("files.eol",{overrideIdentifier:c,resource:h}))continue;const d=t[c+h],u=this.getCreationOptions(c,h,a.model.isForSimpleWidget);hh._setModelOptionsForModel(a.model,u,d)}}static _setModelOptionsForModel(e,t,i){i&&i.defaultEOL!==t.defaultEOL&&e.getLineCount()===1&&e.setEOL(t.defaultEOL===1?0:1),!(i&&i.detectIndentation===t.detectIndentation&&i.insertSpaces===t.insertSpaces&&i.tabSize===t.tabSize&&i.indentSize===t.indentSize&&i.trimAutoWhitespace===t.trimAutoWhitespace&&l.equals$1(i.bracketPairColorizationOptions,t.bracketPairColorizationOptions))&&(t.detectIndentation?(e.detectIndentation(t.insertSpaces,t.tabSize),e.updateOptions({trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions})):e.updateOptions({insertSpaces:t.insertSpaces,tabSize:t.tabSize,indentSize:t.indentSize,trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions}))}_insertDisposedModel(e){this._disposedModels.set(ll(e.uri),e),this._disposedModelsHeapSize+=e.heapSize}_removeDisposedModel(e){const t=this._disposedModels.get(ll(e));return t&&(this._disposedModelsHeapSize-=t.heapSize),this._disposedModels.delete(ll(e)),t}_ensureDisposedModelsHeapSize(e){if(this._disposedModelsHeapSize>e){const t=[];for(this._disposedModels.forEach(i=>{i.sharesUndoRedoStack||t.push(i)}),t.sort((i,n)=>i.time-n.time);t.length>0&&this._disposedModelsHeapSize>e;){const i=t.shift();this._removeDisposedModel(i.uri),i.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(i.initialUndoRedoSnapshot)}}}_createModelData(e,t,i,n){const s=this.getCreationOptions(t,i,n),r=this._instantiationService.createInstance(_.TextModel,e,t,s,i);if(i&&this._disposedModels.has(ll(i))){const h=this._removeDisposedModel(i),d=this._undoRedoService.getElements(i),u=this._getSHA1Computer(),f=u.canComputeSHA1(r)?u.computeSHA1(r)===h.sha1:!1;if(f||h.sharesUndoRedoStack){for(const g of d.past)bo(g)&&g.matchesResource(i)&&g.setModel(r);for(const g of d.future)bo(g)&&g.matchesResource(i)&&g.setModel(r);this._undoRedoService.setElementsValidFlag(i,!0,g=>bo(g)&&g.matchesResource(i)),f&&(r._overwriteVersionId(h.versionId),r._overwriteAlternativeVersionId(h.alternativeVersionId),r._overwriteInitialUndoRedoSnapshot(h.initialUndoRedoSnapshot))}else h.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(h.initialUndoRedoSnapshot)}const a=ll(r.uri);if(this._models[a])throw new Error("ModelService: Cannot add model because it already exists!");const c=new BZ(r,h=>this._onWillDispose(h),(h,d)=>this._onDidChangeLanguage(h,d));return this._models[a]=c,c}createModel(e,t,i,n=!1){let s;return t?s=this._createModelData(e,t,i,n):s=this._createModelData(e,pn,i,n),this._onModelAdded.fire(s.model),s.model}getModels(){const e=[],t=Object.keys(this._models);for(let i=0,n=t.length;i<n;i++){const s=t[i];e.push(this._models[s].model)}return e}getModel(e){const t=ll(e),i=this._models[t];return i?i.model:null}_schemaShouldMaintainUndoRedoElements(e){return e.scheme===l.Schemas.file||e.scheme===l.Schemas.vscodeRemote||e.scheme===l.Schemas.vscodeUserData||e.scheme===l.Schemas.vscodeNotebookCell||e.scheme==="fake-fs"}_onWillDispose(e){const t=ll(e.uri),i=this._models[t],n=this._undoRedoService.getUriComparisonKey(e.uri)!==e.uri.toString();let s=!1,r=0;if(n||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(e.uri)){const h=this._undoRedoService.getElements(e.uri);if(h.past.length>0||h.future.length>0){for(const d of h.past)bo(d)&&d.matchesResource(e.uri)&&(s=!0,r+=d.heapSize(e.uri),d.setModel(e.uri));for(const d of h.future)bo(d)&&d.matchesResource(e.uri)&&(s=!0,r+=d.heapSize(e.uri),d.setModel(e.uri))}}const a=hh.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,c=this._getSHA1Computer();if(s)if(!n&&(r>a||!c.canComputeSHA1(e))){const h=i.model.getInitialUndoRedoSnapshot();h!==null&&this._undoRedoService.restoreSnapshot(h)}else this._ensureDisposedModelsHeapSize(a-r),this._undoRedoService.setElementsValidFlag(e.uri,!1,h=>bo(h)&&h.matchesResource(e.uri)),this._insertDisposedModel(new VZ(e.uri,i.model.getInitialUndoRedoSnapshot(),Date.now(),n,r,c.computeS Line truncated
`);return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:t,skipFadeInAnimation:!0}}}};jL=XZ([BA(0,Ge),BA(1,kc)],jL);const gh=20,mh=4,qL="--vscode-toolbar-action-min-width";class ph extends l.Disposable{get onDidChangeDropdownVisibility(){return this._onDidChangeDropdownVisibility.event}constructor(e,t,i={orientation:0}){if(super(),this.container=e,this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new l.EventMultiplexer),this.originalPrimaryActions=[],this.originalSecondaryActions=[],this.hiddenActions=[],this.disposables=this._register(new l.DisposableStore),i.hoverDelegate=i.hoverDelegate??this._register(sM()),this.options=i,this.toggleMenuAction=this._register(new _h(()=>this.toggleMenuActionViewItem?.show(),i.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new el(this.element,{orientation:i.orientation,ariaLabel:i.ariaLabel,actionRunner:i.actionRunner,allowContextMenu:i.allowContextMenu,highlightToggledItems:i.highlightToggledItems,hoverDelegate:i.hoverDelegate,actionViewItemProvider:(n,s)=>{if(n.id===_h.ID)return this.toggleMenuActionViewItem=new Bp(n,{getActions:()=>this.toggleMenuAction.menuActions},t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:_.ThemeIcon.asClassNameArray(i.moreIcon??l.Codicon.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(i.actionViewItemProvider){const r=i.actionViewItemProvider(n,s);if(r)return r}if(n instanceof cd){const r=new Bp(n,n.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:n.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return r.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(r),this.disposables.add(this._onDidChangeDropdownVisibility.add(r.onDidChangeVisibility)),r}}})),this.options.responsiveBehavior?.enabled){this.element.classList.toggle("responsive",!0),this.element.classList.toggle("responsive-all",this.options.responsiveBehavior.kind==="all"),this.element.classList.toggle("responsive-last",this.options.responsiveBehavior.kind==="last"),this.element.style.setProperty(qL,`${this.getConfiguredActionMinWidth()}px`);const n=new ResizeObserver(()=>{this.updateActions(this.getAvailableWidth())});n.observe(this.options.responsiveBehavior?.observedElement??this.element),this._store.add(l.toDisposable(()=>n.disconnect()))}}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}set context(e){this.actionBar.context=e,this.toggleMenuActionViewItem?.setActionContext(e);for(const t of this.submenuActionViewItems)t.setActionContext(e)}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}getItemWidth(e){return this.actionBar.getWidth(e)}getItemsLength(){return this.actionBar.length()}setActions(e,t){this.clear(),this.originalPrimaryActions=e?e.slice(0):[],this.originalSecondaryActions=t?t.slice(0):[];const i=e?e.slice(0):[];if(this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),i.push(this.toggleMenuAction)),i.length>0&&this.options.trailingSeparator&&i.push(new ft),i.forEach(n=>{this.actionBar.push(n,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(n)})}),this.updateOverflowClassName(),this.applyResponsiveActionMinWidths(),this.options.responsiveBehavior?.enabled){if(this.hiddenActions.length=0,this.options.responsiveBehavior?.minItems!==void 0){const n=this.options.responsiveBehavior.minItems,s=this.originalPrimaryActions.slice(0,n).reduce((a,c)=>a+this.getActionMinWidth(c),0);let r=0;(this.originalSecondaryActions.length>0||n<this.originalPrimaryActions.length)&&(r=gh+mh),this.container.style.minWidth=`${s+r}px`,this.element.style.minWidth=`${s+r}px`}else{const n=this.originalPrimaryActions.length>0?this.getActionMinWidth(this.originalPrimaryActions[0]):gh+mh;this.container.style.minWidth=`${n}px`,this.element.style.minWidth=`${n}px`}this.updateActions(this.getAvailableWidth())}}getKeybindingLabel(e){return this.options.getKeyBinding?.(e)?.getLabel()??void 0}getConfiguredActionMinWidth(e){return e?.id===_h.ID?gh:this.options.respon Line truncated
`?-1:0,r+=i;for(const a of t)a.end<=r||(a.start>=r&&(a.start+=n),a.end>=r&&(a.end+=n));return i+=n,"⏎"})}}class nf{constructor(e){this._element=e}get element(){return this._element}set textContent(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)}set classNames(e){this.disposed||l.equals$1(e,this._classNames)||(this._classNames=e,this._element.classList.value="",this._element.classList.add(...e))}set empty(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":"")}dispose(){this.disposed=!0}}class w_ extends l.Disposable{constructor(e,t){super(),this.customHovers=new Map,this.creationOptions=t,this.domNode=this._register(new nf(K(e,Q(".monaco-icon-label")))),this.labelContainer=K(this.domNode.element,Q(".monaco-icon-label-container")),this.nameContainer=K(this.labelContainer,Q("span.monaco-icon-name-container")),t?.supportHighlights||t?.supportIcons?this.nameNode=this._register(new dQ(this.nameContainer,!!t.supportIcons)):this.nameNode=new cQ(this.nameContainer),this.hoverDelegate=t?.hoverDelegate??Io("mouse")}get element(){return this.domNode.element}setLabel(e,t,i){const n=["monaco-icon-label"],s=["monaco-icon-label-container"];let r="";i&&(i.extraClasses&&n.push(...i.extraClasses),i.bold&&n.push("bold"),i.italic&&n.push("italic"),i.strikethrough&&n.push("strikethrough"),i.disabledCommand&&s.push("disabled"),i.title&&(typeof i.title=="string"?r+=i.title:r+=e));const a=this.domNode.element.querySelector(".monaco-icon-label-iconpath");if(i?.iconPath){let c;if(!a||!Ve(a)?(c=Q(".monaco-icon-label-iconpath"),this.domNode.element.prepend(c)):c=a,_.ThemeIcon.isThemeIcon(i.iconPath)){const h=_.ThemeIcon.asClassName(i.iconPath);c.className=`monaco-icon-label-iconpath ${h}`,c.style.backgroundImage=""}else c.style.backgroundImage=Bs(i?.iconPath);c.style.backgroundRepeat="no-repeat",c.style.backgroundPosition="center",c.style.backgroundSize="contain"}else a&&a.remove();if(this.domNode.classNames=n,this.domNode.element.setAttribute("aria-label",r),this.labelContainer.classList.value="",this.labelContainer.classList.add(...s),this.setupHover(i?.descriptionTitle?this.labelContainer:this.element,i?.title),this.nameNode.setLabel(e,i),t||this.descriptionNode){const c=this.getOrCreateDescriptionNode();if(c instanceof Ir){const h=i?.supportIcons??this.creationOptions?.supportIcons;c.set(t||"",i?i.descriptionMatches:void 0,void 0,i?.labelEscapeNewLines,h),this.setupHover(c.element,i?.descriptionTitle)}else c.textContent=t&&i?.labelEscapeNewLines?Ir.escapeNewLines(t,[]):t||"",this.setupHover(c.element,i?.descriptionTitle||""),c.empty=!t}if(i?.suffix||this.suffixNode){const c=this.getOrCreateSuffixNode();c.textContent=i?.suffix??""}}setupHover(e,t){const i=this.customHovers.get(e);if(i&&(i.dispose(),this.customHovers.delete(e)),!t){e.removeAttribute("title");return}let n=e;if(this.creationOptions?.hoverTargetOverride){if(!ut(e,this.creationOptions.hoverTargetOverride))throw new Error("hoverTargetOverrride must be an ancestor of the htmlElement");n=this.creationOptions.hoverTargetOverride}const s=En().setupManagedHover(this.hoverDelegate,n,t);s&&this.customHovers.set(e,s)}dispose(){super.dispose();for(const e of this.customHovers.values())e.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const e=this._register(new nf(IF(this.nameContainer,Q("span.monaco-icon-suffix-container"))));this.suffixNode=this._register(new nf(K(e.element,Q("span.label-suffix"))))}return this.suffixNode}getOrCreateDescriptionNode(){if(!this.descriptionNode){const e=this._register(new nf(K(this.labelContainer,Q("span.monaco-icon-description-container"))));this.creationOptions?.supportDescriptionHighlights?this.descriptionNode=this._register(new Ir(K(e.element,Q("span.label-description")))):this.descriptionNode=this._register(new nf(K(e.element,Q("span.label-description"))))}return this.descriptionNode}}class cQ{constructor(e){this.container=e,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(!(this.label===e&&l.equals$1(this.options,t)))if(this.label=e,this.options=t,typeof e=="string")this.singleLabel||(this.container.textContent="",this.container.classList.remove("multiple"),this.singleLabel=K(this.container,Q("a.label-name",{id:t?.domId}))),this.singleLabel.textContent=e;else{this.container.textContent="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let i=0;i<e.length;i++){const n=e[i],s=t?.domId&&`${t?.domId}_${i}`;K(this.container,Q("a.label-name",{id:s,"data-icon-label-count":e.length,"data-icon-label-index":i,role:"treeitem"},n)),i<e.length-1&&K(this.container,Q("span.label-separator",void 0,t?.separator||"/"))}}}}function hQ(o,e,t){if(!t)return;let i=0;return o.map(n=>{const s={start:i,end:i+n.length},r=t.map(a=>ii.intersect(s,a)).filter(a=>!ii.isEmpty(a)).map(({start:a,end:c})=>({start:a-i,end:c-i}));return i=s.end+e.length,r})}class dQ extends l.Disposable{constructor(e,t){super(),this.container=e,this.supp Line truncated
`);r!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=r)}}loadViewState(){try{const e=JSON.parse(this.storageService.get(s0,-1,"{}"));if(e.top!==void 0||e.left!==void 0)return e}catch{}}saveViewState(e){this.layoutService.activeContainer===this.layoutService.mainContainer&&(e!==void 0?this.storageService.store(s0,JSON.stringify(e),-1,1):this.storageService.remove(s0,-1))}},n0=Ml,Ml.MAX_WIDTH=600,Ml);o0=n0=WA([Tr(1,Os),Tr(2,me),Tr(3,be),Tr(4,Qa),Tr(5,nn)],o0);let r0=class extends l.Disposable{constructor(e,t,i,n,s,r,a){super(),this._container=e,this._quickInputContainer=t,this._quickInputDragAreas=i,this._layoutService=s,this.configurationService=a,this.dndViewState=W(this,void 0),this._enabled=!0,this._snapThreshold=20,this._snapLineHorizontalRatio=.25,this._alignment=W(this,"top"),this.alignment=this._alignment,this._quickInputAlignmentContext=HZ.bindTo(r);const c=Tq(this.configurationService)==="custom";this._controlsOnLeft=c&&l.platform===1,this._controlsOnRight=c&&(l.platform===3||l.platform===2),this._registerLayoutListener(),this.registerMouseListeners(),this.dndViewState.set({...n,done:!0},void 0),n?.top!==void 0&&n?.left!==void 0&&this._setAlignmentState(void 0)}reparentUI(e){this._container=e}layoutContainer(e=this._layoutService.activeContainerDimension){if(!this._enabled)return;const t=this.dndViewState.get(),i=this._quickInputContainer.getBoundingClientRect();if(t?.top!==void 0&&t?.left!==void 0){const n=Math.round(t.left*100)/100,s=e.width,r=i.width,a=n*s-r/2;this._layout(t.top*e.height,a)}}setEnabled(e){this._enabled=e,this._quickInputContainer.classList.toggle("no-drag",!e)}_setAlignmentState(e){this._quickInputAlignmentContext.set(e),this._alignment.set(e??"custom",void 0)}_registerLayoutListener(){this._register(l.Event.filter(this._layoutService.onDidLayoutContainer,e=>e.container===this._container)(e=>this.layoutContainer(e.dimension)))}registerMouseListeners(){const e=this._quickInputContainer;this._register(ox(e,t=>{if(!this._enabled)return;const i=new Bi(j(e),t);if(i.detail!==2)return;const n=this._quickInputDragAreas.find(({node:s,includeChildren:r})=>r?ut(i.target,s):i.target===s);!n||n.excludeNodes?.some(s=>ut(i.target,s))||(this.dndViewState.set({top:void 0,left:void 0,done:!0},void 0),this._setAlignmentState("top"))})),this._register(nC(e,t=>{if(!this._enabled)return;const i=j(this._layoutService.activeContainer),n=new Bi(i,t),s=this._quickInputDragAreas.find(({node:f,includeChildren:g})=>g?ut(n.target,f):n.target===f);if(!s||s.excludeNodes?.some(f=>ut(n.target,f)))return;const r=this._quickInputContainer.getBoundingClientRect(),a=n.browserEvent.clientX-r.left,c=n.browserEvent.clientY-r.top;let h=!1;const d=bF(i,f=>{new Bi(i,f).preventDefault(),h||(h=!0),this._layout(f.clientY-c,f.clientX-a)}),u=ox(i,f=>{if(h){const g=this.dndViewState.get();this.dndViewState.set({top:g?.top,left:g?.left,done:!0},void 0)}d.dispose(),u.dispose()})}))}_layout(e,t){const i=this._getTopSnapValue(),n=this._getCenterYSnapValue(),s=this._getCenterXSnapValue();e=Math.max(0,Math.min(e,this._container.clientHeight-this._quickInputContainer.clientHeight)),e<this._layoutService.activeContainerOffset.top&&(this._controlsOnLeft?t=Math.max(t,80/Kb(Le())):this._controlsOnRight&&(t=Math.min(t,this._container.clientWidth-this._quickInputContainer.clientWidth-140/Kb(Le()))));const r=Math.abs(e-i)<this._snapThreshold;e=r?i:e;const a=Math.abs(e-n)<this._snapThreshold;e=a?n:e;const c=e/this._container.clientHeight;t=Math.max(0,Math.min(t,this._container.clientWidth-this._quickInputContainer.clientWidth));const h=Math.abs(t-s)<this._snapThreshold;t=h?s:t;const d=this._container.clientWidth,u=this._quickInputContainer.clientWidth,g=(t+u/2)/d;if(this.dndViewState.set({top:c,left:g,done:!1},void 0),h){if(r){this._setAlignmentState("top");return}else if(a){this._setAlignmentState("center");return}}this._setAlignmentState(void 0)}_getTopSnapValue(){return this._layoutService.activeContainerOffset.quickPickTop}_getCenterYSnapValue(){return Math.round(this._container.clientHeight*this._snapLineHorizontalRatio)}_getCenterXSnapValue(){return Math.round(this._container.clientWidth/2)-Math.round(this._quickInputContainer.clientWidth/2)}};r0=WA([Tr(4,Os),Tr(5,be),Tr(6,Ge)],r0);var MQ=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},lf=function(o,e){return function(t,i){e(t,i,o)}};let a0=class extends zU{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get currentQuickInput(){return this.controller.currentQuickInput}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance( Line truncated
Ensure your bundler properly bundles modules referenced by "new URL('...?esm', import.meta.url)".`}getWorkerUrl(e){const t=Bf();if(t&&typeof t.getWorkerUrl=="function"){const s=t.getWorkerUrl("workerMain.js",e.label);if(s!==void 0)return new URL(s,document.baseURI).toString()}if(!e.esmModuleLocationBundler)throw new Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker for the worker label: ${e.label}`);return(typeof e.esmModuleLocationBundler=="function"?e.esmModuleLocationBundler():e.esmModuleLocationBundler).toString()}}const BQ={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[vn]:"#FFFFFE",[nc]:"#000000",[kE]:"#E5EBF1",[Ud]:"#D3D3D3",[$d]:"#939393",[$g]:"#ADD6FF4D"}},zQ={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[vn]:"#1E1E1E",[nc]:"#D4D4D4",[kE]:"#3A3D41",[Ud]:"#404040",[$d]:"#707070",[$g]:"#ADD6FF26"}},VQ={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foregrou Line truncated
`)}}const fl=new jQ;St.add($Q.IconContribution,fl);function Mo(o,e,t,i){return fl.registerIcon(o,e,t,i)}function nO(){return fl}function qQ(){const o=l.getCodiconFontCharacters();for(const e in o){const t="\\"+o[e].toString(16);fl.registerIcon(e,{fontCharacter:t})}}qQ();const sO="vscode://schemas/icons",oO=St.as(Cg.JSONContribution);oO.registerSchema(sO,fl.getIconSchema());const rO=new l.RunOnceScheduler(()=>oO.notifySchemaChanged(sO),200);fl.onDidChange(()=>{rO.isScheduled()||rO.schedule()});const YQ=Mo("widget-close",l.Codicon.close,l.localize(2096,"Icon for the close action in widgets."));Mo("goto-previous-location",l.Codicon.arrowUp,l.localize(2097,"Icon for goto previous editor location.")),Mo("goto-next-location",l.Codicon.arrowDown,l.localize(2098,"Icon for goto next editor location.")),_.ThemeIcon.modify(l.Codicon.sync,"spin"),_.ThemeIcon.modify(l.Codicon.loading,"spin");function ZQ(o){const e=new l.DisposableStore,t=e.add(new l.Emitter),i=nO();return e.add(i.onDidChange(()=>t.fire())),o&&e.add(o.onDidProductIconThemeChange(()=>t.fire())),{dispose:()=>e.dispose(),onDidChange:t.event,getCSS(){const n=o?o.getProductIconTheme():new aO,s={},r=new Ry,a=new Ry;for(const c of i.getIcons()){const h=n.getIcon(c);if(!h)continue;const d=h.font,u=Yi`--vscode-icon-${Ap(c.id)}-font-family`,f=Yi`--vscode-icon-${Ap(c.id)}-content`;d?(s[d.id]=d.definition,a.push(Yi`${u}: ${yr(d.id)};`,Yi`${f}: ${yr(h.fontCharacter)};`),r.push(Yi`.codicon-${Ap(c.id)}:before { content: ${yr(h.fontCharacter)}; font-family: ${yr(d.id)}; }`)):(a.push(Yi`${f}: ${yr(h.fontCharacter)}; ${u}: 'codicon';`),r.push(Yi`.codicon-${Ap(c.id)}:before { content: ${yr(h.fontCharacter)}; }`))}for(const c in s){const h=s[c],d=h.weight?Yi`font-weight: ${nM(h.weight)};`:Yi``,u=h.style?Yi`font-style: ${nM(h.style)};`:Yi``,f=new Ry;for(const g of h.src)f.push(Yi`${Bs(g.location)} format(${yr(g.format)})`);r.push(Yi`@font-face { src: ${f.join(", ")}; font-family: ${yr(c)};${d}${u} font-display: block; }`)}return r.push(Yi`:root { ${a.join(" ")} }`),r.join(`
`)}}}class aO{getIcon(e){const t=nO();let i=e.defaults;for(;_.ThemeIcon.isThemeIcon(i);){const n=t.getIcon(i.id);if(!n)return;i=n.defaults}return i}}const Ao="vs",bh="vs-dark",gl="hc-black",ml="hc-light",lO=St.as(IE.ColorContribution),QQ=St.as(VI.ThemingContribution);class cO{constructor(e,t){this.semanticHighlighting=!1,this.themeData=t;const i=t.base;e.length>0?(I_(e)?this.id=e:this.id=i+" "+e,this.themeName=e):(this.id=i,this.themeName=i),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const e=new Map;for(const t in this.themeData.colors)e.set(t,l.Color.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){const t=u0(this.themeData.base);for(const i in t.colors)e.has(i)||e.set(i,l.Color.fromHex(t.colors[i]))}this.colors=e}return this.colors}getColor(e,t){const i=this.getColors().get(e);if(i)return i;if(t!==!1)return this.getDefault(e)}getDefault(e){let t=this.defaultColors[e];return t||(t=lO.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)}defines(e){return this.getColors().has(e)}get type(){switch(this.base){case Ao:return Sn.LIGHT;case gl:return Sn.HIGH_CONTRAST_DARK;case ml:return Sn.HIGH_CONTRAST_LIGHT;default:return Sn.DARK}}get tokenTheme(){if(!this._tokenTheme){let e=[],t=[];if(this.themeData.inherit){const s=u0(this.themeData.base);e=s.rules,s.encodedTokensColors&&(t=s.encodedTokensColors)}const i=this.themeData.colors["editor.foreground"],n=this.themeData.colors["editor.background"];if(i||n){const s={token:""};i&&(s.foreground=i),n&&(s.background=n),e.push(s)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=L1.createFromRawTokenTheme(e,t)}return this._tokenTheme}getTokenStyleMetadata(e,t,i){const s=this.tokenTheme._match([e].concat(t).join(".")).metadata,r=Vi.getForeground(s),a=Vi.getFontStyle(s);return{foreground:r,italic:!!(a&1),bold:!!(a&2),underline:!!(a&4),strikethrough:!!(a&8)}}get tokenColorMap(){return[]}}function I_(o){return o===Ao||o===bh||o===gl||o===ml}function u0(o){switch(o){case Ao:return BQ;case bh:return zQ;case gl:return VQ;case ml:return UQ}}function T_(o){const e=u0(o);return new cO(o,e)}class XQ extends l.Disposable{constructor(){super(),this._onColorThemeChange=this._register(new l.Emitter),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new l.Emitter),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new aO,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(Ao,T_(Ao)),this._knownThemes.set(bh,T_(bh)),this._knownThemes.set(gl,T_(gl)),this._knownThemes.set(ml,T_(ml));const e=this._register(ZQ(this));this._codiconCSS=e.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS}
${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(Ao),this._onOSSchemeChanged(),this._register(e.onDidChange(()=>{this._codiconCSS=e.getCSS(),this._updateCSS()})),OD(Ae,"(forced-colors: active)",()=>{this._onOSSchemeChanged()})}registerEditorContainer(e){return Yf(e)?this._registerShadowDomContainer(e):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=bn(void 0,e=>{e.className="monaco-colors",e.textContent=this._allCSS}),this._styleElements.push(this._globalStyleElement)),l.Disposable.None}_registerShadowDomContainer(e){const t=bn(e,i=>{i.className="monaco-colors",i.textContent=this._allCSS});return this._styleElements.push(t),{dispose:()=>{for(let i=0;i<this._styleElements.length;i++)if(this._styleElements[i]===t){this._styleElements.splice(i,1);return}}}}defineTheme(e,t){if(!/^[a-z0-9\-]+$/i.test(e))throw new Error("Illegal theme name!");if(!I_(t.base)&&!I_(e))throw new Error("Illegal theme base!");this._knownThemes.set(e,new cO(e,t)),I_(e)&&this._knownThemes.forEach(i=>{i.base===e&&i.notifyBaseUpdated()}),this._theme.themeName===e&&this.setTheme(e)}getColorTheme(){return this._theme}setColorMapOverride(e){this._colorMapOverride=e,this._updateThemeOrColorMap()}setTheme(e){let t;this._knownThemes.has(e)?t=this._knownThemes.get(e):t=this._knownThemes.get(Ao),this._updateActualTheme(t)}_updateActualTheme(e){!e||this._theme===e||(this._theme=e,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const e=Ae.matchMedia("(forced-colors: active)").matches;if(e!==pa(this._theme.type)){let t;rr(this._theme.type)?t=e?gl:bh:t=e?ml:Ao,this._updateActualTheme(this._knownThemes.get(t))}}}setAutoDetectHighContrast(e){this._autoDetectHighContrast=e,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const e=[],t={},i={addRule:r=>{t[r]||(e.push(r),t[r]=!0)}};QQ.getThemingParticipants().forEach(r=>r(this._theme,i,this._environment));const n=[];for(const r of lO.getColors()){const a=this._theme.getColor(r.id,!0);a&&n.push(`${qC(r.id)}: ${a.toString()};`)}i.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${n.join(`
`)} }`);const s=this._colorMapOverride||this._theme.tokenTheme.getColorMap();i.addRule(RK(s)),i.addRule(".monaco-editor, .monaco-diff-editor, .monaco-component { forced-color-adjust: none; }"),this._themeCSS=e.join(`
`),this._updateCSS(),l.TokenizationRegistry.setColorMap(s),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS}
${this._themeCSS}`,this._styleElements.forEach(e=>e.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}}class JQ{getParserClass(){throw new Error("not implemented in StandaloneTreeSitterLibraryService")}supportsLanguage(e,t){return!1}getLanguage(e,t,i){}getInjectionQueries(e,t){return null}getHighlightingQueries(e,t){return null}}var Oo=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Nt=function(o,e){return function(t,i){e(t,i,o)}};class WQ{constructor(e){this.disposed=!1,this.model=e,this._onWillDispose=new l.Emitter}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let f0=class{constructor(e){this.modelService=e}createModelReference(e){const t=this.modelService.getModel(e);return t?Promise.resolve(new l.ImmortalReference(new WQ(t))):Promise.reject(new Error("Model not found"))}};f0=Oo([Nt(0,ri)],f0);const Eb=class Eb{show(){return Eb.NULL_PROGRESS_RUNNER}async showWhile(e,t){await e}};Eb.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};let g0=Eb;class HQ{withProgress(e,t,i){return t({report:()=>{}})}}class eX{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}}class tX{async confirm(e){return{confirmed:this.doConfirm(e.message,e.detail),checkboxChecked:!1}}doConfirm(e,t){let i=e;return t&&(i=i+`
`+t),Ae.confirm(i)}async prompt(e){let t;if(this.doConfirm(e.message,e.detail)){const n=[...e.buttons??[]];e.cancelButton&&typeof e.cancelButton!="string"&&typeof e.cancelButton!="boolean"&&n.push(e.cancelButton),t=await n[0]?.run({checkboxChecked:!1})}return{result:t}}async error(e,t){await this.prompt({type:rt.Error,message:e,detail:t})}}const Df=class Df{info(e){return this.notify({severity:rt.Info,message:e})}warn(e){return this.notify({severity:rt.Warning,message:e})}error(e){return this.notify({severity:rt.Error,message:e})}notify(e){switch(e.severity){case rt.Error:console.error(e.message);break;case rt.Warning:console.warn(e.message);break;default:console.log(e.message);break}return Df.NO_OP}prompt(e,t,i,n){return Df.NO_OP}status(e,t){return{close:()=>{}}}};Df.NO_OP=new D4;let m0=Df,p0=class{constructor(e){this._onWillExecuteCommand=new l.Emitter,this._onDidExecuteCommand=new l.Emitter,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=e}executeCommand(e,...t){const i=Ut.getCommand(e);if(!i)return Promise.reject(new Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});const n=this._instantiationService.invokeFunction.apply(this._instantiationService,[i.handler,...t]);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(n)}catch(n){return Promise.reject(n)}}};p0=Oo([Nt(0,me)],p0);let Ch=class extends qq{constructor(e,t,i,n,s,r){super(e,t,i,n,s),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const a=g=>{const m=new l.DisposableStore;m.add(R(g,F.KEY_DOWN,p=>{const b=new Be(p);this._dispatch(b,b.target)&&(b.preventDefault(),b.stopPropagation())})),m.add(R(g,F.KEY_UP,p=>{const b=new Be(p);this._singleModifierDispatch(b,b.target)&&b.preventDefault()})),this._domNodeListeners.push(new iX(g,m))},c=g=>{for(let m=0;m<this._domNodeListeners.length;m++){const p=this._domNodeListeners[m];p.domNode===g&&(this._domNodeListeners.splice(m,1),p.dispose())}},h=g=>{g.getOption(70)||a(g.getContainerDomNode())},d=g=>{g.getOption(70)||c(g.getContainerDomNode())};this._register(r.onCodeEditorAdd(h)),this._register(r.onCodeEditorRemove(d)),r.listCodeEditors().forEach(h);const u=g=>{a(g.getContainerDomNode())},f=g=>{c(g.getContainerDomNode())};this._register(r.onDiffEditorAdd(u)),this._register(r.onDiffEditorRemove(f)),r.listDiffEditors().forEach(u)}addDynamicKeybinding(e,t,i,n){return l.combinedDisposable(Ut.registerCommand(e,i),this.addDynamicKeybindings([{keybinding:t,command:e,when:n}]))}addDynamicKeybindings(e){const t=e.map(i=>({keybinding:jb(i.keybinding,l.OS),command:i.command??null,commandArgs:i.commandArgs,when:i.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}));return this._dynamicKeybindings=this._dynamicKeybindings.concat(t),this.updateResolver(),l.toDisposable(()=>{for(let i=0;i<this._dynamicKeybindings.length;i++)if(this._dynamicKeybindings[i]===t[0]){this._dynamicKeybindings.splice(i,t.length),this.updateResolver();return}})}updateResolver(){this._cachedResolver=null,this._onDidUpdateKeybindings.fire()}_getResolver(){if(!this._cachedResolver){const e=this._toNormalizedKeybindingItems(Zn.getDefaultKeybindings(),!0),t=this._toNormalizedKeybindingItems(this._dynamicKeybindings,!1);this._cachedResolver=new nh(e,t,i=>this._log(i))}return this._cachedResolver}_documentHasFocus(){return Ae.document.hasFocus()}_toNormalizedKeybindingItems(e,t){const i=[];let n=0;for(const s of e){const r=s.when||void 0,a=s.keybinding;if(!a)i[n++]=new MM(void 0,s.command,s.commandArgs,r,t,null,!1);else{const c=Qu.resolveKeybinding(a,l.OS);for(const h of c)i[n++]=new MM(h,s.command,s.commandArgs,r,t,null,!1)}}return i}resolveKeyboardEvent(e){const t=new Yh(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode);return new Qu([t],l.OS)}};Ch=Oo([Nt(0,be),Nt(1,zi),Nt(2,Xn),Nt(3,yn),Nt(4,ei),Nt(5,pt)],Ch);class iX extends l.Disposable{constructor(e,t){super(),this.domNode=e,this._register(t)}}function hO(o){return!!o&&typeof o=="object"&&(!o.overrideIdentifier||typeof o.overrideIdentifier=="string")&&(!o.resource||o.resource instanceof l.URI)}let N_=class{constructor(e){this.logService=e,this._onDidChangeConfiguration=new l.Emitter,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const t=new d9(e);this._configuration=new Np(t.reload(),Tt.createEmptyModel(e),Tt.createEmptyModel(e),Tt.createEmptyModel(e),Tt.createEmptyModel(e),Tt.createEmptyModel(e),new l.ResourceMap,Tt.createEmptyModel(e),new l.ResourceMap,e),t.dispose()}getValue(e,t){const i=typeof e=="string"?e:void 0,n=hO(e)?e:hO(t)?t:{};return this._configuration.getValue(i,n,void 0)}updateValues(e){const t={data:this._configuration.toData()},i=[];for(const n of e){const[s,r]=n;this.getValue(s)!==r&&(this._configuration.updateValue(s,r),i.push(s))}if(i.length>0){const n=new h9({keys:i,overrides:[]},t,this._configuration,void 0,this.logService);n.source=8,this._onDidChangeConfiguration.fire(n)}return Promise.resolve()}updateValu Line truncated
`:`\r
`}};b0=Oo([Nt(0,Ge)],b0);class nX{publicLog2(){}}const xf=class xf{constructor(){const e=l.URI.from({scheme:xf.SCHEME,authority:"model",path:"/"});this.workspace={id:LA,folders:[new vZ({uri:e,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(e){return e&&e.scheme===xf.SCHEME?this.workspace.folders[0]:null}};xf.SCHEME="inmemory";let C0=xf;function R_(o,e,t){if(!e||!(o instanceof N_))return;const i=[];Object.keys(e).forEach(n=>{LZ(n)&&i.push([`editor.${n}`,e[n]]),t&&DZ(n)&&i.push([`diffEditor.${n}`,e[n]])}),i.length>0&&o.updateValues(i)}let v0=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){const i=Array.isArray(e)?e:EL.convert(e),n=new Map;for(const a of i){if(!(a instanceof Er))throw new Error("bad edit - only text edits are supported");const c=this._modelService.getModel(a.resource);if(!c)throw new Error("bad edit - model not found");if(typeof a.versionId=="number"&&c.getVersionId()!==a.versionId)throw new Error("bad state - model changed in the meantime");let h=n.get(c);h||(h=[],n.set(c,h)),h.push(p_.replaceMove(l.Range.lift(a.textEdit.range),a.textEdit.text))}let s=0,r=0;for(const[a,c]of n)a.pushStackElement(),a.pushEditOperations([],c,()=>[]),a.pushStackElement(),r+=1,s+=c.length;return{ariaSummary:l.format(zL.bulkEditServiceSummary,s,r),isApplied:s>0}}};v0=Oo([Nt(0,ri)],v0);class sX{getUriLabel(e,t){return e.scheme==="file"?e.fsPath:e.path}getUriBasenameLabel(e){return dg(e)}}let w0=class extends zq{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,i){if(!t){const n=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();n&&(t=n.getContainerDomNode())}return super.showContextView(e,t,i)}};w0=Oo([Nt(0,Os),Nt(1,pt)],w0);class oX{constructor(){this._neverEmitter=new l.Emitter,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}}class rX extends OL{constructor(){super()}}class aX extends uZ{constructor(){super(new _B)}}let S0=class extends Zy{constructor(e,t,i,n,s,r){super(e,t,i,n,s,r),this.configure({blockMouse:!1})}};S0=Oo([Nt(0,Xn),Nt(1,yn),Nt(2,Fc),Nt(3,xt),Nt(4,Zo),Nt(5,be)],S0);class lX{async playSignal(e,t){}}class cX{constructor(){this.onDidChangeDefaultAccount=l.Event.None}async getDefaultAccount(){return null}}fe(fd,FQ,0),fe(ei,aX,0),fe(Ge,N_,0),fe(TC,_0,0),fe(cE,b0,0),fe(wA,C0,0),fe(AM,sX,0),fe(Xn,nX,0),fe(ey,tX,0),fe(ly,eX,0),fe(yn,m0,0),fe(xr,al,0),fe(yt,rX,0),fe(Tn,XQ,0),fe(ri,kL,0),fe($C,PL,0),fe(be,Ny,0),fe(CA,HQ,0),fe(d_,g0,0),fe(Qa,x7,0),fe(xA,v0,0),fe(DA,oX,0),fe(ql,f0,0),fe(Ui,Sy,0),fe(ts,iZ,0),fe(zi,p0,0),fe(xt,Ch,0),fe(Ps,c0,0),fe(Fc,w0,0),fe(Ou,RL,0),fe(Ip,Ey,0),fe(nn,S0,0),fe(Zo,yy,0),fe(Xa,lX,0),fe(Yw,JQ,0),fe(kx,wB,0),fe(xM,Vq,0),fe(EM,cX,0),fe(EA,SZ,0),fe(Na,vA,0);var J;(function(o){const e=new Oc;for(const[c,h]of Jx())e.set(c,h);const t=new jp(e,!0);e.set(me,t);function i(c){n||r({});const h=e.get(c);if(!h)throw new Error("Missing service "+c);return h instanceof gs?t.invokeFunction(d=>d.get(c)):h}o.get=i;let n=!1;const s=new l.Emitter;function r(c){if(n)return t;n=!0;for(const[d,u]of Jx())e.get(d)||e.set(d,u);for(const d in c)if(c.hasOwnProperty(d)){const u=le(d);e.get(u)instanceof gs&&e.set(u,c[d])}const h=EZ();for(const d of h)try{t.createInstance(d)}catch(u){l.onUnexpectedError(u)}return s.fire(),t}o.initialize=r;function a(c){if(n)return c();const h=new l.DisposableStore,d=h.add(s.event(()=>{d.dispose(),h.add(c())}));return h}o.withServices=a})(J||(J={}));function Po(o,e){return o}function hX(o){return Zr(o)}function dX(o,e,t,i=_.DebugLocation.ofCaller()){return An({debugName:()=>`Configuration Key "${o}"`},n=>t.onDidChangeConfiguration(s=>{s.affectsConfiguration(o)&&n(s)}),()=>t.getValue(o)??e,i)}function qs(o,e,t,i=_.DebugLocation.ofCaller()){const n=o.bindTo(e),s=new l.DisposableStore;return fn({debugName:()=>`Set Context Key "${o.key}"`},r=>{const a=t(r);return n.set(a),a},i).recomputeInitiallyAndOnChange(s),s}class vh{static capture(e){if(e.getScrollTop()===0||e.hasPendingScrollAnimation())return new vh(e.getScrollTop(),e.getContentHeight(),null,0,null);let t=null,i=0;const n=e.getVisibleRanges();if(n.length>0){t=n[0].getStartPosition();const s=e.getTopForPosition(t.lineNumber,t.column);i=e.getScrollTop()-s}return new vh(e.getScrollTop(),e.getContentHeight(),t,i,e.getPosition())}constructor(e,t,i,n,s){this._initialScrollTop=e,this._initialContentHeight=t,this._visiblePosition=i,this._visiblePositionScrollDelta=n,this._cursorPosition=s}restore(e){if(!(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())&&this._visiblePosition){const t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){if(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())return;const t=e.getPosition();if(!this._cursorPosition||!t)return;const i=e.g Line truncated
`:`\r
`),await this._clipboardService.writeText(L)})),n.getOption(104)||C.push(new oo("diff.inline.revertChange",l.localize(134,"Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),C},autoSelectFirstItem:!0})};this._register(At(this._diffActions,"mousedown",p=>{if(!p.leftButton)return;const{top:b,height:v}=Qi(this._diffActions),C=Math.floor(u/3);p.preventDefault(),m({x:p.posx,y:b+v+C})})),this._register(n.onMouseMove(p=>{(p.target.type===8||p.target.type===5)&&p.target.detail.viewZoneId===this._getViewZoneId()?(f=this._updateLightBulbPosition(this._marginDomNode,p.event.browserEvent.y,u),this.visibility=!0):this.visibility=!1})),this._register(BX({domNode:this._deletedCodeDomNode,diffEntry:s,originalModel:this._originalTextModel,renderLinesResult:this._renderLinesResult,clipboardService:d}))}_updateLightBulbPosition(e,t,i){const{top:n}=Qi(e),s=t-n,r=Math.floor(s/i),a=r*i;if(this._diffActions.style.top=`${a}px`,this._renderLinesResult.viewLineCounts){let c=0;for(let h=0;h<this._renderLinesResult.viewLineCounts.length;h++)if(c+=this._renderLinesResult.viewLineCounts[h],r<c)return h}return r}}const LO=lo("diffEditorWidget",{createHTML:o=>o});function DO(o,e,t,i,n=!1){Ot(i,e.fontInfo);const s=t.length>0,r=new ra(1e4);let a=0,c=0;const h=[],d=[];for(let m=0;m<o.lineTokens.length;m++){const p=m+1,b=o.lineTokens[m],v=o.lineBreakData[m],C=Ji.filter(t,p,1,Number.MAX_SAFE_INTEGER);if(v){let w=0;for(const S of v.breakOffsets){const L=b.sliceAndInflate(w,S,0),D=IO(c,L,Ji.extractWrapped(C,w,S),s,o.mightContainNonBasicASCII,o.mightContainRTL,e,r,n);a=Math.max(a,D.maxCharWidth),d.push(new EO(D.output.characterMapping,D.output.containsForeignElements,w)),c++,w=S}h.push(v.breakOffsets.length)}else{h.push(1);const w=IO(c,b,C,s,o.mightContainNonBasicASCII,o.mightContainRTL,e,r,n);a=Math.max(a,w.maxCharWidth),d.push(new EO(w.output.characterMapping,w.output.containsForeignElements,0)),c++}}a+=e.scrollBeyondLastColumn;const u=r.build(),f=LO?LO.createHTML(u):u;i.innerHTML=f;const g=a*e.typicalHalfwidthCharacterWidth;return new VX(c,g,h,d,o)}class xO{constructor(e,t=e.map(s=>null),i=!0,n=!0){this.lineTokens=e,this.lineBreakData=t,this.mightContainNonBasicASCII=i,this.mightContainRTL=n}}class yh{static fromEditor(e){const t=e.getOptions(),i=t.get(59),n=t.get(165);return new yh(e.getModel()?.getOptions().tabSize||0,i,t.get(40),i.typicalHalfwidthCharacterWidth,t.get(118),t.get(75),n.decorationsWidth,t.get(133),t.get(113),t.get(108),t.get(60),t.get(117).verticalScrollbarSize)}constructor(e,t,i,n,s,r,a,c,h,d,u,f,g=!0){this.tabSize=e,this.fontInfo=t,this.disableMonospaceOptimizations=i,this.typicalHalfwidthCharacterWidth=n,this.scrollBeyondLastColumn=s,this.lineHeight=r,this.lineDecorationsWidth=a,this.stopRenderingLineAfter=c,this.renderWhitespace=h,this.renderControlCharacters=d,this.fontLigatures=u,this.verticalScrollbarSize=f,this.setWidth=g}withSetWidth(e){return new yh(this.tabSize,this.fontInfo,this.disableMonospaceOptimizations,this.typicalHalfwidthCharacterWidth,this.scrollBeyondLastColumn,this.lineHeight,this.lineDecorationsWidth,this.stopRenderingLineAfter,this.renderWhitespace,this.renderControlCharacters,this.fontLigatures,this.verticalScrollbarSize,e)}withScrollBeyondLastColumn(e){return new yh(this.tabSize,this.fontInfo,this.disableMonospaceOptimizations,this.typicalHalfwidthCharacterWidth,e,this.lineHeight,this.lineDecorationsWidth,this.stopRenderingLineAfter,this.renderWhitespace,this.renderControlCharacters,this.fontLigatures,this.verticalScrollbarSize,this.setWidth)}}class VX{constructor(e,t,i,n,s){this.heightInLines=e,this.minWidthInPx=t,this.viewLineCounts=i,this._renderOutputs=n,this._source=s}getModelPositionAt(e,t){let i=e;for(;i&&!i.classList.contains("view-line");)i=i.parentElement;if(!i)return;const n=i.parentElement;if(!n)return;const s=n.querySelectorAll(".view-line");let r=-1;for(let u=0;u<s.length;u++)if(s[u]===i){r=u;break}if(r===-1||r>=this._renderOutputs.length)return;let a=1,c=r;for(let u=0;u<this.viewLineCounts.length;u++){if(c<this.viewLineCounts[u]){a=u+1;break}c-=this.viewLineCounts[u]}if(a>this._source.lineTokens.length)return;const h=this._renderOutputs[r];if(!h)return;const d=dc(h.characterMapping,e,t)+h.offset;return new l.Position(a,d)}}class EO extends xg{constructor(e,t,i){super(e,t),this.offset=i}}function IO(o,e,t,i,n,s,r,a,c){a.appendString('<div class="view-line'),!c&&!i&&a.appendString(" char-delete"),a.appendString('" style="top:'),a.appendString(String(o*r.lineHeight)),r.setWidth?a.appendString('px;width:1000000px;">'):a.appendString('px;">');const h=e.getLineContent(),d=Wi.isBasicASCII(h,n),u=Wi.containsRTL(h,d,s),f=bd(new Wo(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,h,!1,d,u,0,e,t,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==io.OFF,null,null,r.verticalScrollbarSize),a);a.appendString( Line truncated
`);let r=t;return s!==-1&&(r=t.substring(0,s)),qO(o,t,e.createByFilepathOrFirstLine(n||null,r),n)}return qO(o,t,e.createById(i),n)}function qO(o,e,t,i){return o.createModel(e,t,i)}E("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},l.localize(158,"The background color of the diff editor's header")),E("multiDiffEditor.background",vn,l.localize(159,"The background color of the multi file diff editor")),E("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},l.localize(160,"The border color of the multi file diff editor"));var dJ=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},YO=function(o,e){return function(t,i){e(t,i,o)}};class uJ{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let eD=class extends l.Disposable{constructor(e,t,i,n,s){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=i,this._instantiationService=n,this._viewModel=W(this,void 0),this._collapsed=Z(this,c=>this._viewModel.read(c)?.collapsed.read(c)),this._editorContentHeight=W(this,500),this.contentHeight=Z(this,c=>(this._collapsed.read(c)?0:this._editorContentHeight.read(c))+this._outerEditorHeight),this._modifiedContentWidth=W(this,0),this._modifiedWidth=W(this,0),this._originalContentWidth=W(this,0),this._originalWidth=W(this,0),this.maxScroll=Z(this,c=>{const h=this._modifiedContentWidth.read(c)-this._modifiedWidth.read(c),d=this._originalContentWidth.read(c)-this._originalWidth.read(c);return h>d?{maxScroll:h,width:this._modifiedWidth.read(c)}:{maxScroll:d,width:this._originalWidth.read(c)}}),this._elements=_e("div.multiDiffEntry",[_e("div.header@header",[_e("div.header-content",[_e("div.collapse-button@collapseButton"),_e("div.file-path",[_e("div.title.modified.show-file-icons@primaryPath",[]),_e("div.status.deleted@status",["R"]),_e("div.title.original.show-file-icons@secondaryPath",[])]),_e("div.actions@actions")])]),_e("div.editorParent",[_e("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(_.DiffEditorWidget,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode,fixedOverflowWidgets:!0},{})),this.isModifedFocused=Mr(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=Mr(this.editor.getOriginalEditor()).isFocused,this.isFocused=Z(this,c=>this.isModifedFocused.read(c)||this.isOriginalFocused.read(c)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new l.DisposableStore),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const r=this._register(new v_(this._elements.collapseButton,{}));this._register(he(c=>{r.element.className="",r.icon=this._collapsed.read(c)?l.Codicon.chevronRight:l.Codicon.chevronDown})),this._register(r.onDidClick(()=>{this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._workbenchUIElementFactory.headerClickToCollapse&&(this._elements.header.tabIndex=0,this._elements.header.setAttribute("role","button"),this._register(R(this._elements.header,F.CLICK,c=>{const h=c.target;h instanceof Element&&(h.closest(".actions")||h.closest(".collapse-button")||this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0))})),this._register(R(this._elements.header,F.KEY_DOWN,c=>{if(c.key==="Enter"||c.key===" "){const h=c.target;if(h instanceof Element&&(h.closest(".actions")||h.closest(".collapse-button")))return;c.preventDefault(),this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)}}))),this._register(he(c=>{const h=this._collapsed.read(c);this._elements.editor.style.display=h?"none":"block",this._workbenchUIElementFactory.headerClickToCollapse&&this._elements.header.setAttribute("aria-expanded",String(!h))})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(c=>{const h=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(h,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(c=>{const h=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(h,void 0)})),this._register(this.editor.onDidContentSizeChange(c=>{Xh(h=>{this._editorContentHeight.set(c.contentHeight,h),this._modifiedContentWidth.set(this.editor.getModifiedEditor().g Line truncated
hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof a.open=="string"&&typeof a.token=="string"&&typeof a.close=="string")s.push({token:a.token+t.tokenPostfix,open:co(t,a.open),close:co(t,a.close)});else throw je(t,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return t.brackets=s,t.noThrow=!0,t}function sW(o){Jl.registerLanguage(o)}function oW(){let o=[];return o=o.concat(Jl.getLanguages()),o}function rW(o){return J.get(yt).languageIdCodec.encodeLanguageId(o)}function aW(o,e){return J.withServices(()=>{const i=J.get(yt).onDidRequestRichLanguageFeatures(n=>{n===o&&(i.dispose(),e())});return i})}function lW(o,e){return J.withServices(()=>{const i=J.get(yt).onDidRequestBasicLanguageFeatures(n=>{n===o&&(i.dispose(),e())});return i})}function cW(o,e){if(!J.get(yt).isRegisteredLanguageId(o))throw new Error(`Cannot set configuration for unknown language ${o}`);return J.get(ms).register(o,e,100)}class hW{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if(typeof this._actual.tokenize=="function")return ff.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const n=this._actual.tokenizeEncoded(e,i);return new l.EncodedTokenizationResult(n.tokens,[],n.endState)}}class ff{constructor(e,t,i,n){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=n}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let n=0;for(let s=0,r=e.length;s<r;s++){const a=e[s];let c=a.startIndex;s===0?c=0:c<n&&(c=n),i[s]=new l.Token(c,a.scopes,t),n=c}return i}static adaptTokenize(e,t,i,n){const s=t.tokenize(i,n),r=ff._toClassicTokens(s.tokens,e);let a;return s.endState.equals(n)?a=n:a=s.endState,new l.TokenizationResult(r,a)}tokenize(e,t,i){return ff.adaptTokenize(this._languageId,this._actual,e,i)}_toBinaryTokens(e,t){const i=e.encodeLanguageId(this._languageId),n=this._standaloneThemeService.getColorTheme().tokenTheme,s=[];let r=0,a=0;for(let h=0,d=t.length;h<d;h++){const u=t[h],f=n.match(i,u.scopes)|1024;if(r>0&&s[r-1]===f)continue;let g=u.startIndex;h===0?g=0:g<a&&(g=a),s[r++]=g,s[r++]=f,a=g}const c=new Uint32Array(r);for(let h=0;h<r;h++)c[h]=s[h];return c}tokenizeEncoded(e,t,i){const n=this._actual.tokenize(e,i),s=this._toBinaryTokens(this._languageService.languageIdCodec,n.tokens);let r;return n.endState.equals(i)?r=i:r=n.endState,new l.EncodedTokenizationResult(s,[],r)}}function dW(o){return typeof o.getInitialState=="function"}function uW(o){return"tokenizeEncoded"in o}function HO(o){return o&&typeof o.then=="function"}function fW(o){const e=J.get(Tn);if(o){const t=[null];for(let i=1,n=o.length;i<n;i++)t[i]=l.Color.fromHex(o[i]);e.setColorMapOverride(t)}else e.setColorMapOverride(null)}function eP(o,e){return uW(e)?new hW(o,e):new ff(o,e,J.get(yt),J.get(Tn))}function oD(o,e){const t=new l.LazyTokenizationSupport(async()=>{const i=await Promise.resolve(e.create());return i?dW(i)?eP(o,i):new Sd(J.get(yt),J.get(Tn),o,WO(o,i),J.get(Ge)):null});return l.TokenizationRegistry.registerFactory(o,t)}function gW(o,e){if(!J.get(yt).isRegisteredLanguageId(o))throw new Error(`Cannot set tokens provider for unknown language ${o}`);return HO(e)?oD(o,{create:()=>e}):l.TokenizationRegistry.register(o,eP(o,e))}function mW(o,e){const t=i=>new Sd(J.get(yt),J.get(Tn),o,WO(o,i),J.get(Ge));return HO(e)?oD(o,{create:()=>e}):l.TokenizationRegistry.register(o,t(e))}function pW(o,e){return J.get(ze).referenceProvider.register(o,e)}function _W(o,e){return J.get(ze).renameProvider.register(o,e)}function bW(o,e){return J.get(ze).newSymbolNamesProvider.register(o,e)}function CW(o,e){return J.get(ze).signatureHelpProvider.register(o,e)}function vW(o,e){return J.get(ze).hoverProvider.register(o,{provideHover:async(i,n,s,r)=>{const a=i.getWordAtPosition(n);return Promise.resolve(e.provideHover(i,n,s,r)).then(c=>{if(c)return!c.range&&a&&(c.range=new l.Range(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn)),c.range||(c.range=new l.Range(n.lineNumber,n.column,n.lineNumber,n.column)),c})}})}function wW(o,e){return J.get(ze).documentSymbolProvider.register(o,e)}function SW(o,e){return J.get(ze).documentHighlightProvider.register(o,e)}function yW(o,e){return J.get(ze).linkedEditingRangeProvider.register(o,e)}function LW(o,e){return J.get(ze).definitionProvider.register(o,e)}function DW(o,e){return J.get(ze).implementationProvider.register(o,e)}function xW(o,e){return J.get(ze).typeDefinitionProvider.register(o,e)}function EW(o,e){return J.get(ze).codeLensProvider.register(o,e)}function IW(o,e,t){return J.get(ze).codeActionProvider.register(o,{providedCodeActionKinds:t?.providedCodeActionKinds,documentation:t?.documentation,provideCodeActions:(n,s,r,a)=>{const h=J.get(xr).read({resource:n.uri}).filter(d=>l.Range.areIntersectingOrTouching(d,s));return e.provideCodeActions(n Line truncated
@@ -0,0 +1 @@
define("vs/editor",["exports","./editor-KLE6jdfb"],(function(e,n){"use strict";e.CancellationTokenSource=n.CancellationTokenSource,e.Emitter=n.Emitter,e.KeyCode=n.KeyCode,e.KeyMod=n.KeyMod,e.MarkerSeverity=n.MarkerSeverity,e.MarkerTag=n.MarkerTag,e.Position=n.Position,e.Range=n.Range,e.Selection=n.Selection,e.SelectionDirection=n.SelectionDirection,e.Token=n.Token,e.Uri=n.Uri,e.editor=n.editor,e.languages=n.languages,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace}.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.monaco-editor .synthetic-focus,.monaco-diff-editor .synthetic-focus,.monaco-editor [tabindex="0"]:focus,.monaco-diff-editor [tabindex="0"]:focus,.monaco-editor [tabindex="-1"]:focus,.monaco-diff-editor [tabindex="-1"]:focus,.monaco-editor button:focus,.monaco-diff-editor button:focus,.monaco-editor input[type=button]:focus,.monaco-diff-editor input[type=button]:focus,.monaco-editor input[type=checkbox]:focus,.monaco-diff-editor input[type=checkbox]:focus,.monaco-editor input[type=search]:focus,.monaco-diff-editor input[type=search]:focus,.monaco-editor input[type=text]:focus,.monaco-diff-editor input[type=text]:focus,.monaco-editor select:focus,.monaco-diff-editor select:focus,.monaco-editor textarea:focus,.monaco-diff-editor textarea:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--vscode-focusBorder);opacity:1}.monaco-aria-container{position:absolute;left:-999em}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;text-spacing-trim:space-all;color:var(--vscode-editor-foreground);background-color:var(--vscode-editor-background);overflow-wrap:initial}.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .editorCanvas{position:absolute;width:100%;height:100%;z-index:0;pointer-events:none}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .view-overlays>div,.monaco-editor .margin-view-overlays>div{position:absolute;width:100%}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground, inherit)}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.disable-animations .monaco-scrollable-element>.visible,.disable-animations .monaco-scrollable-element>.invisible.fade{transition:none}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;leLine truncated
@@ -0,0 +1 @@
define("vs/editor/editor.main",["exports","../json.worker-BizpAl9O","../css.worker-CyhWkhHo","../html.worker-CA3iAimZ","../ts.worker-2QLmBukE","require","vs/nls.messages-loader!","../index-CBVt3dzv","../monaco.contribution-9cKT3C7t","../editor-KLE6jdfb","../monaco.contribution-BgRy6xDf","../monaco.contribution-BE88ZNGY","../monaco.contribution-BPhsneLd"],(function(e,m,k,v,h,a,S,l,u,r,g,y,f){"use strict";function w(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const s in t)if(s!=="default"){const d=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(n,s,d.get?d:{enumerable:!0,get:()=>t[s]})}}return n.default=t,Object.freeze(n)}const j=w(a),T=""+new URL(a.toUrl("../assets/editor.worker-lj3bdIIn.js"),document.baseURI).href;typeof globalThis.require<"u"&&typeof globalThis.require.config=="function"&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]}),self.MonacoEnvironment={getWorker:function(t,n){return n==="json"?new Worker(o(m.__worker_url_0__)):n==="css"||n==="scss"||n==="less"?new Worker(o(k.__worker_url_0__)):n==="html"||n==="handlebars"||n==="razor"?new Worker(o(v.__worker_url_0__)):n==="typescript"||n==="javascript"?new Worker(o(h.__worker_url_0__)):new Worker(o(T))}};function o(t){typeof t!="string"&&(t=t.toString());const n=new Blob([["const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });","globalThis.workerttPolicy = ttPolicy;",`importScripts(ttPolicy?.createScriptURL(${JSON.stringify(t)}) ?? ${JSON.stringify(t)});`,"globalThis.postMessage({ type: 'vscode-worker-ready' });"].join("")],{type:"application/javascript"});return URL.createObjectURL(n)}globalThis.monaco=l.monaco;const i=r.languages;i.css=u.register,i.html=g.register,i.typescript=y.register,i.json=f.register;const b=j.toUrl("vs/editor/editor.main.css"),c=document.createElement("link");c.rel="stylesheet",c.href=b,document.head.appendChild(c),e.lsp=l.index,e.css=u.register,e.CancellationTokenSource=r.CancellationTokenSource,e.Emitter=r.Emitter,e.KeyCode=r.KeyCode,e.KeyMod=r.KeyMod,e.MarkerSeverity=r.MarkerSeverity,e.MarkerTag=r.MarkerTag,e.Position=r.Position,e.Range=r.Range,e.Selection=r.Selection,e.SelectionDirection=r.SelectionDirection,e.Token=r.Token,e.Uri=r.Uri,e.editor=r.editor,e.languages=r.languages,e.html=g.register,e.typescript=y.register,e.json=f.register,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/editor/editor.worker",["exports","../initialize-DL0l1TGY"],(function(i,e){"use strict";self.onmessage=()=>{e.isWorkerInitialized()||e.start(()=>({}))},i.initialize=e.initialize,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1,35 @@
define("vs/editorWorkerHost-fVE1cjcC",["require","exports"],(function(w1,u){"use strict";function _1(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}function y1(t){if(t.length===0)throw new Error("Invalid tail call");return[t.slice(0,t.length-1),t[t.length-1]]}function as(t,e,n=(i,s)=>i===s){if(t===e)return!0;if(!t||!e||t.length!==e.length)return!1;for(let i=0,s=t.length;i<s;i++)if(!n(t[i],e[i]))return!1;return!0}function L1(t,e){const n=t.length-1;e<n&&(t[e]=t[n]),t.pop()}function v1(t,e,n){return os(t.length,i=>n(t[i],e))}function os(t,e){let n=0,i=t-1;for(;n<=i;){const s=(n+i)/2|0,r=e(s);if(r<0)n=s+1;else if(r>0)i=s-1;else return s}return-(n+1)}function $n(t,e,n){if(t=t|0,t>=e.length)throw new TypeError("invalid index");const i=e[Math.floor(e.length*Math.random())],s=[],r=[],a=[];for(const l of e){const c=n(l,i);c<0?s.push(l):c>0?r.push(l):a.push(l)}return t<s.length?$n(t,s,n):t<s.length+a.length?a[0]:$n(t-(s.length+a.length),r,n)}function x1(t,e){const n=[];let i;for(const s of t.slice(0).sort(e))!i||e(i[0],s)!==0?(i=[s],n.push(i)):i.push(s);return n}function*ls(t,e){let n,i;for(const s of t)i!==void 0&&e(i,s)?n.push(s):(n&&(yield n),n=[s]),i=s;n&&(yield n)}function us(t,e){for(let n=0;n<=t.length;n++)e(n===0?void 0:t[n-1],n===t.length?void 0:t[n])}function S1(t,e){for(let n=0;n<t.length;n++)e(n===0?void 0:t[n-1],t[n],n+1===t.length?void 0:t[n+1])}function N1(t){return t.filter(e=>!!e)}function C1(t){let e=0;for(let n=0;n<t.length;n++)t[n]&&(t[e]=t[n],e+=1);t.length=e}function R1(t){return!Array.isArray(t)||t.length===0}function A1(t){return Array.isArray(t)&&t.length>0}function E1(t,e=n=>n){const n=new Set;return t.filter(i=>{const s=e(i);return n.has(s)?!1:(n.add(s),!0)})}function M1(t,e){let n=typeof e=="number"?t:0;typeof e=="number"?n=t:(n=0,e=t);const i=[];if(n<=e)for(let s=n;s<e;s++)i.push(s);else for(let s=n;s>e;s--)i.push(s);return i}function cs(t,e,n){const i=t.slice(0,e),s=t.slice(e);return i.concat(n,s)}function k1(t,e){const n=t.indexOf(e);n>-1&&(t.splice(n,1),t.unshift(e))}function T1(t,e){const n=t.indexOf(e);n>-1&&(t.splice(n,1),t.push(e))}function hs(t,e){for(const n of e)t.push(n)}function P1(t,e){const n=[];for(const i of t){const s=e(i);s!==void 0&&n.push(s)}return n}function I1(t){return Array.isArray(t)?t:[t]}function F1(t,e,n){const i=fs(t,e),s=t.length,r=n.length;t.length=s+r;for(let a=s-1;a>=i;a--)t[a+r]=t[a];for(let a=0;a<r;a++)t[a+i]=n[a]}function D1(t,e,n,i){const s=fs(t,e);let r=t.splice(s,n);return r===void 0&&(r=[]),F1(t,s,i),r}function fs(t,e){return e<0?Math.max(e+t.length,0):Math.min(e,t.length)}var qe;(function(t){function e(r){return r<0}t.isLessThan=e;function n(r){return r<=0}t.isLessThanOrEqual=n;function i(r){return r>0}t.isGreaterThan=i;function s(r){return r===0}t.isNeitherLessOrGreaterThan=s,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(qe||(qe={}));function $e(t,e){return(n,i)=>e(t(n),t(i))}function B1(...t){return(e,n)=>{for(const i of t){const s=i(e,n);if(!qe.isNeitherLessOrGreaterThan(s))return s}return qe.neitherLessOrGreaterThan}}const Oe=(t,e)=>t-e,V1=(t,e)=>Oe(t?1:0,e?1:0);function ds(t){return(e,n)=>-t(e,n)}function q1(t){return(e,n)=>e===void 0?n===void 0?qe.neitherLessOrGreaterThan:qe.lessThan:n===void 0?qe.greaterThan:t(e,n)}class U1{constructor(e){this.firstIdx=0,this.items=e,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let n=this.firstIdx;for(;n<this.items.length&&e(this.items[n]);)n++;const i=n===this.firstIdx?null:this.items.slice(this.firstIdx,n);return this.firstIdx=n,i}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const n=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,n}}const Ct=class Ct{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(n=>(e.push(n),!0)),e}filter(e){return new Ct(n=>this.iterate(i=>e(i)?n(i):!0))}map(e){return new Ct(n=>this.iterate(i=>n(e(i))))}findLast(e){let n;return this.iterate(i=>(e(i)&&(n=i),!0)),n}findLastMaxBy(e){let n,i=!0;return this.iterate(s=>((i||qe.isGreaterThan(e(s,n)))&&(i=!1,n=s),!0)),n}};Ct.empty=new Ct(e=>{});let On=Ct;class tn{constructor(e){this._indexMap=e}static createSortPermutation(e,n){const i=Array.from(e.keys()).sort((s,r)=>n(e[s],e[r]));return new tn(i)}apply(e){return e.map((n,i)=>e[this._indexMap[i]])}inverse(){const e=this._indexMap.slice();for(let n=0;n<this._indexMap.length;n++)e[this._indexMap[n]]=n;return new tn(e)}}function W1(t){return t.reduce((e,n)=>e+n,0)}class $1{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?st.isErrorNoTelemetry(e)?new st(e.message+`
`+e.stack):new Error(e.message+`
`+e.stack):e},0)}}emit(e){this.listeners.forEach(n=>{n(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const zn=new $1;function O1(t){zn.onUnexpectedError(t)}function ze(t){sn(t)||zn.onUnexpectedError(t)}function ms(t){sn(t)||zn.onUnexpectedExternalError(t)}function Hn(t){if(t instanceof Error){const{name:e,message:n,cause:i}=t,s=t.stacktrace||t.stack;return{$isError:!0,name:e,message:n,stack:s,noTelemetry:st.isErrorNoTelemetry(t),cause:i?Hn(i):void 0,code:t.code}}return t}const nn="Canceled";function sn(t){return t instanceof Ce?!0:t instanceof Error&&t.name===nn&&t.message===nn}class Ce extends Error{constructor(){super(nn),this.name=this.message}}function z1(){const t=new Error(nn);return t.name=t.message,t}function H1(t){return t?new Error(`Illegal argument: ${t}`):new Error("Illegal argument")}function j1(t){return t?new Error(`Illegal state: ${t}`):new Error("Illegal state")}class G1 extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class st extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof st)return e;const n=new st;return n.message=e.message,n.stack=e.stack,n}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class G extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,G.prototype)}}function Q1(t,e){if(!t)throw new Error(e?`Assertion failed (${e})`:"Assertion Failed")}function gs(t,e="Unreachable"){throw new Error(e)}function jn(t,e="unexpected state"){if(!t)throw typeof e=="string"?new G(`Assertion Failed: ${e}`):e}function X1(t,e="Soft Assertion Failed"){t||ze(new G(e))}function rt(t){if(!t()){debugger;t(),ze(new G("Assertion Failed"))}}function rn(t,e){let n=0;for(;n<t.length-1;){const i=t[n],s=t[n+1];if(!e(i,s))return!1;n++}return!0}function Gn(t){return typeof t=="string"}function Y1(t,e){return Array.isArray(t)&&t.every(e)}function at(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&!(t instanceof RegExp)&&!(t instanceof Date)}function J1(t){const e=Object.getPrototypeOf(Uint8Array);return typeof t=="object"&&t instanceof e}function Z1(t){return typeof t=="number"&&!isNaN(t)}function ps(t){return!!t&&typeof t[Symbol.iterator]=="function"}function K1(t){return t===!0||t===!1}function bs(t){return typeof t>"u"}function ea(t){return!an(t)}function an(t){return bs(t)||t===null}function ta(t,e){if(!t)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}function na(t){return jn(t!=null,"Argument is `undefined` or `null`."),t}function ws(t){return typeof t=="function"}function ia(t,e){const n=Math.min(t.length,e.length);for(let i=0;i<n;i++)sa(t[i],e[i])}function sa(t,e){if(Gn(e)){if(typeof t!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(ws(e)){try{if(t instanceof e)return}catch{}if(!an(t)&&t.constructor===e||e.length===1&&e.call(void 0,t)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function ra(t){return t}function _s(t){if(!t||typeof t!="object"||t instanceof RegExp)return t;const e=Array.isArray(t)?[]:{};return Object.entries(t).forEach(([n,i])=>{e[n]=i&&typeof i=="object"?_s(i):i}),e}function aa(t){if(!t||typeof t!="object")return t;const e=[t];for(;e.length>0;){const n=e.shift();Object.freeze(n);for(const i in n)if(ys.call(n,i)){const s=n[i];typeof s=="object"&&!Object.isFrozen(s)&&!J1(s)&&e.push(s)}}return t}const ys=Object.prototype.hasOwnProperty;function oa(t,e){return Qn(t,e,new Set)}function Qn(t,e,n){if(an(t))return t;const i=e(t);if(typeof i<"u")return i;if(Array.isArray(t)){const s=[];for(const r of t)s.push(Qn(r,e,n));return s}if(at(t)){if(n.has(t))throw new Error("Cannot clone recursive data-structure");n.add(t);const s={};for(const r in t)ys.call(t,r)&&(s[r]=Qn(t[r],e,n));return n.delete(t),s}return t}function Ls(t,e,n=!0){return at(t)?(at(e)&&Object.keys(e).forEach(i=>{i in t?n&&(at(t[i])&&at(e[i])?Ls(t[i],e[i],n):t[i]=e[i]):t[i]=e[i]}),t):e}function Tt(t,e){if(t===e)return!0;if(t==null||e===null||e===void 0||typeof t!=typeof e||typeof t!="object"||Array.isArray(t)!==Array.isArray(e))return!1;let n,i;if(Array.isArray(t)){if(t.length!==e.length)return!1;for(n=0;n<t.length;n++)if(!Tt(t[n],e[n]))return!1}else{const s=[];for(i in t)s.push(i);s.sort();const r=[];for(i in e)r.push(i);if(r.sort(),!Tt(s,r))return!1;for(n=0;n<s.length;n++)if(!Tt(t[s[n]],e[s[n]]))return!1}return!0}function vs(){return globalThis._VSCODE_NLS_MESSAGES}function Xn(){return globalThis._VSCODE_NLS_LANGUAGE}const la=Xn()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0;function on(t,e){let n;return e.length===0?n=t:n=t.replace(/\{(\d+)\}/g,(i,s)=>{const r=s[0],a=e[r];let l=i;return typeof a=="string"?l=a:(typeof a=="number"||ty Line truncated
`).slice(2).join(`
`))}}class dn extends Error{constructor(e,n,i,s,r){super(r?`[${r}] potential listener LEAK detected, ${e}`:`potential listener LEAK detected, ${e}`),this.name="ListenerLeakError",this.kind=e,this.listenerCount=s,this.details=n,this.stack=i}static is(e){return e instanceof dn||e instanceof Error&&typeof e.kind=="string"&&typeof e.listenerCount=="number"}}class Fa extends dn{constructor(e,n,i,s,r){super(e,n,i,s,r),this.name="ListenerRefusalError"}}class si{constructor(e){this.value=e}}const Da=2;class ie{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new ii(e?.onListenerError??ze,this._options?.leakWarningThreshold??Ia,this._options?.leakWarningName):void 0,this._perfMon=this._options?._profName?new ni(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,n,i)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const l=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(l);const c=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],h=c[1]/this._size>.3?"dominated":"popular",d=new Fa(h,`${l}. HINT: Stack shows most frequent listener (${c[1]}-times)`,c[0],this._size,this._options?.leakWarningName);return(this._options?.onListenerError||ze)(d),we.None}if(this._disposed)return we.None;n&&(e=e.bind(n));const s=new si(e);let r;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(s.stack=fn.create(),r=this._leakageMon.check(s.stack,this._size+1)),this._listeners?this._listeners instanceof si?(this._deliveryQueue??=new Vs,this._listeners=[this._listeners,s]):this._listeners.push(s):(this._options?.onWillAddFirstListener?.(this),this._listeners=s,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;const a=xe(()=>{r?.(),this._removeListener(s)});return ri(a,i),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const n=this._listeners,i=n.indexOf(e);if(i===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,n[i]=void 0;const s=this._deliveryQueue.current===this;if(this._size*Da<=n.length){let r=0;for(let a=0;a<n.length;a++)n[a]?n[r++]=n[a]:s&&r<this._deliveryQueue.end&&(this._deliveryQueue.end--,r<this._deliveryQueue.i&&this._deliveryQueue.i--);n.length=r}}_deliver(e,n){if(!e)return;const i=this._options?.onListenerError||ze;if(!i){e.value(n);return}try{e.value(n)}catch(s){i(s)}}_deliverQueue(e){const n=e.current._listeners;for(;e.i<e.end;)this._deliver(n[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof si)this._deliver(this._listeners,e);else{const n=this._deliveryQueue;n.enqueue(this,e,this._listeners.length),this._deliverQueue(n)}this._perfMon?.stop()}hasListeners(){return this._size>0}}const Ba=()=>new Vs;class Vs{constructor(){this.i=-1,this.end=0}enqueue(e,n,i){this.i=0,this.end=i,this.current=e,this.value=n}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class qs extends ie{constructor(e){super(e),this._isPaused=0,this._eventQueue=new Kn,this._mergeFn=e?.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused!==0?this._eventQueue.push(e):super.fire(e))}}class Va extends qs{constructor(e){super(e),this._delay=e.delay??100}fire(e){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(e)}}class qa extends ie{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e?.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(n=>super.fire(n)),this._queuedEvents=[]}))}}class Ua{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new ie({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const n= Line truncated
`+e(a,i+1):s+=`${a}
`;return s};return e(this._data,0)}}const Wt="default",Pr="$initialize";let Ir=!1;function Fr(t){Zn&&(Ir||(Ir=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(t.message))}class Jl{constructor(e,n,i,s,r){this.vsWorker=e,this.req=n,this.channel=i,this.method=s,this.args=r,this.type=0}}class Dr{constructor(e,n,i,s){this.vsWorker=e,this.seq=n,this.res=i,this.err=s,this.type=1}}class Zl{constructor(e,n,i,s,r){this.vsWorker=e,this.req=n,this.channel=i,this.eventName=s,this.arg=r,this.type=2}}class Kl{constructor(e,n,i){this.vsWorker=e,this.req=n,this.event=i,this.type=3}}class eu{constructor(e,n){this.vsWorker=e,this.req=n,this.type=4}}class Br{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}async sendMessage(e,n,i){const s=String(++this._lastSentReq);return new Promise((r,a)=>{this._pendingReplies[s]={resolve:r,reject:a},this._send(new Jl(this._workerId,s,e,n,i))})}listen(e,n,i){let s=null;const r=new ie({onWillAddFirstListener:()=>{s=String(++this._lastSentReq),this._pendingEmitters.set(s,r),this._send(new Zl(this._workerId,s,e,n,i))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(s),this._send(new eu(this._workerId,s)),s=null}});return r.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}createProxyToRemoteChannel(e,n){const i={get:(s,r)=>(typeof r=="string"&&!s[r]&&(Bi(r)?s[r]=a=>this.listen(e,r,a):Di(r)?s[r]=this.listen(e,r,void 0):r.charCodeAt(0)===36&&(s[r]=async(...a)=>(await n?.(),this.sendMessage(e,r,a)))),s[r])};return new Proxy(Object.create(null),i)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq]){console.warn("Got reply to unknown seq");return}const n=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let i=e.err;if(e.err.$isError){const s=new Error;s.name=e.err.name,s.message=e.err.message,s.stack=e.err.stack,i=s}n.reject(i);return}n.resolve(e.res)}_handleRequestMessage(e){const n=e.req;this._handler.handleMessage(e.channel,e.method,e.args).then(s=>{this._send(new Dr(this._workerId,n,s,void 0))},s=>{s.detail instanceof Error&&(s.detail=Hn(s.detail)),this._send(new Dr(this._workerId,n,void 0,Hn(s)))})}_handleSubscribeEventMessage(e){const n=e.req,i=this._handler.handleEvent(e.channel,e.eventName,e.arg)(s=>{this._send(new Kl(this._workerId,n,s))});this._pendingEvents.set(n,i)}_handleEventMessage(e){const n=this._pendingEmitters.get(e.req);if(n===void 0){console.warn("Got event for unknown req");return}n.fire(e.event)}_handleUnsubscribeEventMessage(e){const n=this._pendingEvents.get(e.req);if(n===void 0){console.warn("Got unsubscribe for unknown req");return}n.dispose(),this._pendingEvents.delete(e.req)}_send(e){const n=[];if(e.type===0)for(let i=0;i<e.args.length;i++){const s=e.args[i];s instanceof ArrayBuffer&&n.push(s)}else e.type===1&&e.res instanceof ArrayBuffer&&n.push(e.res);this._handler.sendMessage(e,n)}}class tu extends we{constructor(e){super(),this._localChannels=new Map,this._worker=this._register(e),this._register(this._worker.onMessage(n=>{this._protocol.handleMessage(n)})),this._register(this._worker.onError(n=>{Fr(n),ze(n)})),this._protocol=new Br({sendMessage:(n,i)=>{this._worker.postMessage(n,i)},handleMessage:(n,i,s)=>this._handleMessage(n,i,s),handleEvent:(n,i,s)=>this._handleEvent(n,i,s)}),this._protocol.setWorkerId(this._worker.getId()),this._onModuleLoaded=this._protocol.sendMessage(Wt,Pr,[this._worker.getId()]).then(()=>{}),this.proxy=this._protocol.createProxyToRemoteChannel(Wt,async()=>{await this._onModuleLoaded}),this._onModuleLoaded.catch(n=>{this._onError("Worker failed to load ",n)})}_handleMessage(e,n,i){const s=this._localChannels.get(e);if(!s)return Promise.reject(new Error(`Missing channel ${e} on main thread`));const r=s[n];if(typeof r!="function")return Promise.reject(new Error(`Missing method ${n} on main thread channel ${e}`));try{return Promise.resolve(r.apply(s,i))}catch(a){return Promise.reject(a)}}_handleEvent(e,n,i){const s=this._localChannels.get(e);if(!s)throw new Error(`Missing channel ${e} on main thread`);if(Bi(n)){const r=s[n];if(typeof r!="function")throw new Error(`Missing dynamic event ${n} on main thread channel ${e}.`);const a=r.call(s,i);if(typeof a!="function")throw new Error(`Missing dynamic event ${n} on main thread channel ${e}.`);return a}if(Di(n)){const r=s[n];if(typeof r!="function")throw new Error(`Missing event ${n} on main thread channel ${e}.`);return r}throw new Err Line truncated
`)>=0;let n=null;try{n=sr(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch{return null}if(!n)return null;let i=!this.isRegex&&!e;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new mu(n,this.wordSeparators?Wr(this.wordSeparators,[]):null,i?this.searchString:null)}}function $r(t){if(!t||t.length===0)return!1;for(let e=0,n=t.length;e<n;e++){const i=t.charCodeAt(e);if(i===10)return!0;if(i===92){if(e++,e>=n)break;const s=t.charCodeAt(e);if(s===110||s===114||s===87)return!0}}return!1}function _t(t,e,n){if(!n)return new An(t,null);const i=[];for(let s=0,r=e.length;s<r;s++)i[s]=e[s];return new An(t,i)}class Or{constructor(e){const n=[];let i=0;for(let s=0,r=e.length;s<r;s++)e.charCodeAt(s)===10&&(n[i++]=s);this._lineFeedsOffsets=n}findLineFeedCountBeforeOffset(e){const n=this._lineFeedsOffsets;let i=0,s=n.length-1;if(s===-1||e<=n[0])return 0;for(;i<s;){const r=i+((s-i)/2>>0);n[r]>=e?s=r-1:n[r+1]>=e?(i=r,s=r):i=r+1}return i+1}}class _u{static findMatches(e,n,i,s,r){const a=n.parseSearchRequest();return a?a.regex.multiline?this._doFindMatchesMultiline(e,i,new yt(a.wordSeparators,a.regex),s,r):this._doFindMatchesLineByLine(e,i,a,s,r):[]}static _getMultilineMatchRange(e,n,i,s,r,a){let l,c=0;s?(c=s.findLineFeedCountBeforeOffset(r),l=n+r+c):l=n+r;let h;if(s){const b=s.findLineFeedCountBeforeOffset(r+a.length)-c;h=l+a.length+b}else h=l+a.length;const d=e.getPositionAt(l),f=e.getPositionAt(h);return new N(d.lineNumber,d.column,f.lineNumber,f.column)}static _doFindMatchesMultiline(e,n,i,s,r){const a=e.getOffsetAt(n.getStartPosition()),l=e.getValueInRange(n,1),c=e.getEOL()===`\r
`?new Or(l):null,h=[];let d=0,f;for(i.reset(0);f=i.next(l);)if(h[d++]=_t(this._getMultilineMatchRange(e,a,l,c,f.index,f[0]),f,s),d>=r)return h;return h}static _doFindMatchesLineByLine(e,n,i,s,r){const a=[];let l=0;if(n.startLineNumber===n.endLineNumber){const h=e.getLineContent(n.startLineNumber).substring(n.startColumn-1,n.endColumn-1);return l=this._findMatchesInLine(i,h,n.startLineNumber,n.startColumn-1,l,a,s,r),a}const c=e.getLineContent(n.startLineNumber).substring(n.startColumn-1);l=this._findMatchesInLine(i,c,n.startLineNumber,n.startColumn-1,l,a,s,r);for(let h=n.startLineNumber+1;h<n.endLineNumber&&l<r;h++)l=this._findMatchesInLine(i,e.getLineContent(h),h,0,l,a,s,r);if(l<r){const h=e.getLineContent(n.endLineNumber).substring(0,n.endColumn-1);l=this._findMatchesInLine(i,h,n.endLineNumber,0,l,a,s,r)}return a}static _findMatchesInLine(e,n,i,s,r,a,l,c){const h=e.wordSeparators;if(!l&&e.simpleSearch){const m=e.simpleSearch,b=m.length,p=n.length;let g=-b;for(;(g=n.indexOf(m,g+b))!==-1;)if((!h||$i(h,n,p,g,b))&&(a[r++]=new An(new N(i,g+1+s,i,g+1+b+s),null),r>=c))return r;return r}const d=new yt(e.wordSeparators,e.regex);let f;d.reset(0);do if(f=d.next(n),f&&(a[r++]=_t(new N(i,f.index+1+s,i,f.index+1+f[0].length+s),f,l),r>=c))return r;while(f);return r}static findNextMatch(e,n,i,s){const r=n.parseSearchRequest();if(!r)return null;const a=new yt(r.wordSeparators,r.regex);return r.regex.multiline?this._doFindNextMatchMultiline(e,i,a,s):this._doFindNextMatchLineByLine(e,i,a,s)}static _doFindNextMatchMultiline(e,n,i,s){const r=new U(n.lineNumber,1),a=e.getOffsetAt(r),l=e.getLineCount(),c=e.getValueInRange(new N(r.lineNumber,r.column,l,e.getLineMaxColumn(l)),1),h=e.getEOL()===`\r
`?new Or(c):null;i.reset(n.column-1);const d=i.next(c);return d?_t(this._getMultilineMatchRange(e,a,c,h,d.index,d[0]),d,s):n.lineNumber!==1||n.column!==1?this._doFindNextMatchMultiline(e,new U(1,1),i,s):null}static _doFindNextMatchLineByLine(e,n,i,s){const r=e.getLineCount(),a=n.lineNumber,l=e.getLineContent(a),c=this._findFirstMatchInLine(i,l,a,n.column,s);if(c)return c;for(let h=1;h<=r;h++){const d=(a+h-1)%r,f=e.getLineContent(d+1),m=this._findFirstMatchInLine(i,f,d+1,1,s);if(m)return m}return null}static _findFirstMatchInLine(e,n,i,s,r){e.reset(s-1);const a=e.next(n);return a?_t(new N(i,a.index+1,i,a.index+1+a[0].length),a,r):null}static findPreviousMatch(e,n,i,s){const r=n.parseSearchRequest();if(!r)return null;const a=new yt(r.wordSeparators,r.regex);return r.regex.multiline?this._doFindPreviousMatchMultiline(e,i,a,s):this._doFindPreviousMatchLineByLine(e,i,a,s)}static _doFindPreviousMatchMultiline(e,n,i,s){const r=this._doFindMatchesMultiline(e,new N(1,1,n.lineNumber,n.column),i,s,10*bu);if(r.length>0)return r[r.length-1];const a=e.getLineCount();return n.lineNumber!==a||n.column!==e.getLineMaxColumn(a)?this._doFindPreviousMatchMultiline(e,new U(a,e.getLineMaxColumn(a)),i,s):null}static _doFindPreviousMatchLineByLine(e,n,i,s){const r=e.getLineCount(),a=n.lineNumber,l=e.getLineContent(a).substring(0,n.column-1),c=this._findLastMatchInLine(i,l,a,s);if(c)return c;for(let h=1;h<=r;h++){const d=(r+a-h-1)%r,f=e.getLineContent(d+1),m=this._findLastMatchInLine(i,f,d+1,s);if(m)return m}return null}static _findLastMatchInLine(e,n,i,s){let r=null,a;for(e.reset(0);a=e.next(n);)r=_t(new N(i,a.index+1,i,a.index+1+a[0].length),a,s);return r}}function yu(t,e,n,i,s){if(i===0)return!0;const r=e.charCodeAt(i-1);if(t.get(r)!==0||r===13||r===10)return!0;if(s>0){const a=e.charCodeAt(i);if(t.get(a)!==0)return!0}return!1}function Lu(t,e,n,i,s){if(i+s===n)return!0;const r=e.charCodeAt(i+s);if(t.get(r)!==0||r===13||r===10)return!0;if(s>0){const a=e.charCodeAt(i+s-1);if(t.get(a)!==0)return!0}return!1}function $i(t,e,n,i,s){return yu(t,e,n,i,s)&&Lu(t,e,n,i,s)}class yt{constructor(e,n){this._wordSeparators=e,this._searchRegex=n,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const n=e.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===n||(i=this._searchRegex.exec(e),!i))return null;const s=i.index,r=i[0].length;if(s===this._prevMatchStartIndex&&r===this._prevMatchLength){if(r===0){Ri(e,n,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=s,this._prevMatchLength=r,!this._wordSeparators||$i(this._wordSeparators,e,n,s,r))return i}while(i);return null}}class zr{static computeUnicodeHighlights(e,n,i){const s=i?i.startLineNumber:1,r=i?i.endLineNumber:e.getLineCount(),a=new Hr(n),l=a.getCandidateCodePoints();let c;l==="allNonBasicAscii"?c=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):c=new RegExp(`${vu(Array.from(l))}`,"g");const h=new yt(null,c),d=[];let f=!1,m,b=0,p=0,g=0;e:for(let _=s,x=r;_<=x;_++){const S=e.getLineContent(_),v=S.length;h.reset(0);do if(m=h.next(S),m){let k=m.index,D=m.index+m[0].length;if(k>0){const R=S.charCodeAt(k-1);ft(R)&&k--}if(D+1<v){const R=S.charCodeAt(D-1);ft(R)&&D++}const O=S.substring(k,D);let y=mn(k+1,ai,S,0);y&&y.endColumn<=k+1&&(y=null);const L=a.shouldHighlightNonBasicASCII(O,y?y.word:null);if(L!==0){if(L===3?b++:L===2?p++:L===1?g++:gs(),d.length>=1e3){f=!0;break e}d.push(new N(_,k+1,_,D+1))}}while(m)}return{ranges:d,hasMore:f,ambiguousCharacterCount:b,invisibleCharacterCount:p,nonBasicAsciiCharacterCount:g}}static computeUnicodeHighlightReason(e,n){const i=new Hr(n);switch(i.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const r=e.codePointAt(0),a=i.ambiguousCharacters.getPrimaryConfusable(r),l=Vt.getLocales().filter(c=>!Vt.getInstance(new Set([...n.allowedLocales,c])).isAmbiguous(r));return{kind:0,confusableWith:String.fromCodePoint(a),notAmbiguousInLocales:l}}case 1:return{kind:2}}}}function vu(t,e){return`[${vi(t.map(i=>String.fromCodePoint(i)).join(""))}]`}class Hr{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=Vt.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const n of mt.codePoints)jr(String.fromCodePoint(n))||e.add(n);if(this.options.ambiguousCharacters)for(const n of this.ambiguousCharacters.getConfusableCodePoints())e.add(n);for(const n of this.allowedCodePoints)e.delete(n);return e}shouldHighlightNonBasicASCII(e,n){const i=e.codePointAt(0);if(this.allowedCodePoints.has(i))return 0;if(this.options.nonBasicASCII)return 1;let s=!1,r=!1;if(n)for(const a of n){const l=a.codePointAt(0),c=dr(a);s=s||c,!c&&!this.ambiguousCharacters.isAmbiguous(l)&&!mt.isInvisibl Line truncated
`||t===" "}class Ot{constructor(e,n,i){this.changes=e,this.moves=n,this.hitTimeout=i}}class Oi{constructor(e,n){this.lineRangeMapping=e,this.changes=n}}class I{static fromTo(e,n){return new I(e,n)}static addRange(e,n){let i=0;for(;i<n.length&&n[i].endExclusive<e.start;)i++;let s=i;for(;s<n.length&&n[s].start<=e.endExclusive;)s++;if(i===s)n.splice(i,0,e);else{const r=Math.min(e.start,n[i].start),a=Math.max(e.endExclusive,n[s-1].endExclusive);n.splice(i,s-i,new I(r,a))}}static tryCreate(e,n){if(!(e>n))return new I(e,n)}static ofLength(e){return new I(0,e)}static ofStartAndLength(e,n){return new I(e,e+n)}static emptyAt(e){return new I(e,e)}constructor(e,n){if(this.start=e,this.endExclusive=n,e>n)throw new G(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new I(this.start+e,this.endExclusive+e)}deltaStart(e){return new I(this.start+e,this.endExclusive)}deltaEnd(e){return new I(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}containsRange(e){return this.start<=e.start&&e.endExclusive<=this.endExclusive}contains(e){return this.start<=e&&e<this.endExclusive}join(e){return new I(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const n=Math.max(this.start,e.start),i=Math.min(this.endExclusive,e.endExclusive);if(n<=i)return new I(n,i)}intersectionLength(e){const n=Math.max(this.start,e.start),i=Math.min(this.endExclusive,e.endExclusive);return Math.max(0,i-n)}intersects(e){const n=Math.max(this.start,e.start),i=Math.min(this.endExclusive,e.endExclusive);return n<i}intersectsOrTouches(e){const n=Math.max(this.start,e.start),i=Math.min(this.endExclusive,e.endExclusive);return n<=i}isBefore(e){return this.endExclusive<=e.start}isAfter(e){return this.start>=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new G(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new G(`Invalid clipping range: ${this.toString()}`);return e<this.start?this.endExclusive-(this.start-e)%this.length:e>=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let n=this.start;n<this.endExclusive;n++)e(n)}joinRightTouching(e){if(this.endExclusive!==e.start)throw new G(`Invalid join: ${this.toString()} and ${e.toString()}`);return new I(this.start,e.endExclusive)}withMargin(e,n){return n===void 0&&(n=e),new I(this.start-e,this.endExclusive+n)}}class zi{constructor(){this._sortedRanges=[]}addRange(e){let n=0;for(;n<this._sortedRanges.length&&this._sortedRanges[n].endExclusive<e.start;)n++;let i=n;for(;i<this._sortedRanges.length&&this._sortedRanges[i].start<=e.endExclusive;)i++;if(n===i)this._sortedRanges.splice(n,0,e);else{const s=Math.min(e.start,this._sortedRanges[n].start),r=Math.max(e.endExclusive,this._sortedRanges[i-1].endExclusive);this._sortedRanges.splice(n,i-n,new I(s,r))}}toString(){return this._sortedRanges.map(e=>e.toString()).join(", ")}intersectsStrict(e){let n=0;for(;n<this._sortedRanges.length&&this._sortedRanges[n].endExclusive<=e.start;)n++;return n<this._sortedRanges.length&&this._sortedRanges[n].start<e.endExclusive}intersectWithRange(e){const n=new zi;for(const i of this._sortedRanges){const s=i.intersect(e);s&&n.addRange(s)}return n}intersectWithRangeLength(e){return this.intersectWithRange(e).length}get length(){return this._sortedRanges.reduce((e,n)=>e+n.length,0)}}function xu(t,e,n=t.length-1){const i=Su(t,e,n);if(i!==-1)return t[i]}function Su(t,e,n=t.length-1){for(let i=n;i>=0;i--){const s=t[i];if(e(s,i))return i}return-1}function Lt(t,e){const n=vt(t,e);return n===-1?void 0:t[n]}function vt(t,e,n=0,i=t.length){let s=n,r=i;for(;s<r;){const a=Math.floor((s+r)/2);e(t[a])?s=a+1:r=a}return s-1}function Nu(t,e){const n=En(t,e);return n===t.length?void 0:t[n]}function En(t,e,n=0,i=t.length){let s=n,r=i;for(;s<r;){const a=Math.floor((s+r)/2);e(t[a])?r=a:s=a+1}return s}const Un=class Un{constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(Un.assertInvariants){if(this._prevFindLastPredicate){for(const i of this._array)if(this._prevFindLastPredicate(i)&&!e(i))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=e}const n=vt(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=n+1,n===-1?void 0:this._array[n]}};Un.assertInvariants=!1;let Mn=Un;function Gr(t,e){if(t.length===0)return;let n=t[0];for(let i=1;i<t.length;i++){const s=t[i];e(s,n)>0&&(n=s)}return n}function Cu(t,e){if(t.length===0)return;let n=t[0];for(let i=1;i<t.length;i++){const s=t[i];e(s,n)>=0&&(n=s)}return n}function Ru(t,e){return Gr(t,(n,i)=> Line truncated
`?(n++,i=0):i++;return new Le(n,i)}constructor(e,n){this.lineCount=e,this.columnCount=n}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}add(e){return e.lineCount===0?new Le(this.lineCount,this.columnCount+e.columnCount):new Le(this.lineCount+e.lineCount,e.columnCount)}createRange(e){return this.lineCount===0?new N(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new N(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}toRange(){return new N(1,1,this.lineCount+1,this.columnCount+1)}toLineRange(){return H.ofLength(1,this.lineCount+1)}addToPosition(e){return this.lineCount===0?new U(e.lineNumber,e.column+this.columnCount):new U(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}};Le.zero=new Le(0,0);let Fe=Le;class Qr{getOffsetRange(e){return new I(this.getOffset(e.getStartPosition()),this.getOffset(e.getEndPosition()))}getRange(e){return N.fromPositions(this.getPosition(e.start),this.getPosition(e.endExclusive))}getStringReplacement(e){return new Xe.deps.StringReplacement(this.getOffsetRange(e.range),e.text)}getTextReplacement(e){return new Xe.deps.TextReplacement(this.getRange(e.replaceRange),e.newText)}getTextEdit(e){const n=e.replacements.map(i=>this.getTextReplacement(i));return new Xe.deps.TextEdit(n)}}const rs=class rs{static get deps(){if(!this._deps)throw new Error("Dependencies not set. Call _setDependencies first.");return this._deps}};rs._deps=void 0;let Xe=rs;function Mu(t){Xe._deps=t}class Hi extends Qr{constructor(e){super(),this.text=e}get lineStartOffsetByLineIdx(){return this._lineStartOffsetByLineIdx||this._computeLineOffsets(),this._lineStartOffsetByLineIdx}get lineEndOffsetByLineIdx(){return this._lineEndOffsetByLineIdx||this._computeLineOffsets(),this._lineEndOffsetByLineIdx}_computeLineOffsets(){this._lineStartOffsetByLineIdx=[],this._lineEndOffsetByLineIdx=[],this._lineStartOffsetByLineIdx.push(0);for(let e=0;e<this.text.length;e++)this.text.charAt(e)===`
`&&(this._lineStartOffsetByLineIdx.push(e+1),e>0&&this.text.charAt(e-1)==="\r"?this._lineEndOffsetByLineIdx.push(e-1):this._lineEndOffsetByLineIdx.push(e));this._lineEndOffsetByLineIdx.push(this.text.length)}getOffset(e){const n=this._validatePosition(e);return this.lineStartOffsetByLineIdx[n.lineNumber-1]+n.column-1}_validatePosition(e){if(e.lineNumber<1)return new U(1,1);const n=this.textLength.lineCount+1;if(e.lineNumber>n){const s=this.getLineLength(n);return new U(n,s+1)}if(e.column<1)return new U(e.lineNumber,1);const i=this.getLineLength(e.lineNumber);return e.column-1>i?new U(e.lineNumber,i+1):e}getPosition(e){const n=vt(this.lineStartOffsetByLineIdx,r=>r<=e),i=n+1,s=e-this.lineStartOffsetByLineIdx[n]+1;return new U(i,s)}get textLength(){const e=this.lineStartOffsetByLineIdx.length-1;return new Xe.deps.TextLength(e,this.text.length-this.lineStartOffsetByLineIdx[e])}getLineLength(e){return this.lineEndOffsetByLineIdx[e-1]-this.lineStartOffsetByLineIdx[e-1]}}class ji{constructor(){this._transformer=void 0}get endPositionExclusive(){return this.length.addToPosition(new U(1,1))}get lineRange(){return this.length.toLineRange()}getValue(){return this.getValueOfRange(this.length.toRange())}getValueOfOffsetRange(e){return this.getValueOfRange(this.getTransformer().getRange(e))}getLineLength(e){return this.getValueOfRange(new N(e,1,e,Number.MAX_SAFE_INTEGER)).length}getTransformer(){return this._transformer||(this._transformer=new Hi(this.getValue())),this._transformer}getLineAt(e){return this.getValueOfRange(new N(e,1,e,Number.MAX_SAFE_INTEGER))}}class ku extends ji{constructor(e,n){jn(n>=1),super(),this._getLineContent=e,this._lineCount=n}getValueOfRange(e){if(e.startLineNumber===e.endLineNumber)return this._getLineContent(e.startLineNumber).substring(e.startColumn-1,e.endColumn-1);let n=this._getLineContent(e.startLineNumber).substring(e.startColumn-1);for(let i=e.startLineNumber+1;i<e.endLineNumber;i++)n+=`
`+this._getLineContent(i);return n+=`
`+this._getLineContent(e.endLineNumber).substring(0,e.endColumn-1),n}getLineLength(e){return this._getLineContent(e).length}get length(){const e=this._getLineContent(this._lineCount);return new Fe(this._lineCount-1,e.length)}}class kn extends ku{constructor(e){super(n=>e[n-1],e.length)}}class zt extends ji{constructor(e){super(),this.value=e,this._t=new Hi(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}getTransformer(){return this._t}}class Ht{static fromStringEdit(e,n){const i=e.replacements.map(s=>ge.fromStringReplacement(s,n));return new Ht(i)}static fromParallelReplacementsUnsorted(e){const n=e.slice().sort($e(i=>i.range,N.compareRangesUsingStarts));return new Ht(n)}constructor(e){this.replacements=e,rt(()=>rn(e,(n,i)=>n.range.getEndPosition().isBeforeOrEqual(i.range.getStartPosition())))}mapPosition(e){let n=0,i=0,s=0;for(const r of this.replacements){const a=r.range.getStartPosition();if(e.isBeforeOrEqual(a))break;const l=r.range.getEndPosition(),c=Fe.ofText(r.text);if(e.isBefore(l)){const h=new U(a.lineNumber+n,a.column+(a.lineNumber+n===i?s:0)),d=c.addToPosition(h);return Tn(h,d)}a.lineNumber+n!==i&&(s=0),n+=c.lineCount-(r.range.endLineNumber-r.range.startLineNumber),c.lineCount===0?l.lineNumber!==a.lineNumber?s+=c.columnCount-(l.column-1):s+=c.columnCount-(l.column-a.column):s=c.columnCount,i=l.lineNumber+n}return new U(e.lineNumber+n,e.column+(e.lineNumber+n===i?s:0))}mapRange(e){function n(a){return a instanceof U?a:a.getStartPosition()}function i(a){return a instanceof U?a:a.getEndPosition()}const s=n(this.mapPosition(e.getStartPosition())),r=i(this.mapPosition(e.getEndPosition()));return Tn(s,r)}apply(e){let n="",i=new U(1,1);for(const r of this.replacements){const a=r.range,l=a.getStartPosition(),c=a.getEndPosition(),h=Tn(i,l);h.isEmpty()||(n+=e.getValueOfRange(h)),n+=r.text,i=c}const s=Tn(i,e.endPositionExclusive);return s.isEmpty()||(n+=e.getValueOfRange(s)),n}applyToString(e){const n=new zt(e);return this.apply(n)}getNewRanges(){const e=[];let n=0,i=0,s=0;for(const r of this.replacements){const a=Fe.ofText(r.text),l=U.lift({lineNumber:r.range.startLineNumber+i,column:r.range.startColumn+(r.range.startLineNumber===n?s:0)}),c=a.createRange(l);e.push(c),i=c.endLineNumber-r.range.endLineNumber,s=c.endColumn-r.range.endColumn,n=r.range.endLineNumber}return e}toReplacement(e){if(this.replacements.length===0)throw new G;if(this.replacements.length===1)return this.replacements[0];const n=this.replacements[0].range.getStartPosition(),i=this.replacements[this.replacements.length-1].range.getEndPosition();let s="";for(let r=0;r<this.replacements.length;r++){const a=this.replacements[r];if(s+=a.text,r<this.replacements.length-1){const l=this.replacements[r+1],c=N.fromPositions(a.range.getEndPosition(),l.range.getStartPosition()),h=e.getValueOfRange(c);s+=h}}return new ge(N.fromPositions(n,i),s)}toString(e){return e===void 0?this.replacements.map(n=>n.toString()).join(`
`):typeof e=="string"?this.toString(new zt(e)):this.replacements.length===0?"":this.replacements.map(n=>{const s=e.getValueOfRange(n.range),r=N.fromPositions(new U(Math.max(1,n.range.startLineNumber-1),1),n.range.getStartPosition());let a=e.getValueOfRange(r);a.length>10&&(a="..."+a.substring(a.length-10));const l=N.fromPositions(n.range.getEndPosition(),new U(n.range.endLineNumber+1,1));let c=e.getValueOfRange(l);c.length>10&&(c=c.substring(0,10)+"...");let h=s;if(h.length>10){const f=Math.floor(5);h=h.substring(0,f)+"..."+h.substring(h.length-f)}let d=n.text;if(d.length>10){const f=Math.floor(5);d=d.substring(0,f)+"..."+d.substring(d.length-f)}return h.length===0?`${a}❰${d}❱${c}`:`${a}❰${h}↦${d}❱${c}`}).join(`
`)}}class ge{static joinReplacements(e,n){if(e.length===0)throw new G;if(e.length===1)return e[0];const i=e[0].range.getStartPosition(),s=e[e.length-1].range.getEndPosition();let r="";for(let a=0;a<e.length;a++){const l=e[a];if(r+=l.text,a<e.length-1){const c=e[a+1],h=N.fromPositions(l.range.getEndPosition(),c.range.getStartPosition()),d=n.getValueOfRange(h);r+=d}}return new ge(N.fromPositions(i,s),r)}static fromStringReplacement(e,n){return new ge(n.getTransformer().getRange(e.replaceRange),e.newText)}static delete(e){return new ge(e,"")}constructor(e,n){this.range=e,this.text=n}get isEmpty(){return this.range.isEmpty()&&this.text.length===0}static equals(e,n){return e.range.equalsRange(n.range)&&e.text===n.text}equals(e){return ge.equals(this,e)}removeCommonPrefixAndSuffix(e){return this.removeCommonPrefix(e).removeCommonSuffix(e)}removeCommonPrefix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
`,`
`),i=this.text.replaceAll(`\r
`,`
`),s=yn(n,i),r=Fe.ofText(n.substring(0,s)).addToPosition(this.range.getStartPosition()),a=i.substring(s),l=N.fromPositions(r,this.range.getEndPosition());return new ge(l,a)}removeCommonSuffix(e){const n=e.getValueOfRange(this.range).replaceAll(`\r
`,`
`),i=this.text.replaceAll(`\r
`,`
`),s=Ln(n,i),r=Fe.ofText(n.substring(0,n.length-s)).addToPosition(this.range.getStartPosition()),a=i.substring(0,i.length-s),l=N.fromPositions(this.range.getStartPosition(),r);return new ge(l,a)}toString(){const e=this.range.getStartPosition(),n=this.range.getEndPosition();return`(${e.lineNumber},${e.column} -> ${n.lineNumber},${n.column}): "${this.text}"`}}function Tn(t,e){if(t.lineNumber===e.lineNumber&&t.column===Number.MAX_SAFE_INTEGER)return N.fromPositions(e,e);if(!t.isBeforeOrEqual(e))throw new G("start must be before end");return new N(t.lineNumber,t.column,e.lineNumber,e.column)}class he{static inverse(e,n,i){const s=[];let r=1,a=1;for(const c of e){const h=new he(new H(r,c.original.startLineNumber),new H(a,c.modified.startLineNumber));h.modified.isEmpty||s.push(h),r=c.original.endLineNumberExclusive,a=c.modified.endLineNumberExclusive}const l=new he(new H(r,n+1),new H(a,i+1));return l.modified.isEmpty||s.push(l),s}static clip(e,n,i){const s=[];for(const r of e){const a=r.original.intersect(n),l=r.modified.intersect(i);a&&!a.isEmpty&&l&&!l.isEmpty&&s.push(new he(a,l))}return s}constructor(e,n){this.original=e,this.modified=n}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new he(this.modified,this.original)}join(e){return new he(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),n=this.modified.toInclusiveRange();if(e&&n)return new fe(e,n);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new G("not a valid diff");return new fe(new N(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new N(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new fe(new N(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new N(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,n){if(Xr(this.original.endLineNumberExclusive,e)&&Xr(this.modified.endLineNumberExclusive,n))return new fe(new N(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new N(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new fe(N.fromPositions(new U(this.original.startLineNumber,1),xt(new U(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),N.fromPositions(new U(this.modified.startLineNumber,1),xt(new U(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new fe(N.fromPositions(xt(new U(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),xt(new U(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),N.fromPositions(xt(new U(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),n),xt(new U(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));throw new G}}function xt(t,e){if(t.lineNumber<1)return new U(1,1);if(t.lineNumber>e.length)return new U(e.length,e[e.length-1].length+1);const n=e[t.lineNumber-1];return t.column>n.length+1?new U(t.lineNumber,n.length+1):t}function Xr(t,e){return t>=1&&t<=e.length}class Se extends he{static fromRangeMappings(e){const n=H.join(e.map(s=>H.fromRangeInclusive(s.originalRange))),i=H.join(e.map(s=>H.fromRangeInclusive(s.modifiedRange)));return new Se(n,i,e)}constructor(e,n,i){super(e,n),this.innerChanges=i}flip(){return new Se(this.modified,this.original,this.innerChanges?.map(e=>e.flip()))}withInnerChangesFromLineRanges(){return new Se(this.original,this.modified,[this.toRangeMapping()])}}class fe{static fromEdit(e){const n=e.getNewRanges();return e.replacements.map((s,r)=>new fe(s.range,n[r]))}static assertSorted(e){for(let n=1;n<e.length;n++){const i=e[n-1],s=e[n];if(!(i.originalRange.getEndPosition().isBeforeOrEqual(s.originalRange.getStartPosition())&&i.modifiedRange.getEndPosition().isBeforeOrEqual(s.modifiedRange.getStartPosition())))throw new G("Range mappings must be sorted")}}constructor(e,n){this.originalRange=e,this.modifiedRange=n}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new fe(this.modifiedRange,this.originalRange)}toTextEdit(e){const n=e.getValueOfRange(this.modifiedRange);return new ge(this.originalRange,n)}}function Pn(t,e,n,i=!1){const s=[];for(const r of ls(t.map(a=>Tu(a,e,n)),(a,l)=>a.original.intersectsOrTouches(l.original)||a.modified.intersectsOrTouches(l.modified))){const a=r[0],l=r[r.length-1];s.push(new Se(a.original.join(l.original),a.modified.join(l.modified),r.map(c=>c.innerChanges[0])))}return rt(()=>!i&&s.length>0&&(s[0].modified.startLineNumber!==s[0].original.startLineNumber||n.length.lineCount-s[s.length-1].modified.endLineNumberExclusive!==e.length.line Line truncated
`);this.histogram[l]=(this.histogram[l]||0)+1}this.totalCount=s}computeSimilarity(e){let n=0;const i=Math.max(this.histogram.length,e.histogram.length);for(let s=0;s<i;s++)n+=Math.abs((this.histogram[s]??0)-(e.histogram[s]??0));return 1-n/(this.totalCount+e.totalCount)}};Kt.chrKeys=new Map;let In=Kt;class qu{compute(e,n,i=Gt.instance,s){if(e.length===0||n.length===0)return De.trivial(e,n);const r=new Xi(e.length,n.length),a=new Xi(e.length,n.length),l=new Xi(e.length,n.length);for(let p=0;p<e.length;p++)for(let g=0;g<n.length;g++){if(!i.isValid())return De.trivialTimedOut(e,n);const _=p===0?0:r.get(p-1,g),x=g===0?0:r.get(p,g-1);let S;e.getElement(p)===n.getElement(g)?(p===0||g===0?S=0:S=r.get(p-1,g-1),p>0&&g>0&&a.get(p-1,g-1)===3&&(S+=l.get(p-1,g-1)),S+=s?s(p,g):1):S=-1;const v=Math.max(_,x,S);if(v===S){const k=p>0&&g>0?l.get(p-1,g-1):0;l.set(p,g,k+1),a.set(p,g,3)}else v===_?(l.set(p,g,0),a.set(p,g,1)):v===x&&(l.set(p,g,0),a.set(p,g,2));r.set(p,g,v)}const c=[];let h=e.length,d=n.length;function f(p,g){(p+1!==h||g+1!==d)&&c.push(new J(new I(p+1,h),new I(g+1,d))),h=p,d=g}let m=e.length-1,b=n.length-1;for(;m>=0&&b>=0;)a.get(m,b)===3?(f(m,b),m--,b--):a.get(m,b)===1?m--:b--;return f(-1,-1),c.reverse(),new De(c,!1)}}class Kr{compute(e,n,i=Gt.instance){if(e.length===0||n.length===0)return De.trivial(e,n);const s=e,r=n;function a(g,_){for(;g<s.length&&_<r.length&&s.getElement(g)===r.getElement(_);)g++,_++;return g}let l=0;const c=new Uu;c.set(0,a(0,0));const h=new Wu;h.set(0,c.get(0)===0?null:new e1(null,0,0,c.get(0)));let d=0;e:for(;;){if(l++,!i.isValid())return De.trivialTimedOut(s,r);const g=-Math.min(l,r.length+l%2),_=Math.min(l,s.length+l%2);for(d=g;d<=_;d+=2){const x=d===_?-1:c.get(d+1),S=d===g?-1:c.get(d-1)+1,v=Math.min(Math.max(x,S),s.length),k=v-d;if(v>s.length||k>r.length)continue;const D=a(v,k);c.set(d,D);const O=v===x?h.get(d+1):h.get(d-1);if(h.set(d,D!==v?new e1(O,v,k,D-v):O),c.get(d)===s.length&&c.get(d)-d===r.length)break e}}let f=h.get(d);const m=[];let b=s.length,p=r.length;for(;;){const g=f?f.x+f.length:0,_=f?f.y+f.length:0;if((g!==b||_!==p)&&m.push(new J(new I(g,b),new I(_,p))),!f)break;b=f.x,p=f.y,f=f.prev}return m.reverse(),new De(m,!1)}}class e1{constructor(e,n,i,s){this.prev=e,this.x=n,this.y=i,this.length=s}}class Uu{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const i=this.negativeArr;this.negativeArr=new Int32Array(i.length*2),this.negativeArr.set(i)}this.negativeArr[e]=n}else{if(e>=this.positiveArr.length){const i=this.positiveArr;this.positiveArr=new Int32Array(i.length*2),this.positiveArr.set(i)}this.positiveArr[e]=n}}}class Wu{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,n){e<0?(e=-e-1,this.negativeArr[e]=n):this.positiveArr[e]=n}}class Fn{constructor(e,n,i){this.lines=e,this.range=n,this.considerWhitespaceChanges=i,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let s=this.range.startLineNumber;s<=this.range.endLineNumber;s++){let r=e[s-1],a=0;s===this.range.startLineNumber&&this.range.startColumn>1&&(a=this.range.startColumn-1,r=r.substring(a)),this.lineStartOffsets.push(a);let l=0;if(!i){const h=r.trimStart();l=r.length-h.length,r=h.trimEnd()}this.trimmedWsLengthsByLineIdx.push(l);const c=s===this.range.endLineNumber?Math.min(this.range.endColumn-1-a-l,r.length):r.length;for(let h=0;h<c;h++)this.elements.push(r.charCodeAt(h));s<this.range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new I(0,this.length))}getText(e){return this.elements.slice(e.start,e.endExclusive).map(n=>String.fromCharCode(n)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const n=i1(e>0?this.elements[e-1]:-1),i=i1(e<this.elements.length?this.elements[e]:-1);if(n===7&&i===8)return 0;if(n===8)return 150;let s=0;return n!==i&&(s+=10,n===0&&i===1&&(s+=1)),s+=n1(n),s+=n1(i),s}translateOffset(e,n="right"){const i=vt(this.firstElementOffsetByLineIdx,r=>r<=e),s=e-this.firstElementOffsetByLineIdx[i];return new U(this.range.startLineNumber+i,1+this.lineStartOffsets[i]+s+(s===0&&n==="left"?0:this.trimmedWsLengthsByLineIdx[i]))}translateRange(e){const n=this.translateOffset(e.start,"right"),i=this.translateOffset(e.endExclusive,"left");return i.isBefore(n)?N.fromPositions(i,i):N.fromPositions(n,i)}findWordContaining(e){if(e<0||e>=this.elements.length||!Nt(this.elements[e]))return;let n=e;for(;n>0&&Nt(this.elements[n-1]);)n--;let i=e;for(;i<this.elements.length&&Nt(this.elements[i]);)i++;return new I(n,i)}findSubWordContaining(e){if(e<0||e>=this.elements.length||!Nt(this.elements[e]))return;l Line truncated
`).length>=15&&zu(f,b=>b.length>=2)>=2}),a=Qu(t,a),a}function zu(t,e){let n=0;for(const i of t)e(i)&&n++;return n}function Hu(t,e,n,i){const s=[],r=t.filter(c=>c.modified.isEmpty&&c.original.length>=3).map(c=>new In(c.original,e,c)),a=new Set(t.filter(c=>c.original.isEmpty&&c.modified.length>=3).map(c=>new In(c.modified,n,c))),l=new Set;for(const c of r){let h=-1,d;for(const f of a){const m=c.computeSimilarity(f);m>h&&(h=m,d=f)}if(h>.9&&d&&(a.delete(d),s.push(new he(c.range,d.range)),l.add(c.source),l.add(d.source)),!i.isValid())return{moves:s,excludedChanges:l}}return{moves:s,excludedChanges:l}}function ju(t,e,n,i,s,r){const a=[],l=new Tr;for(const m of t)for(let b=m.original.startLineNumber;b<m.original.endLineNumberExclusive-2;b++){const p=`${e[b-1]}:${e[b+1-1]}:${e[b+2-1]}`;l.add(p,{range:new H(b,b+3)})}const c=[];t.sort($e(m=>m.modified.startLineNumber,Oe));for(const m of t){let b=[];for(let p=m.modified.startLineNumber;p<m.modified.endLineNumberExclusive-2;p++){const g=`${n[p-1]}:${n[p+1-1]}:${n[p+2-1]}`,_=new H(p,p+3),x=[];l.forEach(g,({range:S})=>{for(const k of b)if(k.originalLineRange.endLineNumberExclusive+1===S.endLineNumberExclusive&&k.modifiedLineRange.endLineNumberExclusive+1===_.endLineNumberExclusive){k.originalLineRange=new H(k.originalLineRange.startLineNumber,S.endLineNumberExclusive),k.modifiedLineRange=new H(k.modifiedLineRange.startLineNumber,_.endLineNumberExclusive),x.push(k);return}const v={modifiedLineRange:_,originalLineRange:S};c.push(v),x.push(v)}),b=x}if(!r.isValid())return[]}c.sort(ds($e(m=>m.modifiedLineRange.length,Oe)));const h=new ye,d=new ye;for(const m of c){const b=m.modifiedLineRange.startLineNumber-m.originalLineRange.startLineNumber,p=h.subtractFrom(m.modifiedLineRange),g=d.subtractFrom(m.originalLineRange).getWithDelta(b),_=p.getIntersection(g);for(const x of _.ranges){if(x.length<3)continue;const S=x,v=x.delta(-b);a.push(new he(v,S)),h.addRange(S),d.addRange(v)}}a.sort($e(m=>m.original.startLineNumber,Oe));const f=new Mn(t);for(let m=0;m<a.length;m++){const b=a[m],p=f.findLastMonotonous(O=>O.original.startLineNumber<=b.original.startLineNumber),g=Lt(t,O=>O.modified.startLineNumber<=b.modified.startLineNumber),_=Math.max(b.original.startLineNumber-p.original.startLineNumber,b.modified.startLineNumber-g.modified.startLineNumber),x=f.findLastMonotonous(O=>O.original.startLineNumber<b.original.endLineNumberExclusive),S=Lt(t,O=>O.modified.startLineNumber<b.modified.endLineNumberExclusive),v=Math.max(x.original.endLineNumberExclusive-b.original.endLineNumberExclusive,S.modified.endLineNumberExclusive-b.modified.endLineNumberExclusive);let k;for(k=0;k<_;k++){const O=b.original.startLineNumber-k-1,y=b.modified.startLineNumber-k-1;if(O>i.length||y>s.length||h.contains(y)||d.contains(O)||!s1(i[O-1],s[y-1],r))break}k>0&&(d.addRange(new H(b.original.startLineNumber-k,b.original.startLineNumber)),h.addRange(new H(b.modified.startLineNumber-k,b.modified.startLineNumber)));let D;for(D=0;D<v;D++){const O=b.original.endLineNumberExclusive+D,y=b.modified.endLineNumberExclusive+D;if(O>i.length||y>s.length||h.contains(y)||d.contains(O)||!s1(i[O-1],s[y-1],r))break}D>0&&(d.addRange(new H(b.original.endLineNumberExclusive,b.original.endLineNumberExclusive+D)),h.addRange(new H(b.modified.endLineNumberExclusive,b.modified.endLineNumberExclusive+D))),(k>0||D>0)&&(a[m]=new he(new H(b.original.startLineNumber-k,b.original.endLineNumberExclusive+D),new H(b.modified.startLineNumber-k,b.modified.endLineNumberExclusive+D)))}return a}function s1(t,e,n){if(t.trim()===e.trim())return!0;if(t.length>300&&e.length>300)return!1;const s=new Kr().compute(new Fn([t],new N(1,1,1,t.length),!1),new Fn([e],new N(1,1,1,e.length),!1),n);let r=0;const a=J.invert(s.diffs,t.length);for(const d of a)d.seq1Range.forEach(f=>{Yi(t.charCodeAt(f))||r++});function l(d){let f=0;for(let m=0;m<t.length;m++)Yi(d.charCodeAt(m))||f++;return f}const c=l(t.length>e.length?t:e);return r/c>.6&&c>10}function Gu(t){if(t.length===0)return t;t.sort($e(n=>n.original.startLineNumber,Oe));const e=[t[0]];for(let n=1;n<t.length;n++){const i=e[e.length-1],s=t[n],r=s.original.startLineNumber-i.original.endLineNumberExclusive,a=s.modified.startLineNumber-i.modified.endLineNumberExclusive;if(r>=0&&a>=0&&r+a<=2){e[e.length-1]=i.join(s);continue}e.push(s)}return e}function Qu(t,e){const n=new Mn(t);return e=e.filter(i=>{const s=n.findLastMonotonous(l=>l.original.startLineNumber<i.original.endLineNumberExclusive)||new he(new H(1,1),new H(1,1)),r=Lt(t,l=>l.modified.startLineNumber<i.modified.endLineNumberExclusive);return s!==r}),e}function r1(t,e,n){let i=n;return i=a1(t,e,i),i=a1(t,e,i),i=Xu(t,e,i),i}function a1(t,e,n){if(n.length===0)return n;const i=[];i.push(n[0]);for(let r=1;r<n.length;r++){const a=i[i.length-1];let l=n[r];if(l.seq1Range.isEmpty||l.seq2Range.isEmpty){const c=l.seq1Range.start-a.seq1Range.endExclusive;let h;for(h=1;h<=c&&!(t.getElement(l.seq1Range.start-h)!==t.getElement(l.seq1Range.endExclusive-h)||e.getElement(l.seq2Range. Line truncated
`)}isStronglyEqual(e,n){return this.lines[e]===this.lines[n]}}function c1(t){let e=0;for(;e<t.length&&(t.charCodeAt(e)===32||t.charCodeAt(e)===9);)e++;return e}class ec{constructor(){this.dynamicProgrammingDiffing=new qu,this.myersDiffingAlgorithm=new Kr}computeDiff(e,n,i){if(e.length<=1&&as(e,n,(y,L)=>y===L))return new Ot([],[],!1);if(e.length===1&&e[0].length===0||n.length===1&&n[0].length===0)return new Ot([new Se(new H(1,e.length+1),new H(1,n.length+1),[new fe(new N(1,1,e.length,e[e.length-1].length+1),new N(1,1,n.length,n[n.length-1].length+1))])],[],!1);const s=i.maxComputationTimeMs===0?Gt.instance:new Vu(i.maxComputationTimeMs),r=!i.ignoreTrimWhitespace,a=new Map;function l(y){let L=a.get(y);return L===void 0&&(L=a.size,a.set(y,L)),L}const c=e.map(y=>l(y.trim())),h=n.map(y=>l(y.trim())),d=new u1(c,e),f=new u1(h,n),m=d.length+f.length<1700?this.dynamicProgrammingDiffing.compute(d,f,s,(y,L)=>e[y]===n[L]?n[L].length===0?.1:1+Math.log(1+n[L].length):.99):this.myersDiffingAlgorithm.compute(d,f,s);let b=m.diffs,p=m.hitTimeout;b=r1(d,f,b),b=Zu(d,f,b);const g=[],_=y=>{if(r)for(let L=0;L<y;L++){const R=x+L,V=S+L;if(e[R]!==n[V]){const W=this.refineDiff(e,n,new J(new I(R,R+1),new I(V,V+1)),s,r,i);for(const q of W.mappings)g.push(q);W.hitTimeout&&(p=!0)}}};let x=0,S=0;for(const y of b){rt(()=>y.seq1Range.start-x===y.seq2Range.start-S);const L=y.seq1Range.start-x;_(L),x=y.seq1Range.endExclusive,S=y.seq2Range.endExclusive;const R=this.refineDiff(e,n,y,s,r,i);R.hitTimeout&&(p=!0);for(const V of R.mappings)g.push(V)}_(e.length-x);const v=new kn(e),k=new kn(n),D=Pn(g,v,k);let O=[];return i.computeMoves&&(O=this.computeMoves(D,e,n,c,h,s,r,i)),rt(()=>{function y(R,V){if(R.lineNumber<1||R.lineNumber>V.length)return!1;const W=V[R.lineNumber-1];return!(R.column<1||R.column>W.length+1)}function L(R,V){return!(R.startLineNumber<1||R.startLineNumber>V.length+1||R.endLineNumberExclusive<1||R.endLineNumberExclusive>V.length+1)}for(const R of D){if(!R.innerChanges)return!1;for(const V of R.innerChanges)if(!(y(V.modifiedRange.getStartPosition(),n)&&y(V.modifiedRange.getEndPosition(),n)&&y(V.originalRange.getStartPosition(),e)&&y(V.originalRange.getEndPosition(),e)))return!1;if(!L(R.modified,n)||!L(R.original,e))return!1}return!0}),new Ot(D,O,p)}computeMoves(e,n,i,s,r,a,l,c){return Ou(e,n,i,s,r,a).map(f=>{const m=this.refineDiff(n,i,new J(f.original.toOffsetRange(),f.modified.toOffsetRange()),a,l,c),b=Pn(m.mappings,new kn(n),new kn(i),!0);return new Oi(f,b)})}refineDiff(e,n,i,s,r,a){const c=tc(i).toRangeMapping2(e,n),h=new Fn(e,c.originalRange,r),d=new Fn(n,c.modifiedRange,r),f=h.length+d.length<500?this.dynamicProgrammingDiffing.compute(h,d,s):this.myersDiffingAlgorithm.compute(h,d,s);let m=f.diffs;return m=r1(h,d,m),m=l1(h,d,m,(p,g)=>p.findWordContaining(g)),a.extendToSubwords&&(m=l1(h,d,m,(p,g)=>p.findSubWordContaining(g),!0)),m=Yu(h,d,m),m=Ku(h,d,m),{mappings:m.map(p=>new fe(h.translateRange(p.seq1Range),d.translateRange(p.seq2Range))),hitTimeout:f.hitTimeout}}}function tc(t){return new he(new H(t.seq1Range.start+1,t.seq1Range.endExclusive+1),new H(t.seq2Range.start+1,t.seq2Range.endExclusive+1))}function nc(t,e){(globalThis._VSCODE_PRODUCT_JSON??globalThis.vscode?.context?.configuration()?.product)?.commit;const i=`${t}/${e}`,r=`${kl}/${i}`;return Nr.asBrowserUri(r).toString(!0)}class ic{constructor(e){this.replacements=e;let n=-1;for(const i of e){if(!(i.replaceRange.start>=n))throw new G(`Edits must be disjoint and sorted. Found ${i} after ${n}`);n=i.replaceRange.endExclusive}}toString(){return`[${this.replacements.map(n=>n.toString()).join(", ")}]`}normalize(){const e=[];let n;for(const i of this.replacements)if(!(i.getNewLength()===0&&i.replaceRange.length===0)){if(n&&n.replaceRange.endExclusive===i.replaceRange.start){const s=n.tryJoinTouching(i);if(s){n=s;continue}}n&&e.push(n),n=i}return n&&e.push(n),this._createNew(e)}compose(e){const n=this.normalize(),i=e.normalize();if(n.isEmpty())return i;if(i.isEmpty())return n;const s=[...n.replacements],r=[];let a=0;for(const l of i.replacements){for(;;){const f=s[0];if(!f||f.replaceRange.start+a+f.getNewLength()>=l.replaceRange.start)break;s.shift(),r.push(f),a+=f.getNewLength()-f.replaceRange.length}const c=a;let h,d;for(;;){const f=s[0];if(!f||f.replaceRange.start+a>l.replaceRange.endExclusive)break;h||(h=f),d=f,s.shift(),a+=f.getNewLength()-f.replaceRange.length}if(!h)r.push(l.delta(-a));else{const f=Math.min(h.replaceRange.start,l.replaceRange.start-c),m=l.replaceRange.start-(h.replaceRange.start+c);if(m>0){const _=h.slice(I.emptyAt(f),new I(0,m));r.push(_)}if(!d)throw new G("Invariant violation: lastIntersecting is undefined");const b=d.replaceRange.endExclusive+a-l.replaceRange.endExclusive;if(b>0){const _=d.slice(I.ofStartAndLength(d.replaceRange.endExclusive,0),new I(d.getNewLength()-b,d.getNewLength()));s.unshift(_),a-=_.getNewLength()-_.replaceRange.length}const p=new I(f,l.replaceRange.endExclusive-a),g=l.slice(p,new I(0,l.getNewLength()));r.push(g)}}for(;;){cons Line truncated
`)),r=new zt(n.join(`
`)),a=this._computer.computeDiff(s.value,r.value,{ignoreTrimWhitespace:!0,computeMoves:i.computeMoves,extendToSubwords:i.extendToSubwords}),l=s.getTransformer(),c=r.getTransformer(),h=[];let d=0;for(const b of a.edits.replacements){const p=b.range.start+d,g=p+b.newText.length,_=l.getRange(new I(b.range.start,b.range.endExclusive)),x=c.getRange(new I(p,g));h.push(new fe(_,x)),d+=b.newText.length-(b.range.endExclusive-b.range.start)}const f=Pn(h,s,r),m=[];if(i.computeMoves)for(const b of a.moves){const p=l.getPosition(b.range.original.start),g=l.getPosition(b.range.original.endExclusive),_=c.getPosition(b.range.modified.start),x=c.getPosition(b.range.modified.endExclusive),S=new H(p.lineNumber,g.lineNumber),v=new H(_.lineNumber,x.lineNumber);m.push(new Oi(new he(S,v),[]))}return new Ot(f,m,a.hitTimeout)}}const Xt={getLegacy:()=>new Iu,getDefault:()=>new ec,getAdvancedExternal:()=>f1(!1),getAdvancedWasm:()=>f1(!0)};function We(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}class w{constructor(e,n,i,s=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,n))|0,this.b=Math.min(255,Math.max(0,i))|0,this.a=We(Math.max(Math.min(1,s),0),3)}static equals(e,n){return e.r===n.r&&e.g===n.g&&e.b===n.b&&e.a===n.a}}class pe{constructor(e,n,i,s){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=We(Math.max(Math.min(1,n),0),3),this.l=We(Math.max(Math.min(1,i),0),3),this.a=We(Math.max(Math.min(1,s),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.l===n.l&&e.a===n.a}static fromRGBA(e){const n=e.r/255,i=e.g/255,s=e.b/255,r=e.a,a=Math.max(n,i,s),l=Math.min(n,i,s);let c=0,h=0;const d=(l+a)/2,f=a-l;if(f>0){switch(h=Math.min(d<=.5?f/(2*d):f/(2-2*d),1),a){case n:c=(i-s)/f+(i<s?6:0);break;case i:c=(s-n)/f+2;break;case s:c=(n-i)/f+4;break}c*=60,c=Math.round(c)}return new pe(c,h,d,r)}static _hue2rgb(e,n,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?e+(n-e)*6*i:i<1/2?n:i<2/3?e+(n-e)*(2/3-i)*6:e}static toRGBA(e){const n=e.h/360,{s:i,l:s,a:r}=e;let a,l,c;if(i===0)a=l=c=s;else{const h=s<.5?s*(1+i):s+i-s*i,d=2*s-h;a=pe._hue2rgb(d,h,n+1/3),l=pe._hue2rgb(d,h,n),c=pe._hue2rgb(d,h,n-1/3)}return new w(Math.round(a*255),Math.round(l*255),Math.round(c*255),r)}}class Ye{constructor(e,n,i,s){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=We(Math.max(Math.min(1,n),0),3),this.v=We(Math.max(Math.min(1,i),0),3),this.a=We(Math.max(Math.min(1,s),0),3)}static equals(e,n){return e.h===n.h&&e.s===n.s&&e.v===n.v&&e.a===n.a}static fromRGBA(e){const n=e.r/255,i=e.g/255,s=e.b/255,r=Math.max(n,i,s),a=Math.min(n,i,s),l=r-a,c=r===0?0:l/r;let h;return l===0?h=0:r===n?h=((i-s)/l%6+6)%6:r===i?h=(s-n)/l+2:h=(n-i)/l+4,new Ye(Math.round(h*60),c,r,e.a)}static toRGBA(e){const{h:n,s:i,v:s,a:r}=e,a=s*i,l=a*(1-Math.abs(n/60%2-1)),c=s-a;let[h,d,f]=[0,0,0];return n<60?(h=a,d=l):n<120?(h=l,d=a):n<180?(d=a,f=l):n<240?(d=l,f=a):n<300?(h=l,f=a):n<=360&&(h=a,f=l),h=Math.round((h+c)*255),d=Math.round((d+c)*255),f=Math.round((f+c)*255),new w(h,d,f,r)}}const j=class j{static fromHex(e){return j.Format.CSS.parseHex(e)||j.red}static equals(e,n){return!e&&!n?!0:!e||!n?!1:e.equals(n)}get hsla(){return this._hsla?this._hsla:pe.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:Ye.fromRGBA(this.rgba)}constructor(e){if(e)if(e instanceof w)this.rgba=e;else if(e instanceof pe)this._hsla=e,this.rgba=pe.toRGBA(e);else if(e instanceof Ye)this._hsva=e,this.rgba=Ye.toRGBA(e);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(e){return!!e&&w.equals(this.rgba,e.rgba)&&pe.equals(this.hsla,e.hsla)&&Ye.equals(this.hsva,e.hsva)}getRelativeLuminance(){const e=j._relativeLuminanceForComponent(this.rgba.r),n=j._relativeLuminanceForComponent(this.rgba.g),i=j._relativeLuminanceForComponent(this.rgba.b),s=.2126*e+.7152*n+.0722*i;return We(s,4)}static _relativeLuminanceForComponent(e){const n=e/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){const n=this.getRelativeLuminance(),i=e.getRelativeLuminance();return n>i}isDarkerThan(e){const n=this.getRelativeLuminance(),i=e.getRelativeLuminance();return n<i}lighten(e){return new j(new pe(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*e,this.hsla.a))}darken(e){return new j(new pe(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*e,this.hsla.a))}transparent(e){const{r:n,g:i,b:s,a:r}=this.rgba;return new j(new w(n,i,s,r*e))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new j(new w(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}mix(e,n=.5){const i=Math.min(Math.max(n,0),1),s=this.rgba,r=e.rgba,a=s.r+(r.r-s.r)*i,l=s.g+(r.g-s.g)*i,c=s.b+(r.b-s.b)*i,h=s.a+(r.a-s.a)*i;return new j(new w(a,l,c,h))}makeOpaque(e){if(this.isOpaque()||e.rgba.a!==1)return this;const{r:n,g:i,b:s,a:r}=this.rgba;return new j(new w(e.rgba.r-r*(e.rgba.r-n),e.rgba.g-r*(e.rgba.g-i),e.rgba.b-r*(e.rgba. Line truncated
`);r.lastIndex=0;let d;for(;(d=r.exec(h))!==null;){const f=h.substring(0,d.index),m=(f.match(/\n/g)||[]).length,b=a+m,p=d[0].split(`
`),g=p.length,_=b+g-1,x=f.lastIndexOf(`
`)+1,S=d.index-x+1,v=p[p.length-1],k=g===1?S+d[0].length:v.length+1,D={startLineNumber:b,startColumn:S,endLineNumber:_,endColumn:k},O=(d.groups??{}).label??"",y=((d.groups??{}).separator??"")!=="",L={range:D,text:O,hasSeparatorLine:y,shouldBeInComments:!0};(L.text||L.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<L.range.startLineNumber)&&n.push(L),r.lastIndex=d.index+d[0].length}}return n}function wc(t){t=t.trim();const e=t.startsWith("-");return t=t.replace(dc,""),{text:t,hasSeparatorLine:e}}class _c{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,n){e=bt(e);const i=this.values,s=this.prefixSum,r=n.length;return r===0?!1:(this.values=new Uint32Array(i.length+r),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+r),this.values.set(n,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(s.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,n){return e=bt(e),n=bt(n),this.values[e]===n?!1:(this.values[e]=n,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,n){e=bt(e),n=bt(n);const i=this.values,s=this.prefixSum;if(e>=i.length)return!1;const r=i.length-e;return n>=r&&(n=r),n===0?!1:(this.values=new Uint32Array(i.length-n),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+n),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(s.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=bt(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let n=this.prefixSumValidIndex[0]+1;n===0&&(this.prefixSum[0]=this.values[0],n++),e>=this.values.length&&(e=this.values.length-1);for(let i=n;i<=e;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let n=0,i=this.values.length-1,s=0,r=0,a=0;for(;n<=i;)if(s=n+(i-n)/2|0,r=this.prefixSum[s],a=r-this.values[s],e<a)i=s-1;else if(e>=r)n=s+1;else break;return new ts(s,e-a)}}class yc{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();const n=this._indexBySum[e];if(n===void 0){const s=Math.max(0,this._values.length-1),r=s>0?this._prefixSum[s-1]:0;return new ts(s,e-r)}const i=n>0?this._prefixSum[n-1]:0;return new ts(n,e-i)}removeValues(e,n){this._values.splice(e,n),this._invalidate(e)}insertValues(e,n){this._values=cs(this._values,e,n),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,n=this._values.length;e<n;e++){const i=this._values[e],s=e>0?this._prefixSum[e-1]:0;this._prefixSum[e]=s+i;for(let r=0;r<i;r++)this._indexBySum[s+r]=e}this._prefixSum.length=this._values.length,this._indexBySum.length=this._values.length>0?this._prefixSum[this._values.length-1]:0,this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(e,n){this._values[e]!==n&&(this._values[e]=n,this._invalidate(e))}}class ts{constructor(e,n){this.index=e,this.remainder=n,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=n}}class Lc{constructor(e,n,i,s){this._uri=e,this._lines=n,this._eol=i,this._versionId=s,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const n=e.changes;for(const i of n)this._acceptDeleteRange(i.range),this._acceptInsertText(new U(i.range.startLineNumber,i.range.startColumn),i.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,n=this._lines.length,i=new Uint32Array(n);for(let s=0;s<n;s++)i[s]=this._lines[s].length+e;this._lineStarts=new _c(i)}}_setLineText(e,n){this._lines[e]=n,this._lineStarts&&this._lineStarts.setValue(e,this._lines[e].length+this._eol.length)}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1));return}this._setLineText(e.startLineNumb Line truncated
@@ -0,0 +1 @@
define("vs/elixir-xjPaIfzF",["exports"],(function(e){"use strict";const t={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:'"',close:'"'}],autoClosingPairs:[{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["comment"]},{open:'"""',close:'"""'},{open:"`",close:"`",notIn:["string","comment"]},{open:"(",close:")"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"<<",close:">>"}],indentationRules:{increaseIndentPattern:/^\s*(after|else|catch|rescue|fn|[^#]*(do|<\-|\->|\{|\[|\=))\s*$/,decreaseIndentPattern:/^\s*((\}|\])\s*$|(after|else|catch|rescue|end)\b)/}},n={defaultToken:"source",tokenPostfix:".elixir",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"<<",close:">>",token:"delimiter.angle.special"}],declarationKeywords:["def","defp","defn","defnp","defguard","defguardp","defmacro","defmacrop","defdelegate","defcallback","defmacrocallback","defmodule","defprotocol","defexception","defimpl","defstruct"],operatorKeywords:["and","in","not","or","when"],namespaceKeywords:["alias","import","require","use"],otherKeywords:["after","case","catch","cond","do","else","end","fn","for","if","quote","raise","receive","rescue","super","throw","try","unless","unquote_splicing","unquote","with"],constants:["true","false","nil"],nameBuiltin:["__MODULE__","__DIR__","__ENV__","__CALLER__","__STACKTRACE__"],operator:/-[->]?|!={0,2}|\*{1,2}|\/|\\\\|&{1,3}|\.\.?|\^(?:\^\^)?|\+\+?|<(?:-|<<|=|>|\|>|~>?)?|=~|={1,3}|>(?:=|>>)?|\|~>|\|>|\|{1,3}|~>>?|~~~|::/,variableName:/[a-z_][a-zA-Z0-9_]*[?!]?/,atomName:/[a-zA-Z_][a-zA-Z0-9_@]*[?!]?|@specialAtomName|@operator/,specialAtomName:/\.\.\.|<<>>|%\{\}|%|\{\}/,aliasPart:/[A-Z][a-zA-Z0-9_]*/,moduleName:/@aliasPart(?:\.@aliasPart)*/,sigilSymmetricDelimiter:/"""|'''|"|'|\/|\|/,sigilStartDelimiter:/@sigilSymmetricDelimiter|<|\{|\[|\(/,sigilEndDelimiter:/@sigilSymmetricDelimiter|>|\}|\]|\)/,sigilModifiers:/[a-zA-Z0-9]*/,decimal:/\d(?:_?\d)*/,hex:/[0-9a-fA-F](_?[0-9a-fA-F])*/,octal:/[0-7](_?[0-7])*/,binary:/[01](_?[01])*/,escape:/\\u[0-9a-fA-F]{4}|\\x[0-9a-fA-F]{2}|\\./,tokenizer:{root:[{include:"@whitespace"},{include:"@comments"},{include:"@keywordsShorthand"},{include:"@numbers"},{include:"@identifiers"},{include:"@strings"},{include:"@atoms"},{include:"@sigils"},{include:"@attributes"},{include:"@symbols"}],whitespace:[[/\s+/,"white"]],comments:[[/(#)(.*)/,["comment.punctuation","comment"]]],keywordsShorthand:[[/(@atomName)(:)(\s+)/,["constant","constant.punctuation","white"]],[/"(?=([^"]|#\{.*?\}|\\")*":)/,{token:"constant.delimiter",next:"@doubleQuotedStringKeyword"}],[/'(?=([^']|#\{.*?\}|\\')*':)/,{token:"constant.delimiter",next:"@singleQuotedStringKeyword"}]],doubleQuotedStringKeyword:[[/":/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],singleQuotedStringKeyword:[[/':/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],numbers:[[/0b@binary/,"number.binary"],[/0o@octal/,"number.octal"],[/0x@hex/,"number.hex"],[/@decimal\.@decimal([eE]-?@decimal)?/,"number.float"],[/@decimal/,"number"]],identifiers:[[/\b(defp?|defnp?|defmacrop?|defguardp?|defdelegate)(\s+)(@variableName)(?!\s+@operator)/,["keyword.declaration","white",{cases:{unquote:"keyword","@default":"function"}}]],[/(@variableName)(?=\s*\.?\s*\()/,{cases:{"@declarationKeywords":"keyword.declaration","@namespaceKeywords":"keyword","@otherKeywords":"keyword","@default":"function.call"}}],[/(@moduleName)(\s*)(\.)(\s*)(@variableName)/,["type.identifier","white","operator","white","function.call"]],[/(:)(@atomName)(\s*)(\.)(\s*)(@variableName)/,["constant.punctuation","constant","white","operator","white","function.call"]],[/(\|>)(\s*)(@variableName)/,["operator","white",{cases:{"@otherKeywords":"keyword","@default":"function.call"}}]],[/(&)(\s*)(@variableName)/,["operator","white","function.call"]],[/@variableName/,{cases:{"@declarationKeywords":"keyword.declaration","@operatorKeywords":"keyword.operator","@namespaceKeywords":"keyword","@otherKeywords":"keyword","@constants":"constant.language","@nameBuiltin":"variable.language","_.*":"comment.unused","@default":"identifier"}}],[/@moduleName/,"type.identifier"]],strings:[[/"""/,{token:"string.delimiter",next:"@doubleQuotedHeredoc"}],[/'''/,{token:"string.delimiter",next:"@singleQuotedHeredoc"}],[/"/,{token:"string.delimiter",next:"@doubleQuotedString"}],[/'/,{token:"string.delimiter",next:"@singleQuotedString"}]],doubleQuotedHeredoc:[[/"""/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],singleQuotedHeredoc:[[/'''/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],doubleQuotedString:[[/"/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],singleQuotedString:[[/'/,{token:"string.deLine truncated
@@ -0,0 +1 @@
define("vs/flow9-DqtmStfK",["exports"],(function(e){"use strict";const o={comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string"]},{open:"[",close:"]",notIn:["string"]},{open:"(",close:")",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}]},n={defaultToken:"",tokenPostfix:".flow",keywords:["import","require","export","forbid","native","if","else","cast","unsafe","switch","default"],types:["io","mutable","bool","int","double","string","flow","void","ref","true","false","with"],operators:["=",">","<","<=",">=","==","!","!=",":=","::=","&&","||","+","-","*","/","@","&","%",":","->","\\","$","??","^"],symbols:/[@$=><!~?:&|+\-*\\\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":"keyword","@types":"type","@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"delimiter"],[/[<>](?!@symbols)/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}};e.conf=o,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1,3 @@
define("vs/freemarker2-FWreY7v7",["exports","./editor-KLE6jdfb"],(function(i,c){"use strict";const s=["assign","flush","ftl","return","global","import","include","break","continue","local","nested","nt","setting","stop","t","lt","rt","fallback"],d=["attempt","autoesc","autoEsc","compress","comment","escape","noescape","function","if","list","items","sep","macro","noparse","noParse","noautoesc","noAutoEsc","outputformat","switch","visit","recurse"],a={close:">",id:"angle",open:"<"},r={close:"\\]",id:"bracket",open:"\\["},f={close:"[>\\]]",id:"auto",open:"[<\\[]"},p={close:"\\}",id:"dollar",open1:"\\$",open2:"\\{"},g={close:"\\]",id:"bracket",open1:"\\[",open2:"="};function l(t){return{brackets:[["<",">"],["[","]"],["(",")"],["{","}"]],comments:{blockComment:[`${t.open}--`,`--${t.close}`]},autoCloseBefore:`
\r }]),.:;=`,autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],folding:{markers:{start:new RegExp(`${t.open}#(?:${d.join("|")})([^/${t.close}]*(?!/)${t.close})[^${t.open}]*$`),end:new RegExp(`${t.open}/#(?:${d.join("|")})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`${t.open}#(?!(?:${s.join("|")}))([a-zA-Z_]+)([^/${t.close}]*(?!/)${t.close})[^${t.open}]*$`),afterText:new RegExp(`^${t.open}/#([a-zA-Z_]+)[\\r\\n\\t ]*${t.close}$`),action:{indentAction:c.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`${t.open}#(?!(?:${s.join("|")}))([a-zA-Z_]+)([^/${t.close}]*(?!/)${t.close})[^${t.open}]*$`),action:{indentAction:c.languages.IndentAction.Indent}}]}}function A(){return{brackets:[["<",">"],["[","]"],["(",")"],["{","}"]],autoCloseBefore:`
\r }]),.:;=`,autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],folding:{markers:{start:new RegExp(`[<\\[]#(?:${d.join("|")})([^/>\\]]*(?!/)[>\\]])[^<\\[]*$`),end:new RegExp(`[<\\[]/#(?:${d.join("|")})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`[<\\[]#(?!(?:${s.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),afterText:new RegExp("^[<\\[]/#([a-zA-Z_]+)[\\r\\n\\t ]*[>\\]]$"),action:{indentAction:c.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`[<\\[]#(?!(?:${s.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),action:{indentAction:c.languages.IndentAction.Indent}}]}}function _(t,n){const u=`_${t.id}_${n.id}`,e=k=>k.replace(/__id__/g,u),o=k=>{const D=k.source.replace(/__id__/g,u);return new RegExp(D,k.flags)};return{unicode:!0,includeLF:!1,start:e("default__id__"),ignoreCase:!1,defaultToken:"invalid",tokenPostfix:".freemarker2",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],[e("open__id__")]:new RegExp(t.open),[e("close__id__")]:new RegExp(t.close),[e("iOpen1__id__")]:new RegExp(n.open1),[e("iOpen2__id__")]:new RegExp(n.open2),[e("iClose__id__")]:new RegExp(n.close),[e("startTag__id__")]:o(/(@open__id__)(#)/),[e("endTag__id__")]:o(/(@open__id__)(\/#)/),[e("startOrEndTag__id__")]:o(/(@open__id__)(\/?#)/),[e("closeTag1__id__")]:o(/((?:@blank)*)(@close__id__)/),[e("closeTag2__id__")]:o(/((?:@blank)*\/?)(@close__id__)/),blank:/[ \t\n\r]/,keywords:["false","true","in","as","using"],directiveStartCloseTag1:/attempt|recover|sep|auto[eE]sc|no(?:autoe|AutoE)sc|compress|default|no[eE]scape|comment|no[pP]arse/,directiveStartCloseTag2:/else|break|continue|return|stop|flush|t|lt|rt|nt|nested|recurse|fallback|ftl/,directiveStartBlank:/if|else[iI]f|list|for[eE]ach|switch|case|assign|global|local|include|import|function|macro|transform|visit|stop|return|call|setting|output[fF]ormat|nested|recurse|escape|ftl|items/,directiveEndCloseTag1:/if|list|items|sep|recover|attempt|for[eE]ach|local|global|assign|function|macro|output[fF]ormat|auto[eE]sc|no(?:autoe|AutoE)sc|compress|transform|switch|escape|no[eE]scape/,escapedChar:/\\(?:[ntrfbgla\\'"\{=]|(?:x[0-9A-Fa-f]{1,4}))/,asciiDigit:/[0-9]/,integer:/[0-9]+/,nonEscapedIdStartChar:/[\$@-Z_a-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u1FFF\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183-\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3006\u3031-\u3035\u303B-\u303C\u3040-\u318F\u31A0-\u31BA\u31F0-\u31FF\u3300-\u337F\u3400-\u4DB5\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,escapedIdChar:/\\[\-\.:#]/,idStartChar:/(?:@nonEscapedIdStartChar)|(?:@escapedIdChar)/,id:/(?:@idStartChar)(?:(?:@idStartChar)|(?:@asciiDigit))*/,specialHashKeys:/\*\*|\*|false|true|in|as|using/,namedSymbols:/&lt;=|&gt;=|\\lte|\\lt|&lt;|\\gte|\\gt|&gt;|&amp;&amp;|\\and|-&gt;|->|==|!=|\+=|-=|\*=|\/=|%=|\+\+|--|<=|&&|\|\||:|\.\.\.|\.\.\*|\.\.<|\.\.!|\?\?|=|<|\+|-|\*|\/|%|\||\.\.|\?|!|&|\.|,|;/,arrows:["->","-&gt;"],delimiters:[";",":",",","."],stringOperators:["lte","lt","gte","gt"],noParseTags:["noparse","noParse","comment"],tokenizer:{[e("default__id__")]:[{include:e("@directive_token__id__")},{include:e("@interpolation_and_text_token__id__")}],[e("fmExpression__id__.directive")]:[{include:e("@blank_and_expression_comment_token__id__")},{include:e("@directive_end_token__id__")},{include:e("@expression_token__id__")}],[e("fmExpression__id__.interpolation")]:[{include:e("@blank_and_expression_comment_t Line truncated
@@ -0,0 +1 @@
define("vs/fsharp-BOMdg4U1",["exports"],(function(e){"use strict";const n={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),end:new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")}}},t={defaultToken:"",tokenPostfix:".fs",keywords:["abstract","and","atomic","as","assert","asr","base","begin","break","checked","component","const","constraint","constructor","continue","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","eager","event","external","extern","false","finally","for","fun","function","fixed","functor","global","if","in","include","inherit","inline","interface","internal","land","lor","lsl","lsr","lxor","lazy","let","match","member","mod","module","mutable","namespace","method","mixin","new","not","null","of","open","or","object","override","private","parallel","process","protected","pure","public","rec","return","static","sealed","struct","sig","then","to","true","tailcall","trait","try","type","upcast","use","val","void","virtual","volatile","when","while","with","yield"],symbols:/[=><!~?:&|+\-*\^%;\.,\/]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/[uU]?[yslnLI]?/,floatsuffix:/[fFmM]?/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[<.*>\]/,"annotation"],[/^#(if|else|endif)/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0x[0-9a-fA-F]+LF/,"number.float"],[/0x[0-9a-fA-F]+(@integersuffix)/,"number.hex"],[/0b[0-1]+(@integersuffix)/,"number.bin"],[/\d+(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string",'@string."""'],[/"/,"string",'@string."'],[/\@"/,{token:"string.quote",next:"@litstring"}],[/'[^\\']'B?/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\(\*(?!\))/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^*(]+/,"comment"],[/\*\)/,"comment","@pop"],[/\*/,"comment"],[/\(\*\)/,"comment"],[/\(/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/("""|"B?)/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]]}};e.conf=n,e.language=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/go-D_hbi-Jt",["exports"],(function(e){"use strict";const n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"}]},o={defaultToken:"",tokenPostfix:".go",keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","bool","true","false","uint8","uint16","uint32","uint64","int8","int16","int32","int64","float32","float64","complex64","complex128","byte","rune","uint","int","uintptr","string","nil"],operators:["+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(",")","","]","{","}",",",";",".",":"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[\[.*\]\]/,"annotation"],[/^\s*#\w+/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex"],[/0[0-7']*[0-7]/,"number.octal"],[/0[bB][0-1']*[0-1]/,"number.binary"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/`/,"string","@rawstring"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],rawstring:[[/[^\`]/,"string"],[/`/,"string","@pop"]]}};e.conf=n,e.language=o,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/graphql-CKUU4kLG",["exports"],(function(e){"use strict";const n={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""',notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""'},{open:'"',close:'"'}],folding:{offSide:!0}},t={defaultToken:"invalid",tokenPostfix:".gql",keywords:["null","true","false","query","mutation","subscription","extend","schema","directive","scalar","type","interface","union","enum","input","implements","fragment","on"],typeKeywords:["Int","Float","String","Boolean","ID"],directiveLocations:["SCHEMA","SCALAR","OBJECT","FIELD_DEFINITION","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","QUERY","MUTATION","SUBSCRIPTION","FIELD","FRAGMENT_DEFINITION","FRAGMENT_SPREAD","INLINE_FRAGMENT","VARIABLE_DEFINITION"],operators:["=","!","?",":","&","|"],symbols:/[=!?:&|]+/,escapes:/\\(?:["\\\/bfnrt]|u[0-9A-Fa-f]{4})/,tokenizer:{root:[[/[a-z_][\w$]*/,{cases:{"@keywords":"keyword","@default":"key.identifier"}}],[/[$][\w$]*/,{cases:{"@keywords":"keyword","@default":"argument.identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@typeKeywords":"keyword","@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,{token:"annotation",log:"annotation token: $0"}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"""/,{token:"string",next:"@mlstring",nextEmbedded:"markdown"}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}]],mlstring:[[/[^"]+/,"string"],['"""',{token:"string",next:"@pop",nextEmbedded:"@pop"}]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/#.*$/,"comment"]]}};e.conf=n,e.language=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/handlebars-CZi4pHCH",["exports","./editor-KLE6jdfb"],(function(e,t){"use strict";const n=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],a={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["{{!--","--}}"]},brackets:[["<!--","-->"],["<",">"],["{{","}}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${n.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:t.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${n.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:t.languages.IndentAction.Indent}}]},r={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/\{\{!--/,"comment.block.start.handlebars","@commentBlock"],[/\{\{!/,"comment.start.handlebars","@comment"],[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.root"}],[/<!DOCTYPE/,"metatag.html","@doctype"],[/<!--/,"comment.html","@commentHtml"],[/(<)(\w+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)(\w+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/</,"delimiter.html"],[/\{/,"delimiter.html"],[/[^<{]+/]],doctype:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/[^>]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/\}\}/,"comment.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentBlock:[[/--\}\}/,"comment.block.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentHtml:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"aLine truncated
@@ -0,0 +1 @@
define("vs/hcl-DTaboeZW",["exports"],(function(e){"use strict";const t={comments:{lineComment:"#",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},s={defaultToken:"",tokenPostfix:".hcl",keywords:["var","local","path","for_each","any","string","number","bool","true","false","null","if ","else ","endif ","for ","in","endfor"],operators:["=",">=","<=","==","!=","+","-","*","/","%","&&","||","!","<",">","?","...",":"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,terraformFunctions:/(abs|ceil|floor|log|max|min|pow|signum|chomp|format|formatlist|indent|join|lower|regex|regexall|replace|split|strrev|substr|title|trimspace|upper|chunklist|coalesce|coalescelist|compact|concat|contains|distinct|element|flatten|index|keys|length|list|lookup|map|matchkeys|merge|range|reverse|setintersection|setproduct|setunion|slice|sort|transpose|values|zipmap|base64decode|base64encode|base64gzip|csvdecode|jsondecode|jsonencode|urlencode|yamldecode|yamlencode|abspath|dirname|pathexpand|basename|file|fileexists|fileset|filebase64|templatefile|formatdate|timeadd|timestamp|base64sha256|base64sha512|bcrypt|filebase64sha256|filebase64sha512|filemd5|filemd1|filesha256|filesha512|md5|rsadecrypt|sha1|sha256|sha512|uuid|uuidv5|cidrhost|cidrnetmask|cidrsubnet|tobool|tolist|tomap|tonumber|toset|tostring)/,terraformMainBlocks:/(module|data|terraform|resource|provider|variable|output|locals)/,tokenizer:{root:[[/^@terraformMainBlocks([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,["type","","string","","string","","@brackets"]],[/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,["identifier","","string","","string","","@brackets"]],[/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)(=)(\{)/,["identifier","","string","","operator","","@brackets"]],{include:"@terraform"}],terraform:[[/@terraformFunctions(\()/,["type","@brackets"]],[/[a-zA-Z_]\w*-*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"variable"}}],{include:"@whitespace"},{include:"@heredoc"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"/,"string","@string"],[/'/,"invalid"]],heredoc:[[/<<[-]*\s*["]?([\w\-]+)["]?/,{token:"string.heredoc.delimiter",next:"@heredocBody.$1"}]],heredocBody:[[/([\w\-]+)$/,{cases:{"$1==$S2":[{token:"string.heredoc.delimiter",next:"@popall"}],"@default":"string.heredoc"}}],[/./,"string.heredoc"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"],[/#.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/\$\{/,{token:"delimiter",next:"@stringExpression"}],[/[^\\"\$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@popall"]],stringInsideExpression:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],stringExpression:[[/\}/,{token:"delimiter",next:"@pop"}],[/"/,"string","@stringInsideExpression"],{include:"@terraform"}]}};e.conf=t,e.language=s,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/html-j_7ZTNRU",["exports","./editor-KLE6jdfb"],(function(e,t){"use strict";const n=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],i={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["<!--","-->"]},brackets:[["<!--","-->"],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${n.join("|")}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:t.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${n.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:t.languages.IndentAction.Indent}}],folding:{markers:{start:new RegExp("^\\s*<!--\\s*#region\\b.*-->"),end:new RegExp("^\\s*<!--\\s*#endregion\\b.*-->")}}},r={defaultToken:"",tokenPostfix:".html",ignoreCase:!0,tokenizer:{root:[[/<!DOCTYPE/,"metatag","@doctype"],[/<!--/,"comment","@comment"],[/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/,["delimiter","tag","","delimiter"]],[/(<)(script)/,["delimiter",{token:"tag",next:"@script"}]],[/(<)(style)/,["delimiter",{token:"tag",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/</,"delimiter"],[/[^<]+/]],doctype:[[/[^>]+/,"metatag.content"],[/>/,"metatag","@pop"]],comment:[[/-->/,"comment","@pop"],[/[^-]+/,"comment.content"],[/./,"comment.content"]],otherTag:[[/\/?>/,"delimiter","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"module"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.text/javascript"}],[/'module'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.text/javascript"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}};e.conf=i,e.language=r,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/html.worker-CA3iAimZ", ["require", "exports"], (function(require, r){"use strict";const e=""+new URL(require.toUrl("./assets/html.worker-D1SL3iM8.js"),document.baseURI).href;r.__worker_url_0__=e}));
@@ -0,0 +1 @@
define("vs/htmlMode-27by_KM4",["exports","./html.worker-CA3iAimZ","./workers-BBttULjf","./lspLanguageFeatures-BIkJOWLw","./editor-KLE6jdfb"],(function(i,_,v,e,n){"use strict";class l{constructor(d){this._defaults=d,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=v.createWebWorker({moduleId:"vs/language/html/htmlWorker",createWorker:()=>new Worker(_.__worker_url_0__,{type:"module"}),createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...d){let t;return this._getClient().then(r=>{t=r}).then(r=>{if(this._worker)return this._worker.withSyncedResources(d)}).then(r=>t)}}class a extends e.CompletionAdapter{constructor(d){super(d,[".",":","<",'"',"=","/"])}}function u(o){const d=new l(o),t=(...c)=>d.getLanguageServiceWorker(...c);let r=o.languageId;n.languages.registerCompletionItemProvider(r,new a(t)),n.languages.registerHoverProvider(r,new e.HoverAdapter(t)),n.languages.registerDocumentHighlightProvider(r,new e.DocumentHighlightAdapter(t)),n.languages.registerLinkProvider(r,new e.DocumentLinkAdapter(t)),n.languages.registerFoldingRangeProvider(r,new e.FoldingRangeAdapter(t)),n.languages.registerDocumentSymbolProvider(r,new e.DocumentSymbolAdapter(t)),n.languages.registerSelectionRangeProvider(r,new e.SelectionRangeAdapter(t)),n.languages.registerRenameProvider(r,new e.RenameAdapter(t)),r==="html"&&(n.languages.registerDocumentFormattingEditProvider(r,new e.DocumentFormattingEditProvider(t)),n.languages.registerDocumentRangeFormattingEditProvider(r,new e.DocumentRangeFormattingEditProvider(t)))}function w(o){const d=[],t=[],r=new l(o);d.push(r);const c=(...g)=>r.getLanguageServiceWorker(...g);function f(){const{languageId:g,modeConfiguration:m}=o;h(t),m.completionItems&&t.push(n.languages.registerCompletionItemProvider(g,new a(c))),m.hovers&&t.push(n.languages.registerHoverProvider(g,new e.HoverAdapter(c))),m.documentHighlights&&t.push(n.languages.registerDocumentHighlightProvider(g,new e.DocumentHighlightAdapter(c))),m.links&&t.push(n.languages.registerLinkProvider(g,new e.DocumentLinkAdapter(c))),m.documentSymbols&&t.push(n.languages.registerDocumentSymbolProvider(g,new e.DocumentSymbolAdapter(c))),m.rename&&t.push(n.languages.registerRenameProvider(g,new e.RenameAdapter(c))),m.foldingRanges&&t.push(n.languages.registerFoldingRangeProvider(g,new e.FoldingRangeAdapter(c))),m.selectionRanges&&t.push(n.languages.registerSelectionRangeProvider(g,new e.SelectionRangeAdapter(c))),m.documentFormattingEdits&&t.push(n.languages.registerDocumentFormattingEditProvider(g,new e.DocumentFormattingEditProvider(c))),m.documentRangeFormattingEdits&&t.push(n.languages.registerDocumentRangeFormattingEditProvider(g,new e.DocumentRangeFormattingEditProvider(c)))}return f(),d.push(s(t)),s(d)}function s(o){return{dispose:()=>h(o)}}function h(o){for(;o.length;)o.pop().dispose()}i.CompletionAdapter=e.CompletionAdapter,i.DefinitionAdapter=e.DefinitionAdapter,i.DiagnosticsAdapter=e.DiagnosticsAdapter,i.DocumentColorAdapter=e.DocumentColorAdapter,i.DocumentFormattingEditProvider=e.DocumentFormattingEditProvider,i.DocumentHighlightAdapter=e.DocumentHighlightAdapter,i.DocumentLinkAdapter=e.DocumentLinkAdapter,i.DocumentRangeFormattingEditProvider=e.DocumentRangeFormattingEditProvider,i.DocumentSymbolAdapter=e.DocumentSymbolAdapter,i.FoldingRangeAdapter=e.FoldingRangeAdapter,i.HoverAdapter=e.HoverAdapter,i.ReferenceAdapter=e.ReferenceAdapter,i.RenameAdapter=e.RenameAdapter,i.SelectionRangeAdapter=e.SelectionRangeAdapter,i.fromPosition=e.fromPosition,i.fromRange=e.fromRange,i.toRange=e.toRange,i.toTextEdit=e.toTextEdit,i.WorkerManager=l,i.setupMode=w,i.setupMode1=u,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/index-049xrXrp",["exports"],(function(E){"use strict";function M(...m){const o=m[0];let f,d,a;if(typeof o=="string")f=o,d=o,m.splice(0,1),a=!m||typeof m[0]!="object"?m:m[0];else if(o instanceof Array){const g=m.slice(1);if(o.length!==g.length+1)throw new Error("expected a string as the first argument to l10n.t");let b=o[0];for(let w=1;w<o.length;w++)b+=`{${w-1}}`+o[w];return M(b,...g)}else d=o.message,f=d,o.comment&&o.comment.length>0&&(f+=`/${Array.isArray(o.comment)?o.comment.join(""):o.comment}`),a=o.args??{};return Z(d,a)}var W=/{([^}]+)}/g;function Z(m,o){return Object.keys(o).length===0?m:m.replace(W,(f,d)=>o[d]??f)}class L{constructor(o,f,d,a){this._uri=o,this._languageId=f,this._version=d,this._content=a,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(o){if(o){const f=this.offsetAt(o.start),d=this.offsetAt(o.end);return this._content.substring(f,d)}return this._content}update(o,f){for(let d of o)if(L.isIncremental(d)){const a=B(d.range),g=this.offsetAt(a.start),b=this.offsetAt(a.end);this._content=this._content.substring(0,g)+d.text+this._content.substring(b,this._content.length);const w=Math.max(a.start.line,0),t=Math.max(a.end.line,0);let e=this._lineOffsets;const r=z(d.text,!1,g);if(t-w===r.length)for(let s=0,c=r.length;s<c;s++)e[s+w+1]=r[s];else r.length<1e4?e.splice(w+1,t-w,...r):this._lineOffsets=e=e.slice(0,w+1).concat(r,e.slice(t+1));const i=d.text.length-(b-g);if(i!==0)for(let s=w+1+r.length,c=e.length;s<c;s++)e[s]=e[s]+i}else if(L.isFull(d))this._content=d.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=f}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=z(this._content,!0)),this._lineOffsets}positionAt(o){o=Math.max(Math.min(o,this._content.length),0);let f=this.getLineOffsets(),d=0,a=f.length;if(a===0)return{line:0,character:o};for(;d<a;){let b=Math.floor((d+a)/2);f[b]>o?a=b:d=b+1}let g=d-1;return{line:g,character:o-f[g]}}offsetAt(o){let f=this.getLineOffsets();if(o.line>=f.length)return this._content.length;if(o.line<0)return 0;let d=f[o.line],a=o.line+1<f.length?f[o.line+1]:this._content.length;return Math.max(Math.min(d+o.character,a),d)}get lineCount(){return this.getLineOffsets().length}static isIncremental(o){let f=o;return f!=null&&typeof f.text=="string"&&f.range!==void 0&&(f.rangeLength===void 0||typeof f.rangeLength=="number")}static isFull(o){let f=o;return f!=null&&typeof f.text=="string"&&f.range===void 0&&f.rangeLength===void 0}}E.TextDocument=void 0,(function(m){function o(a,g,b,w){return new L(a,g,b,w)}m.create=o;function f(a,g,b){if(a instanceof L)return a.update(g,b),a;throw new Error("TextDocument.update: document must be created by TextDocument.create")}m.update=f;function d(a,g){let b=a.getText(),w=R(g.map(G),(r,i)=>{let s=r.range.start.line-i.range.start.line;return s===0?r.range.start.character-i.range.start.character:s}),t=0;const e=[];for(const r of w){let i=a.offsetAt(r.range.start);if(i<t)throw new Error("Overlapping edit");i>t&&e.push(b.substring(t,i)),r.newText.length&&e.push(r.newText),t=a.offsetAt(r.range.end)}return e.push(b.substr(t)),e.join("")}m.applyEdits=d})(E.TextDocument||(E.TextDocument={}));function R(m,o){if(m.length<=1)return m;const f=m.length/2|0,d=m.slice(0,f),a=m.slice(f);R(d,o),R(a,o);let g=0,b=0,w=0;for(;g<d.length&&b<a.length;)o(d[g],a[b])<=0?m[w++]=d[g++]:m[w++]=a[b++];for(;g<d.length;)m[w++]=d[g++];for(;b<a.length;)m[w++]=a[b++];return m}function z(m,o,f=0){const d=o?[f]:[];for(let a=0;a<m.length;a++){let g=m.charCodeAt(a);(g===13||g===10)&&(g===13&&a+1<m.length&&m.charCodeAt(a+1)===10&&a++,d.push(f+a+1))}return d}function B(m){const o=m.start,f=m.end;return o.line>f.line||o.line===f.line&&o.character>f.character?{start:f,end:o}:m}function G(m){const o=B(m.range);return o!==m.range?{newText:m.newText,range:o}:m}var D;(()=>{var m={470:a=>{function g(t){if(typeof t!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function b(t,e){for(var r,i="",s=0,c=-1,p=0,y=0;y<=t.length;++y){if(y<t.length)r=t.charCodeAt(y);else{if(r===47)break;r=47}if(r===47){if(!(c===y-1||p===1))if(c!==y-1&&p===2){if(i.length<2||s!==2||i.charCodeAt(i.length-1)!==46||i.charCodeAt(i.length-2)!==46){if(i.length>2){var x=i.lastIndexOf("/");if(x!==i.length-1){x===-1?(i="",s=0):s=(i=i.slice(0,x)).length-1-i.lastIndexOf("/"),c=y,p=0;continue}}else if(i.length===2||i.length===1){i="",s=0,c=y,p=0;continue}}e&&(i.length>0?i+="/..":i="..",s=2)}else i.length>0?i+="/"+t.slice(c+1,y):i=t.slice(c+1,y),s=y-c-1;c=y,p=0}else r===46&&p!==-1?++p:p=-1}return i}var w={resolve:function(){for(var t,e="",r=!1,i=arguments.length-1;i>=-1&&!r;i--){var s;i>=0?s=arguments[i]:(t===void 0&&(t=process.cwd()),s=t),g(s),s.length!==0&&(e=s+"/"+e,r=s.charCodeAt(0)===47)}return e=b(e,!r),r?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(t){if(g(t),t.length===0)return".";var e=t.charCodeAt(0)===Line truncated
@@ -0,0 +1,5 @@
define("vs/index-CBVt3dzv",["exports","./editor-KLE6jdfb","./toggleHighContrast-qGX7E9o7","./basic-languages/monaco.contribution","./monaco.contribution-9cKT3C7t","./monaco.contribution-BgRy6xDf","./monaco.contribution-BPhsneLd","./monaco.contribution-BE88ZNGY"],(function(U,s,k,Wn,Pe,He,Le,Ie){"use strict";function Oe(e){return e.method!==void 0}var V;(function(e){function t(n){return n}e.create=t})(V||(V={}));var D;(function(e){e.parseError=-32700,e.invalidRequest=-32600,e.methodNotFound=-32601,e.invalidParams=-32602,e.internalError=-32603;function t(o){return-32099<=o&&o<=-32e3}e.isServerError=t;function n(o){if(!t(o))throw new Error("Invalid range for a server error.");return o}e.serverError=n,e.unexpectedServerError=-32e3;function r(o){return!0}e.isApplicationError=r;function i(o){return o}e.applicationError=i,e.genericApplicationError=-320100})(D||(D={}));var L=class{listeners=new Set;event=e=>(this.listeners.add(e),{dispose:()=>{this.listeners.delete(e)}});fire(e){this.listeners.forEach(t=>t(e))}},Ae=class{_value;eventEmitter;constructor(e){this._value=e,this.eventEmitter=new L}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this.eventEmitter.fire(e))}get onChange(){return this.eventEmitter.event}};function Ne(e,t){const n=setTimeout(t,e);return{dispose:()=>clearTimeout(n)}}function I(e,t,n){return e instanceof Set?(e.add(t),{dispose:()=>e.delete(t)}):(e.set(t,n),{dispose:()=>e.delete(t)})}var We=class{_state="none";promise;resolve=()=>{};reject=()=>{};constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}get state(){return this._state}},J=class ye{static id=0;_unprocessedMessages=[];_messageListener;id=ye.id++;_state=new Ae({state:"open"});state=this._state;setListener(t){if(this._messageListener=t,!!t)for(;this._unprocessedMessages.length>0&&this._messageListener!==void 0;){const n=this._unprocessedMessages.shift();this._messageListener(n)}}send(t){return this._sendImpl(t)}_dispatchReceivedMessage(t){this._unprocessedMessages.length===0&&this._messageListener?this._messageListener(t):this._unprocessedMessages.push(t)}_onConnectionClosed(){this._state.value={state:"closed",error:void 0}}log(t){return new ze(this,t??new qe)}},ze=class{baseStream;logger;constructor(e,t){this.baseStream=e,this.logger=t}get state(){return this.baseStream.state}setListener(e){if(e===void 0){this.baseStream.setListener(void 0);return}this.baseStream.setListener(t=>{this.logger.log(this.baseStream,"incoming",t),e(t)})}send(e){return this.logger.log(this.baseStream,"outgoing",e),this.baseStream.send(e)}toString(){return`StreamLogger/${this.baseStream.toString()}`}},qe=class{log(e,t,n){console.log(`${t==="incoming"?"<-":"->"} [${e.toString()}] ${JSON.stringify(n)}`)}},Be=class ke{connect;constructor(t){this.connect=t}mapContext(t){return new ke(n=>this.connect(n?je(n,t):void 0))}};function je(e,t){return{handleNotification:(n,r)=>e.handleNotification(n,t(r)),handleRequest:(n,r,i)=>e.handleRequest(n,r,t(i))}}var Ue=class Se{_stream;_listener;_logger;static createChannel(t,n){let r=!1;return new Be(i=>{if(r)throw new Error(`A channel to the stream ${t} was already constructed!`);return r=!0,new Se(t,i,n)})}_unprocessedResponses=new Map;_lastUsedRequestId=0;constructor(t,n,r){this._stream=t,this._listener=n,this._logger=r,this._stream.setListener(i=>{Oe(i)?i.id===void 0?this._processNotification(i):this._processRequest(i):this._processResponse(i)})}get state(){return this._stream.state}async _processNotification(t){if(t.id!==void 0)throw new Error;if(!this._listener){this._logger&&this._logger.debug({text:"Notification ignored",message:t});return}try{await this._listener.handleNotification({method:t.method,params:t.params||null})}catch(n){this._logger&&this._logger.warn({text:`Exception was thrown while handling notification: ${n}`,exception:n,message:t})}}async _processRequest(t){if(t.id===void 0)throw new Error;let n;if(this._listener)try{n=await this._listener.handleRequest({method:t.method,params:t.params||null},t.id)}catch(i){this._logger&&this._logger.warn({text:`Exception was thrown while handling request: ${i}`,message:t,exception:i}),n={error:{code:D.internalError,message:"An unexpected exception was thrown.",data:void 0}}}else this._logger&&this._logger.debug({text:"Received request even though not listening for requests",message:t}),n={error:{code:D.methodNotFound,message:"This endpoint does not listen for requests or notifications.",data:void 0}};let r;"result"in n?r={jsonrpc:"2.0",id:t.id,result:n.result}:r={jsonrpc:"2.0",id:t.id,error:n.error},await this._stream.send(r)}_processResponse(t){const n=""+t.id,r=this._unprocessedResponses.get(n);if(!r){this._logger&&this._logger.debug({text:"Got an unexpected response message",message:t});return}this._unprocessedResponses.delete(n),r(t)}_newRequestId(){return this._lastUsedRequestId++}sendRequest(t,n,r){const i={jsonrpc:"2.0",id:this._newRequestId(),method:t.method,params:t.params||void 0};return r&&r(i.id),new PromisLine truncated
${JSON.stringify(o,null,2)}`);return a.value}}async notify(t,n,r){if(!this.checkChannel(this._requestSender))throw new Error;const i=t.paramsSerializer.serializeToJson(n);X(i),this._requestSender.sendNotification({method:t.method,params:i},r)}};function X(e){if(e!==null&&Array.isArray(e)&&typeof e!="object")throw new Error("Invalid value! Only null, array and object is allowed.")}var Y=class Re extends Error{data;code;constructor(t,n,r=D.genericApplicationError){super(t),this.data=n,this.code=r,Object.setPrototypeOf(this,Re.prototype)}},Je=class B{method;paramsSerializer;resultSerializer;errorSerializer;isOptional;kind="request";constructor(t,n,r,i,o=!1){this.method=t,this.paramsSerializer=n,this.resultSerializer=r,this.errorSerializer=i,this.isOptional=o}withMethod(t){return new B(t,this.paramsSerializer,this.resultSerializer,this.errorSerializer)}optional(){return new B(this.method,this.paramsSerializer,this.resultSerializer,this.errorSerializer,!0)}},Ge=class Te{method;paramsSerializer;kind="notification";constructor(t,n){this.method=t,this.paramsSerializer=n}withMethod(t){return new Te(t,this.paramsSerializer)}};function c(e){return new Je((e||{}).method,S.sAny(),S.sAny(),S.sAny())}function h(e){return new Ge((e||{}).method,S.sAny())}const Qe=Symbol();var Z=class Me{error;static factory=t=>new Me(t);[Qe];constructor(t){this.error=t}};function Xe(e){const t=K(e.server),n=K(e.client);return new Ye(e.tags||[],t,n)}function K(e){const t={};for(const[n,r]of Object.entries(e)){const i=r.method?r.method:n;t[n]=r.withMethod(i)}return t}var Ye=class Fe{tags;server;client;_onlyDesignTime(){return new Error("This property is not meant to be accessed at runtime")}get TContractObject(){throw this._onlyDesignTime()}get TClientInterface(){throw this._onlyDesignTime()}get TServerInterface(){throw this._onlyDesignTime()}get TClientHandler(){throw this._onlyDesignTime()}get TServerHandler(){throw this._onlyDesignTime()}get TTags(){throw this._onlyDesignTime()}constructor(t=[],n,r){this.tags=t,this.server=n,this.client=r}getInterface(t,n,r,i){const o=this.buildCounterpart(t,r),a=this.registerHandlers(t,n,i,o);return{counterpart:o,dispose:()=>a.dispose()}}buildCounterpart(t,n){const r={};for(const[i,o]of Object.entries(n)){let a;o.kind==="request"?o.isOptional?a=async(l,g)=>{l===void 0&&(l={});try{return await t.request(o,l,g)}catch(w){if(w&&w.code===D.methodNotFound)return G;throw w}}:a=(l,g)=>(l===void 0&&(l={}),t.request(o,l,g)):a=(l,g)=>(l===void 0&&(l={}),t.notify(o,l,g)),r[i]=a}return r}registerHandlers(t,n,r,i){const o=[];for(const[a,l]of Object.entries(n))if(l.kind==="request"){let g=r[a];if(!g)continue;const w=this.createRequestHandler(i,g);o.push(t.registerRequestHandler(l,w))}else{const g=r[a];g&&o.push(t.registerNotificationHandler(l,(w,Nn)=>{g(w,{context:Nn,counterpart:i})}))}return{dispose:()=>o.forEach(a=>a.dispose())}}createRequestHandler(t,n){return async(r,i,o)=>{const a=await n(r,{context:o,counterpart:t,newErr:Z.factory,requestId:i});return a instanceof Z?a.error:{ok:a}}}static getServerFromStream(t,n,r,i){const o=O.fromTransport(n,r),{server:a}=t.getServer(o,i);return o.startListen(),{channel:o,server:a}}static registerServerToStream(t,n,r,i){const o=O.fromTransport(n,r),{client:a}=t.registerServer(o,i);return o.startListen(),{channel:o,client:a}}getServer(t,n){const{counterpart:r,dispose:i}=this.getInterface(t,this.client,this.server,n);return{server:r,dispose:i}}registerServer(t,n){const{counterpart:r,dispose:i}=this.getInterface(t,this.server,this.client,n);return{client:r,dispose:i}}withContext(){return new Fe(this.tags,this.server,this.client)}};let C=(function(e){return e.Comment="comment",e.Imports="imports",e.Region="region",e})({}),m=(function(e){return e[e.File=1]="File",e[e.Module=2]="Module",e[e.Namespace=3]="Namespace",e[e.Package=4]="Package",e[e.Class=5]="Class",e[e.Method=6]="Method",e[e.Property=7]="Property",e[e.Field=8]="Field",e[e.Constructor=9]="Constructor",e[e.Enum=10]="Enum",e[e.Interface=11]="Interface",e[e.Function=12]="Function",e[e.Variable=13]="Variable",e[e.Constant=14]="Constant",e[e.String=15]="String",e[e.Number=16]="Number",e[e.Boolean=17]="Boolean",e[e.Array=18]="Array",e[e.Object=19]="Object",e[e.Key=20]="Key",e[e.Null=21]="Null",e[e.EnumMember=22]="EnumMember",e[e.Struct=23]="Struct",e[e.Event=24]="Event",e[e.Operator=25]="Operator",e[e.TypeParameter=26]="TypeParameter",e})({}),$=(function(e){return e[e.Deprecated=1]="Deprecated",e})({}),ee=(function(e){return e[e.Type=1]="Type",e[e.Parameter=2]="Parameter",e})({}),Ze=(function(e){return e[e.None=0]="None",e[e.Full=1]="Full",e[e.Incremental=2]="Incremental",e})({}),f=(function(e){return e[e.Text=1]="Text",e[e.Method=2]="Method",e[e.Function=3]="Function",e[e.Constructor=4]="Constructor",e[e.Field=5]="Field",e[e.Variable=6]="Variable",e[e.Class=7]="Class",e[e.Interface=8]="Interface",e[e.Module=9]="Module",e[e.Property=10]="Property",e[e.Unit=11]="Unit",e[e.Value=12]="Value",e[e.Enum=13]="Enum",e[e.Keyword=14]="Keyw Line truncated
${e.value}
\`\`\``}}var Pt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{signatureHelp:{dynamicRegistration:!0,contextSupport:!0,signatureInformation:{documentationFormat:[E.Markdown,E.PlainText],parameterInformation:{labelOffsetSupport:!0},activeParameterSupport:!0}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentSignatureHelp,!0,t=>s.languages.registerSignatureHelpProvider(_(t.documentSelector),new Ht(this._connection,t))))}},Ht=class{signatureHelpTriggerCharacters;signatureHelpRetriggerCharacters;constructor(e,t){this._client=e,this._capabilities=t,this.signatureHelpTriggerCharacters=t.triggerCharacters,this.signatureHelpRetriggerCharacters=t.retriggerCharacters}async provideSignatureHelp(e,t,n,r){const i=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentSignatureHelp({textDocument:i.textDocument,position:i.position,context:{triggerKind:wt(r.triggerKind),triggerCharacter:r.triggerCharacter,isRetrigger:r.isRetrigger}});return o?{value:{signatures:o.signatures.map(a=>({label:a.label,documentation:de(a.documentation),parameters:a.parameters?.map(l=>({label:l.label,documentation:de(l.documentation)}))||[],activeParameter:a.activeParameter})),activeSignature:o.activeSignature||0,activeParameter:o.activeParameter||0},dispose:()=>{}}:null}};function de(e){if(e)return typeof e=="string"?e:{value:e.value}}var Lt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{definition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentDefinition,!0,t=>s.languages.registerDefinitionProvider(_(t.documentSelector),new It(this._connection,t))))}},It=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDefinition(e,t,n){const r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDefinition({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(o=>b(o,this._client)):b(i,this._client):null}},Ot=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{declaration:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentDeclaration,!0,t=>s.languages.registerDeclarationProvider(_(t.documentSelector),new At(this._connection,t))))}},At=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDeclaration(e,t,n){const r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDeclaration({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(o=>b(o,this._client)):b(i,this._client):null}},Nt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{typeDefinition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentTypeDefinition,!0,t=>s.languages.registerTypeDefinitionProvider(_(t.documentSelector),new Wt(this._connection,t))))}},Wt=class{constructor(e,t){this._client=e,this._capabilities=t}async provideTypeDefinition(e,t,n){const r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentTypeDefinition({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(o=>b(o,this._client)):b(i,this._client):null}},zt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{implementation:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentImplementation,!0,t=>s.languages.registerImplementationProvider(_(t.documentSelector),new qt(this._connection,t))))}},qt=class{constructor(e,t){this._client=e,this._capabilities=t}async provideImplementation(e,t,n){const r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentImplementation({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(o=>b(o,this._client)):b(i,this._client):null}},Bt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{references:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(u.textDocumentReferences,!0,t=>s.languages.registerReferenceProvider(_(t.documentSelector),new jt(this._connection,t))))}},jt=class{constructor(e,t){this._client=e,this._capabilities=t}async provideReferences(e,t,n,r){const i=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentReferences({textDocument:i.textDocument,positionLine truncated
@@ -0,0 +1 @@
define("vs/index",["exports","./index-CBVt3dzv","./basic-languages/monaco.contribution","./monaco.contribution-9cKT3C7t","./monaco.contribution-BgRy6xDf","./monaco.contribution-BPhsneLd","./monaco.contribution-BE88ZNGY","./toggleHighContrast-qGX7E9o7","./editor-KLE6jdfb"],(function(n,e,t,a,c,o,g,l,i){"use strict";n.lsp=e.index,n.css=a.register,n.html=c.register,n.json=o.register,n.typescript=g.register,n.CancellationTokenSource=i.CancellationTokenSource,n.Emitter=i.Emitter,n.KeyCode=i.KeyCode,n.KeyMod=i.KeyMod,n.MarkerSeverity=i.MarkerSeverity,n.MarkerTag=i.MarkerTag,n.Position=i.Position,n.Range=i.Range,n.Selection=i.Selection,n.SelectionDirection=i.SelectionDirection,n.Token=i.Token,n.Uri=i.Uri,n.editor=i.editor,n.languages=i.languages,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/ini-CsNwO04R",["exports"],(function(e){"use strict";const n={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},s={defaultToken:"",tokenPostfix:".ini",escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^\[[^\]]*\]/,"metatag"],[/(^\w+)(\s*)(\=)/,["key","","delimiter"]],{include:"@whitespace"},[/\d+/,"number"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],whitespace:[[/[ \t\r\n]+/,""],[/^\s*[#;].*$/,"comment"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}};e.conf=n,e.language=s,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/initialize-DL0l1TGY",["exports","./editorWorkerHost-fVE1cjcC"],(function(i,n){"use strict";let s=!1;function u(t){if(s)throw new Error("WebWorker already initialized!");s=!0;const r=new n.WebWorkerServer(e=>globalThis.postMessage(e),e=>t(e));return globalThis.onmessage=e=>{r.onmessage(e.data)},r}function a(t){let r;const e=u(c=>{const g=n.EditorWorkerHost.getChannel(c),h={host:new Proxy({},{get(z,o,k){if(o!=="then"){if(typeof o!="string")throw new Error("Not supported");return(...W)=>g.$fhr(o,W)}}}),getMirrorModels:()=>e.requestHandler.getModels()};return r=t(h),new n.EditorWorker(r)});return r}let l=!1;function d(){return l}function f(t){l=!0,self.onmessage=r=>{a(e=>t(e,r.data))}}i.initialize=f,i.isWorkerInitialized=d,i.start=a}));
@@ -0,0 +1 @@
define("vs/java-CI4ZMsH9",["exports"],(function(e){"use strict";const t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}},n={defaultToken:"",tokenPostfix:".java",keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false","yield","record","sealed","non-sealed","permits"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[["non-sealed","keyword.non-sealed"],[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string","@multistring"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],multistring:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"""/,"string","@pop"],[/./,"string"]]}};e.conf=t,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/javascript-DTJl4Jn1",["exports","./typescript-_2t_511t"],(function(a,e){"use strict";const n=e.conf,g={defaultToken:"invalid",tokenPostfix:".js",keywords:["break","case","catch","class","continue","const","constructor","debugger","default","delete","do","else","export","extends","false","finally","for","from","function","get","if","import","in","instanceof","let","new","null","return","set","static","super","switch","symbol","this","throw","true","try","typeof","undefined","var","void","while","with","yield","async","await","of"],typeKeywords:[],operators:e.language.operators,symbols:e.language.symbols,escapes:e.language.escapes,digits:e.language.digits,octaldigits:e.language.octaldigits,binarydigits:e.language.binarydigits,hexdigits:e.language.hexdigits,regexpctl:e.language.regexpctl,regexpesc:e.language.regexpesc,tokenizer:e.language.tokenizer};a.conf=n,a.language=g,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/json.worker-BizpAl9O", ["require", "exports"], (function(require, r){"use strict";const e=""+new URL(require.toUrl("./assets/json.worker-CoJx_OPf.js"),document.baseURI).href;r.__worker_url_0__=e}));
@@ -0,0 +1 @@
define("vs/jsonMode-DLUiMUrI",["exports","./json.worker-BizpAl9O","./workers-BBttULjf","./lspLanguageFeatures-BIkJOWLw","./main-BEx-Fmlo","./editor-KLE6jdfb"],(function(o,S,P,n,R,l){"use strict";class E{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=P.createWebWorker({moduleId:"vs/language/json/jsonWorker",createWorker:()=>new Worker(S.__worker_url_0__,{type:"module"}),label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId,enableSchemaRequest:this._defaults.diagnosticsOptions.enableSchemaRequest}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(a=>{t=a}).then(a=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(a=>t)}}function v(s){return{getInitialState:()=>new g(null,null,!1,null),tokenize:(e,t)=>K(s,e,t)}}const w="delimiter.bracket.json",A="delimiter.array.json",O="delimiter.colon.json",b="delimiter.comma.json",I="keyword.json",T="keyword.json",W="string.value.json",N="number.json",y="string.key.json",M="comment.block.json",j="comment.line.json";class m{constructor(e,t){this.parent=e,this.type=t}static pop(e){return e?e.parent:null}static push(e,t){return new m(e,t)}static equals(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;for(;e&&t;){if(e===t)return!0;if(e.type!==t.type)return!1;e=e.parent,t=t.parent}return!0}}class g{constructor(e,t,a,c){this._state=e,this.scanError=t,this.lastWasColon=a,this.parents=c}clone(){return new g(this._state,this.scanError,this.lastWasColon,this.parents)}equals(e){return e===this?!0:!e||!(e instanceof g)?!1:this.scanError===e.scanError&&this.lastWasColon===e.lastWasColon&&m.equals(this.parents,e.parents)}getStateData(){return this._state}setStateData(e){this._state=e}}function K(s,e,t,a=0){let c=0,_=!1;switch(t.scanError){case 2:e='"'+e,c=1;break;case 1:e="/*"+e,c=2;break}const i=R.createScanner(e);let r=t.lastWasColon,u=t.parents;const f={tokens:[],endState:t.clone()};for(;;){let k=a+i.getPosition(),d="";const p=i.scan();if(p===17)break;if(k===a+i.getPosition())throw new Error("Scanner did not advance, next 3 characters are: "+e.substr(i.getPosition(),3));switch(_&&(k-=c),_=c>0,p){case 1:u=m.push(u,0),d=w,r=!1;break;case 2:u=m.pop(u),d=w,r=!1;break;case 3:u=m.push(u,1),d=A,r=!1;break;case 4:u=m.pop(u),d=A,r=!1;break;case 6:d=O,r=!0;break;case 5:d=b,r=!1;break;case 8:case 9:d=I,r=!1;break;case 7:d=T,r=!1;break;case 10:const V=(u?u.type:0)===1;d=r||V?W:y,r=!1;break;case 11:d=N,r=!1;break}switch(p){case 12:d=j;break;case 13:d=M;break}f.endState=new g(t.getStateData(),i.getTokenError(),r,u),f.tokens.push({startIndex:k,scopes:d})}return f}let h;function U(){return new Promise((s,e)=>{if(!h)return e("JSON not registered!");s(h)})}class H extends n.DiagnosticsAdapter{constructor(e,t,a){super(e,t,a.onDidChange),this._disposables.push(l.editor.onWillDisposeModel(c=>{this._resetSchema(c.uri)})),this._disposables.push(l.editor.onDidChangeModelLanguage(c=>{this._resetSchema(c.model.uri)}))}_resetSchema(e){this._worker().then(t=>{t.resetSchema(e.toString())})}}function q(s){const e=[],t=[],a=new E(s);e.push(a),h=(...i)=>a.getLanguageServiceWorker(...i);function c(){const{languageId:i,modeConfiguration:r}=s;D(t),r.documentFormattingEdits&&t.push(l.languages.registerDocumentFormattingEditProvider(i,new n.DocumentFormattingEditProvider(h))),r.documentRangeFormattingEdits&&t.push(l.languages.registerDocumentRangeFormattingEditProvider(i,new n.DocumentRangeFormattingEditProvider(h))),r.completionItems&&t.push(l.languages.registerCompletionItemProvider(i,new n.CompletionAdapter(h,[" ",":",'"']))),r.hovers&&t.push(l.languages.registerHoverProvider(i,new n.HoverAdapter(h))),r.documentSymbols&&t.push(l.languages.registerDocumentSymbolProvider(i,new n.DocumentSymbolAdapter(h))),r.tokens&&t.push(l.languages.setTokensProvider(i,v(!0))),r.colors&&t.push(l.languages.registerColorProvider(i,new n.DocumentColorAdapter(h))),r.foldingRanges&&t.push(l.languages.registerFoldingRangeProvider(i,new n.FoldingRangeAdapter(h))),r.diagnostics&&t.push(new H(i,h,s)),r.selectionRanges&&t.push(l.languages.registerSelectionRangeProvider(i,new n.SelectionRangeAdapter(h)))}c(),e.push(l.languages.setLanguageConfiguration(s.languageId,B));let _=s.modeConfiguration;return s.onDidChange(i=>{i.modeConfiguration!==_&&(_=i.modeConfiguration,c())}),e.push(C(t)),C(e)}function C(s){return{dispose:()=>D(s)}}function D(Line truncated
@@ -0,0 +1 @@
define("vs/julia-BwzEvaQw",["exports"],(function(e){"use strict";const t={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},r={tokenPostfix:".julia",keywords:["begin","while","if","for","try","return","break","continue","function","macro","quote","let","local","global","const","do","struct","module","baremodule","using","import","export","end","else","elseif","catch","finally","mutable","primitive","abstract","type","in","isa","where","new"],types:["LinRange","LineNumberNode","LinearIndices","LoadError","MIME","Matrix","Method","MethodError","Missing","MissingException","Module","NTuple","NamedTuple","Nothing","Number","OrdinalRange","OutOfMemoryError","OverflowError","Pair","PartialQuickSort","PermutedDimsArray","Pipe","Ptr","QuoteNode","Rational","RawFD","ReadOnlyMemoryError","Real","ReentrantLock","Ref","Regex","RegexMatch","RoundingMode","SegmentationFault","Set","Signed","Some","StackOverflowError","StepRange","StepRangeLen","StridedArray","StridedMatrix","StridedVecOrMat","StridedVector","String","StringIndexError","SubArray","SubString","SubstitutionString","Symbol","SystemError","Task","Text","TextDisplay","Timer","Tuple","Type","TypeError","TypeVar","UInt","UInt128","UInt16","UInt32","UInt64","UInt8","UndefInitializer","AbstractArray","UndefKeywordError","AbstractChannel","UndefRefError","AbstractChar","UndefVarError","AbstractDict","Union","AbstractDisplay","UnionAll","AbstractFloat","UnitRange","AbstractIrrational","Unsigned","AbstractMatrix","AbstractRange","Val","AbstractSet","Vararg","AbstractString","VecElement","AbstractUnitRange","VecOrMat","AbstractVecOrMat","Vector","AbstractVector","VersionNumber","Any","WeakKeyDict","ArgumentError","WeakRef","Array","AssertionError","BigFloat","BigInt","BitArray","BitMatrix","BitSet","BitVector","Bool","BoundsError","CapturedException","CartesianIndex","CartesianIndices","Cchar","Cdouble","Cfloat","Channel","Char","Cint","Cintmax_t","Clong","Clonglong","Cmd","Colon","Complex","ComplexF16","ComplexF32","ComplexF64","CompositeException","Condition","Cptrdiff_t","Cshort","Csize_t","Cssize_t","Cstring","Cuchar","Cuint","Cuintmax_t","Culong","Culonglong","Cushort","Cvoid","Cwchar_t","Cwstring","DataType","DenseArray","DenseMatrix","DenseVecOrMat","DenseVector","Dict","DimensionMismatch","Dims","DivideError","DomainError","EOFError","Enum","ErrorException","Exception","ExponentialBackOff","Expr","Float16","Float32","Float64","Function","GlobalRef","HTML","IO","IOBuffer","IOContext","IOStream","IdDict","IndexCartesian","IndexLinear","IndexStyle","InexactError","InitError","Int","Int128","Int16","Int32","Int64","Int8","Integer","InterruptException","InvalidStateException","Irrational","KeyError"],keywordops:["<:",">:",":","=>","...",".","->","?"],allops:/[^\w\d\s()\[\]{}"'#]+/,constants:["true","false","nothing","missing","undef","Inf","pi","NaN","π","ℯ","ans","PROGRAM_FILE","ARGS","C_NULL","VERSION","DEPOT_PATH","LOAD_PATH"],operators:["!","!=","!==","%","&","*","+","-","/","//","<","<<","<=","==","===","=>",">",">=",">>",">>>","\\","^","|","|>","~","÷","∈","∉","∋","∌","∘","√","∛","∩","∪","≈","≉","≠","≡","≢","≤","≥","⊆","⊇","⊈","⊉","⊊","⊋","⊻"],brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],ident:/π|ℯ|\b(?!\d)\w+\b/,escape:/(?:[abefnrstv\\"'\n\r]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{4})/,escapes:/\\(?:C\-(@escape|.)|c(@escape|.)|@escape)/,tokenizer:{root:[[/(::)\s*|\b(isa)\s+/,"keyword","@typeanno"],[/\b(isa)(\s*\(@ident\s*,\s*)/,["keyword",{token:"",next:"@typeanno"}]],[/\b(type|struct)[ \t]+/,"keyword","@typeanno"],[/^\s*:@ident[!?]?/,"metatag"],[/(return)(\s*:@ident[!?]?)/,["keyword","metatag"]],[/(\(|\[|\{|@allops)(\s*:@ident[!?]?)/,["","metatag"]],[/:\(/,"metatag","@quote"],[/r"""/,"regexp.delim","@tregexp"],[/r"/,"regexp.delim","@sregexp"],[/raw"""/,"string.delim","@rtstring"],[/[bv]?"""/,"string.delim","@dtstring"],[/raw"/,"string.delim","@rsstring"],[/[bv]?"/,"string.delim","@dsstring"],[/(@ident)\{/,{cases:{"$1@types":{token:"type",next:"@gen"},"@default":{token:"type",next:"@gen"}}}],[/@ident[!?'']?(?=\.?\()/,{cases:{"@types":"type","@keywords":"keyword","@constants":"variable","@default":"keyword.flow"}}],[/@ident[!?']?/,{cases:{"@types":"type","@keywords":"keyword","@constants":"variable","@default":"identifier"}}],[/\$\w+/,"key"],[/\$\(/,"key","@paste"],[/@@@ident/,"annotation"],{include:"@whitespace"},[/'(?:@escapes|.)'/,"string.character"],[/[()\[\]{}]/,"@brackets"],[/@allops/,{cases:{"@keywordops":"keyword","@operators":"operator"}}],[/[;,]/,"delimiter"],[/0[xX][0-9a-fA-F](_?[0-9a-fA-F])*/,"number.hex"],[/0[_oO][0-7](_?[0-7])*/,"number.octal"],[/0Line truncated
@@ -0,0 +1 @@
define("vs/kotlin-IUYPiTV8",["exports"],(function(e){"use strict";const n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}},t={defaultToken:"",tokenPostfix:".kt",keywords:["as","as?","break","class","continue","do","else","false","for","fun","if","in","!in","interface","is","!is","null","object","package","return","super","this","throw","true","try","typealias","val","var","when","while","by","catch","constructor","delegate","dynamic","field","file","finally","get","import","init","param","property","receiver","set","setparam","where","actual","abstract","annotation","companion","const","crossinline","data","enum","expect","external","final","infix","inline","inner","internal","lateinit","noinline","open","operator","out","override","private","protected","public","reified","sealed","suspend","tailrec","vararg","field","it"],operators:["+","-","*","/","%","=","+=","-=","*=","/=","%=","++","--","&&","||","!","==","!=","===","!==",">","<","<=",">=","[","]","!!","?.","?:","::","..",":","?","->","@",";","$","_"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[A-Z][\w\$]*/,"type.identifier"],[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fF]?/,"number.float"],[/(@digits)?\.(@digits)([eE][\-+]?(@digits))?[fF]?/,"number.float"],[/0[xX](@hexdigits)[uU]?L?/,"number.hex"],[/0[bB](@binarydigits)[uU]?L?/,"number.binary"],[/(@digits)[fF]/,"number.float"],[/(@digits)[uU]?L?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string","@multistring"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc","@push"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],multistring:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"""/,"string","@pop"],[/./,"string"]]}};e.conf=n,e.language=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1,66 @@
define("vs/language/css/css.worker",["../../initialize-DL0l1TGY","../../index-049xrXrp","../../main-DsK8pnKg"],(function(Sr,d,f){"use strict";var o;(function(r){r[r.Ident=0]="Ident",r[r.AtKeyword=1]="AtKeyword",r[r.String=2]="String",r[r.BadString=3]="BadString",r[r.UnquotedString=4]="UnquotedString",r[r.Hash=5]="Hash",r[r.Num=6]="Num",r[r.Percentage=7]="Percentage",r[r.Dimension=8]="Dimension",r[r.UnicodeRange=9]="UnicodeRange",r[r.CDO=10]="CDO",r[r.CDC=11]="CDC",r[r.Colon=12]="Colon",r[r.SemiColon=13]="SemiColon",r[r.CurlyL=14]="CurlyL",r[r.CurlyR=15]="CurlyR",r[r.ParenthesisL=16]="ParenthesisL",r[r.ParenthesisR=17]="ParenthesisR",r[r.BracketL=18]="BracketL",r[r.BracketR=19]="BracketR",r[r.Whitespace=20]="Whitespace",r[r.Includes=21]="Includes",r[r.Dashmatch=22]="Dashmatch",r[r.SubstringOperator=23]="SubstringOperator",r[r.PrefixOperator=24]="PrefixOperator",r[r.SuffixOperator=25]="SuffixOperator",r[r.Delim=26]="Delim",r[r.EMS=27]="EMS",r[r.EXS=28]="EXS",r[r.Length=29]="Length",r[r.Angle=30]="Angle",r[r.Time=31]="Time",r[r.Freq=32]="Freq",r[r.Exclamation=33]="Exclamation",r[r.Resolution=34]="Resolution",r[r.Comma=35]="Comma",r[r.Charset=36]="Charset",r[r.EscapedJavaScript=37]="EscapedJavaScript",r[r.BadEscapedJavaScript=38]="BadEscapedJavaScript",r[r.Comment=39]="Comment",r[r.SingleLineComment=40]="SingleLineComment",r[r.EOF=41]="EOF",r[r.ContainerQueryLength=42]="ContainerQueryLength",r[r.CustomToken=43]="CustomToken"})(o||(o={}));class Qt{constructor(e){this.source=e,this.len=e.length,this.position=0}substring(e,t=this.position){return this.source.substring(e,t)}eos(){return this.len<=this.position}pos(){return this.position}goBackTo(e){this.position=e}goBack(e){this.position-=e}advance(e){this.position+=e}nextChar(){return this.source.charCodeAt(this.position++)||0}peekChar(e=0){return this.source.charCodeAt(this.position+e)||0}lookbackChar(e=0){return this.source.charCodeAt(this.position-e)||0}advanceIfChar(e){return e===this.source.charCodeAt(this.position)?(this.position++,!0):!1}advanceIfChars(e){if(this.position+e.length>this.source.length)return!1;let t=0;for(;t<e.length;t++)if(this.source.charCodeAt(this.position+t)!==e[t])return!1;return this.advance(t),!0}advanceWhileChar(e){const t=this.position;for(;this.position<this.len&&e(this.source.charCodeAt(this.position));)this.position++;return this.position-t}}const Ae=97,Zt=102,en=122,Ne=65,tn=70,nn=90,ve=48,ye=57,xr=126,Cr=94,Se=61,kr=124,se=45,rn=95,Fr=37,rt=42,sn=40,on=41,Er=60,_r=62,Ir=64,Dr=35,zr=36,it=92,an=47,le=10,ce=13,xe=12,ln=34,cn=39,st=32,ot=9,Rr=59,Mr=58,Or=123,Pr=125,Tr=91,Ar=93,Nr=44,hn=46,dn=33,Wr=63,Lr=43,G={};G[Rr]=o.SemiColon,G[Mr]=o.Colon,G[Or]=o.CurlyL,G[Pr]=o.CurlyR,G[Ar]=o.BracketR,G[Tr]=o.BracketL,G[sn]=o.ParenthesisL,G[on]=o.ParenthesisR,G[Nr]=o.Comma;const F={};F.em=o.EMS,F.ex=o.EXS,F.px=o.Length,F.cm=o.Length,F.mm=o.Length,F.in=o.Length,F.pt=o.Length,F.pc=o.Length,F.deg=o.Angle,F.rad=o.Angle,F.grad=o.Angle,F.ms=o.Time,F.s=o.Time,F.hz=o.Freq,F.khz=o.Freq,F["%"]=o.Percentage,F.fr=o.Percentage,F.dpi=o.Resolution,F.dpcm=o.Resolution,F.cqw=o.ContainerQueryLength,F.cqh=o.ContainerQueryLength,F.cqi=o.ContainerQueryLength,F.cqb=o.ContainerQueryLength,F.cqmin=o.ContainerQueryLength,F.cqmax=o.ContainerQueryLength;class Ce{constructor(){this.stream=new Qt(""),this.ignoreComment=!0,this.ignoreWhitespace=!0,this.inURL=!1}setSource(e){this.stream=new Qt(e)}finishToken(e,t,n){return{offset:e,len:this.stream.pos()-e,type:t,text:n||this.stream.substring(e)}}substring(e,t){return this.stream.substring(e,e+t)}pos(){return this.stream.pos()}goBackTo(e){this.stream.goBackTo(e)}scanUnquotedString(){const e=this.stream.pos(),t=[];return this._unquotedString(t)?this.finishToken(e,o.UnquotedString,t.join("")):null}scan(){const e=this.trivia();if(e!==null)return e;const t=this.stream.pos();return this.stream.eos()?this.finishToken(t,o.EOF):this.scanNext(t)}tryScanUnicode(){const e=this.stream.pos();if(!this.stream.eos()&&this._unicodeRange())return this.finishToken(e,o.UnicodeRange);this.stream.goBackTo(e)}scanNext(e){if(this.stream.advanceIfChars([Er,dn,se,se]))return this.finishToken(e,o.CDO);if(this.stream.advanceIfChars([se,se,_r]))return this.finishToken(e,o.CDC);let t=[];if(this.ident(t))return this.finishToken(e,o.Ident,t.join(""));if(this.stream.advanceIfChar(Ir))if(t=["@"],this._name(t)){const i=t.join("");return i==="@charset"?this.finishToken(e,o.Charset,i):this.finishToken(e,o.AtKeyword,i)}else return this.finishToken(e,o.Delim);if(this.stream.advanceIfChar(Dr))return t=["#"],this._name(t)?this.finishToken(e,o.Hash,t.join("")):this.finishToken(e,o.Delim);if(this.stream.advanceIfChar(dn))return this.finishToken(e,o.Exclamation);if(this._number()){const i=this.stream.pos();if(t=[this.stream.substring(e,i)],this.stream.advanceIfChar(Fr))return this.finishToken(e,o.Percentage);if(this.ident(t)){const s=this.stream.substring(i).toLowerCase(),a=F[s];return typeof a<"u"?this.finishToken(e,a,t.join("")):this.finishToken(e,o.Dimension,t.joinLine truncated
`),!0}return!1}_escape(e,t){let n=this.stream.peekChar();if(n===it){this.stream.advance(1),n=this.stream.peekChar();let i=0;for(;i<6&&(n>=ve&&n<=ye||n>=Ae&&n<=Zt||n>=Ne&&n<=tn);)this.stream.advance(1),n=this.stream.peekChar(),i++;if(i>0){try{const s=parseInt(this.stream.substring(this.stream.pos()-i),16);s&&e.push(String.fromCharCode(s))}catch{}return n===st||n===ot?this.stream.advance(1):this._newline([]),!0}if(n!==ce&&n!==xe&&n!==le)return this.stream.advance(1),e.push(String.fromCharCode(n)),!0;if(t)return this._newline(e)}return!1}_stringChar(e,t){const n=this.stream.peekChar();return n!==0&&n!==e&&n!==it&&n!==ce&&n!==xe&&n!==le?(this.stream.advance(1),t.push(String.fromCharCode(n)),!0):!1}_string(e){if(this.stream.peekChar()===cn||this.stream.peekChar()===ln){const t=this.stream.nextChar();for(e.push(String.fromCharCode(t));this._stringChar(t,e)||this._escape(e,!0););return this.stream.peekChar()===t?(this.stream.nextChar(),e.push(String.fromCharCode(t)),o.String):o.BadString}return null}_unquotedChar(e){const t=this.stream.peekChar();return t!==0&&t!==it&&t!==cn&&t!==ln&&t!==sn&&t!==on&&t!==st&&t!==ot&&t!==le&&t!==xe&&t!==ce?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1}_unquotedString(e){let t=!1;for(;this._unquotedChar(e)||this._escape(e);)t=!0;return t}_whitespace(){return this.stream.advanceWhileChar(t=>t===st||t===ot||t===le||t===xe||t===ce)>0}_name(e){let t=!1;for(;this._identChar(e)||this._escape(e);)t=!0;return t}ident(e){const t=this.stream.pos();if(this._minus(e)){if(this._minus(e)||this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}}else if(this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}return this.stream.goBackTo(t),!1}_identFirstChar(e){const t=this.stream.peekChar();return t===rn||t>=Ae&&t<=en||t>=Ne&&t<=nn||t>=128&&t<=65535?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1}_minus(e){const t=this.stream.peekChar();return t===se?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1}_identChar(e){const t=this.stream.peekChar();return t===rn||t===se||t>=Ae&&t<=en||t>=Ne&&t<=nn||t>=ve&&t<=ye||t>=128&&t<=65535?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1}_unicodeRange(){if(this.stream.advanceIfChar(Lr)){const e=n=>n>=ve&&n<=ye||n>=Ae&&n<=Zt||n>=Ne&&n<=tn,t=this.stream.advanceWhileChar(e)+this.stream.advanceWhileChar(n=>n===Wr);if(t>=1&&t<=6)if(this.stream.advanceIfChar(se)){const n=this.stream.advanceWhileChar(e);if(n>=1&&n<=6)return!0}else return!0}return!1}}function I(r,e){if(r.length<e.length)return!1;for(let t=0;t<e.length;t++)if(r[t]!==e[t])return!1;return!0}function pn(r,e){let t=r.length-e.length;return t>0?r.lastIndexOf(e)===t:t===0?r===e:!1}function $r(r,e,t=4){let n=Math.abs(r.length-e.length);if(n>t)return 0;let i=[],s=[],a,c;for(a=0;a<e.length+1;++a)s.push(0);for(a=0;a<r.length+1;++a)i.push(s);for(a=1;a<r.length+1;++a)for(c=1;c<e.length+1;++c)r[a-1]===e[c-1]?i[a][c]=i[a-1][c-1]+1:i[a][c]=Math.max(i[a-1][c],i[a][c-1]);return i[r.length][e.length]-Math.sqrt(n)}function mn(r,e=!0){return r?r.length<140?r:r.slice(0,140)+(e?"…":""):""}function Ur(r,e){const t=e.exec(r);return t&&t[0].length?r.substr(0,r.length-t[0].length):r}function un(r,e){let t="";for(;e>0;)(e&1)===1&&(t+=r),r+=r,e=e>>>1;return t}var p;(function(r){r[r.Undefined=0]="Undefined",r[r.Identifier=1]="Identifier",r[r.Stylesheet=2]="Stylesheet",r[r.Ruleset=3]="Ruleset",r[r.Selector=4]="Selector",r[r.SimpleSelector=5]="SimpleSelector",r[r.SelectorInterpolation=6]="SelectorInterpolation",r[r.SelectorCombinator=7]="SelectorCombinator",r[r.SelectorCombinatorParent=8]="SelectorCombinatorParent",r[r.SelectorCombinatorSibling=9]="SelectorCombinatorSibling",r[r.SelectorCombinatorAllSiblings=10]="SelectorCombinatorAllSiblings",r[r.SelectorCombinatorShadowPiercingDescendant=11]="SelectorCombinatorShadowPiercingDescendant",r[r.Page=12]="Page",r[r.PageBoxMarginBox=13]="PageBoxMarginBox",r[r.ClassSelector=14]="ClassSelector",r[r.IdentifierSelector=15]="IdentifierSelector",r[r.ElementNameSelector=16]="ElementNameSelector",r[r.PseudoSelector=17]="PseudoSelector",r[r.AttributeSelector=18]="AttributeSelector",r[r.Declaration=19]="Declaration",r[r.Declarations=20]="Declarations",r[r.Property=21]="Property",r[r.Expression=22]="Expression",r[r.BinaryExpression=23]="BinaryExpression",r[r.Term=24]="Term",r[r.Operator=25]="Operator",r[r.Value=26]="Value",r[r.StringLiteral=27]="StringLiteral",r[r.URILiteral=28]="URILiteral",r[r.EscapedValue=29]="EscapedValue",r[r.Function=30]="Function",r[r.NumericValue=31]="NumericValue",r[r.HexColorValue=32]="HexColorValue",r[r.RatioValue=33]="RatioValue",r[r.MixinDeclaration=34]="MixinDeclaration",r[r.MixinReference=35]="MixinReference",r[r.VariableName=36]="VariableName",r[r.VariableDeclaration=37]="VariableDeclaration",r[r.Prio=38]="Prio",r[r.Interpolation=39]="Interpolation",r[r.NestedProperties=40]="NestedProperties",r[r.ExtendsReference=41]="ExtendsReference",r[ Line truncated
`;case"nonstandard":return`🚨️ Property is nonstandard. Avoid using it.
`;case"obsolete":return`🚨️️️ Property is obsolete. Avoid using it.
`;default:return""}}function ne(r,e,t){let n;if(e?n={kind:"markdown",value:Fi(r,t)}:n={kind:"plaintext",value:ki(r,t)},n.value!=="")return n}function Ve(r){return r=r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&"),r.replace(/</g,"&lt;").replace(/>/g,"&gt;")}function ki(r,e){if(!r.description||r.description==="")return"";if(typeof r.description!="string")return r.description.value;let t="";if(e?.documentation!==!1){r.status&&(t+=_n(r.status)),t+=r.description;const n=In(r.browsers);n&&(t+=`
(`+n+")"),"syntax"in r&&(t+=`
Syntax: ${r.syntax}`)}return r.references&&r.references.length>0&&e?.references!==!1&&(t.length>0&&(t+=`
`),t+=r.references.map(n=>`${n.name}: ${n.url}`).join(" | ")),t}function Fi(r,e){if(!r.description||r.description==="")return"";let t="";if(e?.documentation!==!1){r.status&&(t+=_n(r.status)),typeof r.description=="string"?t+=Ve(r.description):t+=r.description.kind===f.MarkupKind.Markdown?r.description.value:Ve(r.description.value);const n=In(r.browsers);n&&(t+=`
(`+Ve(n)+")"),"syntax"in r&&r.syntax&&(t+=`
Syntax: ${Ve(r.syntax)}`)}return r.references&&r.references.length>0&&e?.references!==!1&&(t.length>0&&(t+=`
`),t+=r.references.map(n=>`[${n.name}](${n.url})`).join(" | ")),t}function In(r=[]){return r.length===0?null:r.map(e=>{let t="";const n=e.match(/([A-Z]+)(\d+)?/),i=n[1],s=n[2];return i in En&&(t+=En[i]),s&&(t+=" "+s),t}).join(", ")}const Ei=/(^#([0-9A-F]{3}){1,2}$)|(^#([0-9A-F]{4}){1,2}$)/i,_i=[{label:"rgb",func:"rgb($red, $green, $blue)",insertText:"rgb(${1:red}, ${2:green}, ${3:blue})",desc:d.t("Creates a Color from red, green, and blue values.")},{label:"rgba",func:"rgba($red, $green, $blue, $alpha)",insertText:"rgba(${1:red}, ${2:green}, ${3:blue}, ${4:alpha})",desc:d.t("Creates a Color from red, green, blue, and alpha values.")},{label:"rgb relative",func:"rgb(from $color $red $green $blue)",insertText:"rgb(from ${1:color} ${2:r} ${3:g} ${4:b})",desc:d.t("Creates a Color from the red, green, and blue values of another Color.")},{label:"hsl",func:"hsl($hue, $saturation, $lightness)",insertText:"hsl(${1:hue}, ${2:saturation}, ${3:lightness})",desc:d.t("Creates a Color from hue, saturation, and lightness values.")},{label:"hsla",func:"hsla($hue, $saturation, $lightness, $alpha)",insertText:"hsla(${1:hue}, ${2:saturation}, ${3:lightness}, ${4:alpha})",desc:d.t("Creates a Color from hue, saturation, lightness, and alpha values.")},{label:"hsl relative",func:"hsl(from $color $hue $saturation $lightness)",insertText:"hsl(from ${1:color} ${2:h} ${3:s} ${4:l})",desc:d.t("Creates a Color from the hue, saturation, and lightness values of another Color.")},{label:"hwb",func:"hwb($hue $white $black)",insertText:"hwb(${1:hue} ${2:white} ${3:black})",desc:d.t("Creates a Color from hue, white, and black values.")},{label:"hwb relative",func:"hwb(from $color $hue $white $black)",insertText:"hwb(from ${1:color} ${2:h} ${3:w} ${4:b})",desc:d.t("Creates a Color from the hue, white, and black values of another Color.")},{label:"lab",func:"lab($lightness $a $b)",insertText:"lab(${1:lightness} ${2:a} ${3:b})",desc:d.t("Creates a Color from lightness, a, and b values.")},{label:"lab relative",func:"lab(from $color $lightness $a $b)",insertText:"lab(from ${1:color} ${2:l} ${3:a} ${4:b})",desc:d.t("Creates a Color from the lightness, a, and b values of another Color.")},{label:"oklab",func:"oklab($lightness $a $b)",insertText:"oklab(${1:lightness} ${2:a} ${3:b})",desc:d.t("Creates a Color from lightness, a, and b values.")},{label:"oklab relative",func:"oklab(from $color $lightness $a $b)",insertText:"oklab(from ${1:color} ${2:l} ${3:a} ${4:b})",desc:d.t("Creates a Color from the lightness, a, and b values of another Color.")},{label:"lch",func:"lch($lightness $chroma $hue)",insertText:"lch(${1:lightness} ${2:chroma} ${3:hue})",desc:d.t("Creates a Color from lightness, chroma, and hue values.")},{label:"lch relative",func:"lch(from $color $lightness $chroma $hue)",insertText:"lch(from ${1:color} ${2:l} ${3:c} ${4:h})",desc:d.t("Creates a Color from the lightness, chroma, and hue values of another Color.")},{label:"oklch",func:"oklch($lightness $chroma $hue)",insertText:"oklch(${1:lightness} ${2:chroma} ${3:hue})",desc:d.t("Creates a Color from lightness, chroma, and hue values.")},{label:"oklch relative",func:"oklch(from $color $lightness $chroma $hue)",insertText:"oklch(from ${1:color} ${2:l} ${3:c} ${4:h})",desc:d.t("Creates a Color from the lightness, chroma, and hue values of another Color.")},{label:"color",func:"color($color-space $red $green $blue)",insertText:"color(${1|srgb,srgb-linear,display-p3,a98-rgb,prophoto-rgb,rec2020,xyx,xyz-d50,xyz-d65|} ${2:red} ${3:green} ${4:blue})",desc:d.t("Creates a Color in a specific color space from red, green, and blue values.")},{label:"color relative",func:"color(from $color $color-space $red $green $blue)",insertText:"color(from ${1:color} ${2|srgb,srgb-linear,display-p3,a98-rgb,prophoto-rgb,rec2020,xyx,xyz-d50,xyz-d65|} ${3:r} ${4:g} ${5:b})",desc:d.t("Creates a Color in a specific color space from the red, green, and blue values of another Color.")},{label:"color-mix",func:"color-mix(in $color-space, $color $percentage, $color $percentage)",insertText:"color-mix(in ${1|srgb,srgb-linear,lab,oklab,xyz,xyz-d50,xyz-d65|}, ${3:color} ${4:percentage}, ${5:color} ${6:percentage})",desc:d.t("Mix two colors together in a rectangular color space.")},{label:"color-mix hue",func:"color-mix(in $color-space $interpolation-method hue, $color $percentage, $color $percentage)",insertText:"color-mix(in ${1|hsl,hwb,lch,oklch|} ${2|shorter hue,longer hue,increasing hue,decreasing hue|}, ${3:color} ${4:percentage}, ${5:color} ${6:percentage})",desc:d.t("Mix two colors together in a polar color space.")}],Ii=/^(rgb|rgba|hsl|hsla|hwb)$/i,Be={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",cri Line truncated
\r":{[()]},*>+`.indexOf(n.charAt(t))===-1;)t--;return n.substring(t+1,e)}let _t=class Xt{constructor(){this.parent=null,this.children=null,this.attributes=null}findAttribute(e){if(this.attributes){for(const t of this.attributes)if(t.name===e)return t.value}return null}addChild(e){e instanceof Xt&&(e.parent=this),this.children||(this.children=[]),this.children.push(e)}append(e){if(this.attributes){const t=this.attributes[this.attributes.length-1];t.value=t.value+e}}prepend(e){if(this.attributes){const t=this.attributes[0];t.value=e+t.value}}findRoot(){let e=this;for(;e.parent&&!(e.parent instanceof ue);)e=e.parent;return e}removeChild(e){if(this.children){const t=this.children.indexOf(e);if(t!==-1)return this.children.splice(t,1),!0}return!1}addAttr(e,t){this.attributes||(this.attributes=[]);for(const n of this.attributes)if(n.name===e){n.value+=" "+t;return}this.attributes.push({name:e,value:t})}clone(e=!0){const t=new Xt;if(this.attributes){t.attributes=[];for(const n of this.attributes)t.addAttr(n.name,n.value)}if(e&&this.children){t.children=[];for(let n=0;n<this.children.length;n++)t.addChild(this.children[n].clone())}return t}cloneWithParent(){const e=this.clone(!1);return this.parent&&!(this.parent instanceof ue)&&this.parent.cloneWithParent().addChild(e),e}};class ue extends _t{}class It extends _t{constructor(e){super(),this.addAttr("name",e)}}class Jn{constructor(e){this.quote=e,this.result=[]}print(e,t){this.result=[],e instanceof ue?e.children&&this.doPrint(e.children,0):this.doPrint([e],0);let n;return t?n=`${t.text}
… `+this.result.join(`
`):n=this.result.join(`
`),[{language:"html",value:n}]}doPrint(e,t){for(const n of e)this.doPrintElement(n,t),n.children&&this.doPrint(n.children,t+1)}writeLine(e,t){const n=new Array(e+1).join(" ");this.result.push(n+t)}doPrintElement(e,t){const n=e.findAttribute("name");if(e instanceof It||n==="…"){this.writeLine(t,n);return}const i=["<"];if(n?i.push(n):i.push("element"),e.attributes){for(const s of e.attributes)if(s.name!=="name"){i.push(" "),i.push(s.name);const a=s.value;a&&(i.push("="),i.push(Y.ensure(a,this.quote)))}}i.push(">"),this.writeLine(t,i.join(""))}}var Y;(function(r){function e(n,i){return i+t(n)+i}r.ensure=e;function t(n){const i=n.match(/^['"](.*)["']$/);return i?i[1]:n}r.remove=t})(Y||(Y={}));class Dt{constructor(){this.id=0,this.attr=0,this.tag=0}}function Yn(r,e){let t=new _t;for(const n of r.getChildren())switch(n.type){case p.SelectorCombinator:if(e){const c=n.getText().split("&");if(c.length===1){t.addAttr("name",c[0]);break}t=e.cloneWithParent(),c[0]&&t.findRoot().prepend(c[0]);for(let l=1;l<c.length;l++){if(l>1){const h=e.cloneWithParent();t.addChild(h.findRoot()),t=h}t.append(c[l])}}break;case p.SelectorPlaceholder:if(n.matches("@at-root"))return t;case p.ElementNameSelector:const i=n.getText();t.addAttr("name",i==="*"?"element":K(i));break;case p.ClassSelector:t.addAttr("class",K(n.getText().substring(1)));break;case p.IdentifierSelector:t.addAttr("id",K(n.getText().substring(1)));break;case p.MixinDeclaration:t.addAttr("class",n.getName());break;case p.PseudoSelector:t.addAttr(K(n.getText()),"");break;case p.AttributeSelector:const s=n,a=s.getIdentifier();if(a){const c=s.getValue(),l=s.getOperator();let h;if(c&&l)switch(K(l.getText())){case"|=":h=`${Y.remove(K(c.getText()))}-…`;break;case"^=":h=`${Y.remove(K(c.getText()))}…`;break;case"$=":h=`…${Y.remove(K(c.getText()))}`;break;case"~=":h=` … ${Y.remove(K(c.getText()))} … `;break;case"*=":h=`…${Y.remove(K(c.getText()))}…`;break;default:h=Y.remove(K(c.getText()));break}t.addAttr(K(a.getText()),h)}break}return t}function K(r){const e=new Ce;e.setSource(r);const t=e.scanUnquotedString();return t?t.text:r}class es{constructor(e){this.cssDataManager=e}selectorToMarkedString(e,t){const n=rs(e);if(n){const i=new Jn('"').print(n,t);return i.push(this.selectorToSpecificityMarkedString(e)),i}else return[]}simpleSelectorToMarkedString(e){const t=Yn(e),n=new Jn('"').print(t);return n.push(this.selectorToSpecificityMarkedString(e)),n}isPseudoElementIdentifier(e){const t=e.match(/^::?([\w-]+)/);return t?!!this.cssDataManager.getPseudoElement("::"+t[1]):!1}selectorToSpecificityMarkedString(e){const t=s=>{const a=new Dt;let c=new Dt;for(const l of s)for(const h of l.getChildren()){const m=n(h);if(m.id>c.id){c=m;continue}else if(m.id<c.id)continue;if(m.attr>c.attr){c=m;continue}else if(m.attr<c.attr)continue;if(m.tag>c.tag){c=m;continue}}return a.id+=c.id,a.attr+=c.attr,a.tag+=c.tag,a},n=s=>{const a=new Dt;e:for(const c of s.getChildren()){switch(c.type){case p.IdentifierSelector:a.id++;break;case p.ClassSelector:case p.AttributeSelector:a.attr++;break;case p.ElementNameSelector:if(c.matches("*"))break;a.tag++;break;case p.PseudoSelector:const l=c.getText(),h=c.getChildren();if(this.isPseudoElementIdentifier(l)){if(l.match(/^::slotted/i)&&h.length>0){a.tag++;let m=t(h);a.id+=m.id,a.attr+=m.attr,a.tag+=m.tag;continue e}a.tag++;continue e}if(l.match(/^:where/i))continue e;if(l.match(/^:(?:not|has|is)/i)&&h.length>0){let m=t(h);a.id+=m.id,a.attr+=m.attr,a.tag+=m.tag;continue e}if(l.match(/^:(?:host|host-context)/i)&&h.length>0){a.attr++;let m=t(h);a.id+=m.id,a.attr+=m.attr,a.tag+=m.tag;continue e}if(l.match(/^:(?:nth-child|nth-last-child)/i)&&h.length>0){if(a.attr++,h.length===3&&h[1].type===23){let y=t(h[2].getChildren());a.id+=y.id,a.attr+=y.attr,a.tag+=y.tag;continue e}const m=new qe,g=h[1].getText();m.scanner.setSource(g);const w=m.scanner.scan(),v=m.scanner.scan();if(w.text==="n"||w.text==="-n"&&v.text==="of"){const y=[],q=g.slice(v.offset+2).split(",");for(const D of q){const C=m.internalParse(D,m._parseSelector);C&&y.push(C)}let M=t(y);a.id+=M.id,a.attr+=M.attr,a.tag+=M.tag;continue e}continue e}a.attr++;continue e}if(c.getChildren().length>0){const l=n(c);a.id+=l.id,a.attr+=l.attr,a.tag+=l.tag}}return a},i=n(e);return`[${d.t("Selector Specificity")}](https://developer.mozilla.org/docs/Web/CSS/Specificity): (${i.id}, ${i.attr}, ${i.tag})`}}class ts{constructor(e){this.prev=null,this.element=e}processSelector(e){let t=null;if(!(this.element instanceof ue)&&e.getChildren().some(n=>n.hasChildren()&&n.getChild(0).type===p.SelectorCombinator)){const n=this.element.findRoot();n.parent instanceof ue&&(t=this.element,this.element=n.parent,this.element.removeChild(n),this.prev=null)}for(const n of e.getChildren()){if(n instanceof he){if(this.prev instanceof he){const a=new It("…");this.element.addChild(a),this.element=a}else this.prev&&(this.prev.matches("+")||this.prev.matches("~"))&&this.element.parent&&(this.element=this.element.parent);this.prev&&th Line truncated
$0
}`,insertTextFormat:f.InsertTextFormat.Snippet,kind:f.CompletionItemKind.Keyword},{label:"@for",documentation:d.t("For loop that repeatedly outputs a set of styles for each `$var` in the `from/through` or `from/to` clause."),insertText:"@for \\$${1:var} from ${2:start} ${3|to,through|} ${4:end} {\n $0\n}",insertTextFormat:f.InsertTextFormat.Snippet,kind:f.CompletionItemKind.Keyword},{label:"@each",documentation:d.t("Each loop that sets `$var` to each item in the list or map, then outputs the styles it contains using that value of `$var`."),insertText:"@each \\$${1:var} in ${2:list} {\n $0\n}",insertTextFormat:f.InsertTextFormat.Snippet,kind:f.CompletionItemKind.Keyword},{label:"@while",documentation:d.t("While loop that takes an expression and repeatedly outputs the nested styles until the statement evaluates to `false`."),insertText:`@while \${1:condition} {
$0
}`,insertTextFormat:f.InsertTextFormat.Snippet,kind:f.CompletionItemKind.Keyword},{label:"@mixin",documentation:d.t("Defines styles that can be re-used throughout the stylesheet with `@include`."),insertText:`@mixin \${1:name} {
$0
}`,insertTextFormat:f.InsertTextFormat.Snippet,kind:f.CompletionItemKind.Keyword},{label:"@include",documentation:d.t("Includes the styles defined by another mixin into the current rule."),kind:f.CompletionItemKind.Keyword},{label:"@function",documentation:d.t("Defines complex operations that can be re-used throughout stylesheets."),kind:f.CompletionItemKind.Keyword}],R.scssModuleLoaders=[{label:"@use",documentation:d.t("Loads mixins, functions, and variables from other Sass stylesheets as 'modules', and combines CSS from multiple stylesheets together."),references:[{name:Z,url:"https://sass-lang.com/documentation/at-rules/use"}],insertText:"@use $0;",insertTextFormat:f.InsertTextFormat.Snippet,kind:f.CompletionItemKind.Keyword},{label:"@forward",documentation:d.t("Loads a Sass stylesheet and makes its mixins, functions, and variables available when this stylesheet is loaded with the @use rule."),references:[{name:Z,url:"https://sass-lang.com/documentation/at-rules/forward"}],insertText:"@forward $0;",insertTextFormat:f.InsertTextFormat.Snippet,kind:f.CompletionItemKind.Keyword}],R.scssModuleBuiltIns=[{label:"sass:math",documentation:d.t("Provides functions that operate on numbers."),references:[{name:Z,url:"https://sass-lang.com/documentation/modules/math"}]},{label:"sass:string",documentation:d.t("Makes it easy to combine, search, or split apart strings."),references:[{name:Z,url:"https://sass-lang.com/documentation/modules/string"}]},{label:"sass:color",documentation:d.t("Generates new colors based on existing ones, making it easy to build color themes."),references:[{name:Z,url:"https://sass-lang.com/documentation/modules/color"}]},{label:"sass:list",documentation:d.t("Lets you access and modify values in lists."),references:[{name:Z,url:"https://sass-lang.com/documentation/modules/list"}]},{label:"sass:map",documentation:d.t("Makes it possible to look up the value associated with a key in a map, and much more."),references:[{name:Z,url:"https://sass-lang.com/documentation/modules/map"}]},{label:"sass:selector",documentation:d.t("Provides access to Sass’s powerful selector engine."),references:[{name:Z,url:"https://sass-lang.com/documentation/modules/selector"}]},{label:"sass:meta",documentation:d.t("Exposes the details of Sass’s inner workings."),references:[{name:Z,url:"https://sass-lang.com/documentation/modules/meta"}]}];function lr(r){r.forEach(e=>{if(e.documentation&&e.references&&e.references.length>0){const t=typeof e.documentation=="string"?{kind:"markdown",value:e.documentation}:{kind:"markdown",value:e.documentation.value};t.value+=`
`,t.value+=e.references.map(n=>`[${n.name}](${n.url})`).join(" | "),e.documentation=t}})}const cr=47,Fs=10,Es=13,_s=12,Vt=96,Bt=46;let Is=o.CustomToken;const Kt=Is++;class hr extends Ce{scanNext(e){const t=this.escapedJavaScript();return t!==null?this.finishToken(e,t):this.stream.advanceIfChars([Bt,Bt,Bt])?this.finishToken(e,Kt):super.scanNext(e)}comment(){return super.comment()?!0:!this.inURL&&this.stream.advanceIfChars([cr,cr])?(this.stream.advanceWhileChar(e=>{switch(e){case Fs:case Es:case _s:return!1;default:return!0}}),!0):!1}escapedJavaScript(){return this.stream.peekChar()===Vt?(this.stream.advance(1),this.stream.advanceWhileChar(t=>t!==Vt),this.stream.advanceIfChar(Vt)?o.EscapedJavaScript:o.BadEscapedJavaScript):null}}class Ds extends qe{constructor(){super(new hr)}_parseStylesheetStatement(e=!1){return this.peek(o.AtKeyword)?this._parseVariableDeclaration()||this._parsePlugin()||super._parseStylesheetAtStatement(e):this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseFunction()||this._parseRuleset(!0)}_parseImport(){if(!this.peekKeyword("@import")&&!this.peekKeyword("@import-once"))return null;const e=this.create(pt);if(this.consumeToken(),this.accept(o.ParenthesisL)){if(!this.accept(o.Ident))return this.finish(e,u.IdentifierExpected,[o.SemiColon]);do if(!this.accept(o.Comma))break;while(this.accept(o.Ident));if(!this.accept(o.ParenthesisR))return this.finish(e,u.RightParenthesisExpected,[o.SemiColon])}return!e.addChild(this._parseURILiteral())&&!e.addChild(this._parseStringLiteral())?this.finish(e,u.URIOrStringExpected,[o.SemiColon]):(!this.peek(o.SemiColon)&&!this.peek(o.EOF)&&e.setMedialist(this._parseMediaQueryList()),this._completeParseImport(e))}_parsePlugin(){if(!this.peekKeyword("@plugin"))return null;const e=this.createNode(p.Plugin);return this.consumeToken(),e.addChild(this._parseStringLiteral())?this.accept(o.SemiColon)?this.finish(e):this.finish(e,u.SemiColonExpected):this.finish(e,u.StringLiteralExpected)}_parseMediaQuery(){const e=super._parseMediaQuery();if(!e){const t=this.create(yn);return t.addChild(this._parseVariable())?this.finish(t):null}return e}_parseMediaDeclaration(e=!1){return this._tryParseRuleset(e)||this._tryToParseDeclaration()||this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseDetachedRuleSetMixin()||this._parseStylesheetStatement(e)}_parseMediaFeatureName(){return this._parseIdent()||this._parseVariable()}_parseVariableDeclaration(e=[]){const t=this.create($e),n=this.mark();if(!t.setVariable(this._parseVariable(!0)))return null;if(this.accept(o.Colon)){if(this.prevToken&&(t.colonPosition=this.prevToken.offset),t.setValue(this._parseDetachedRuleSet()))t.needsSemicolon=!1;else if(!t.setValue(this._parseExpr()))return this.finish(t,u.VariableValueExpected,[],e);t.addChild(this._parsePrio())}else return this.restoreAtMark(n),null;return this.peek(o.SemiColon)&&(t.semicolonPosition=this.token.offset),this.finish(t)}_parseDetachedRuleSet(){let e=this.mark();if(this.peekDelim("#")||this.peekDelim("."))if(this.consumeToken(),!this.hasWhitespace()&&this.accept(o.ParenthesisL)){let n=this.create(Ie);if(n.getParameters().addChild(this._parseMixinParameter()))for(;(this.accept(o.Comma)||this.accept(o.SemiColon))&&!this.peek(o.ParenthesisR);)n.getParameters().addChild(this._parseMixinParameter())||this.markError(n,u.IdentifierExpected,[],[o.ParenthesisR]);if(!this.accept(o.ParenthesisR))return this.restoreAtMark(e),null}else return this.restoreAtMark(e),null;if(!this.peek(o.CurlyL))return null;const t=this.create(E);return this._parseBody(t,this._parseDetachedRuleSetBody.bind(this)),this.finish(t)}_parseDetachedRuleSetBody(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()}_addLookupChildren(e){if(!e.addChild(this._parseLookupValue()))return!1;let t=!1;for(;this.peek(o.BracketL)&&(t=!0),!!e.addChild(this._parseLookupValue());)t=!1;return!t}_parseLookupValue(){const e=this.create(b),t=this.mark();return this.accept(o.BracketL)?(e.addChild(this._parseVariable(!1,!0))||e.addChild(this._parsePropertyIdentifier()))&&this.accept(o.BracketR)||this.accept(o.BracketR)?e:(this.restoreAtMark(t),null):(this.restoreAtMark(t),null)}_parseVariable(e=!1,t=!1){const n=!e&&this.peekDelim("$");if(!this.peekDelim("@")&&!n&&!this.peek(o.AtKeyword))return null;const i=this.create(vt),s=this.mark();for(;this.acceptDelim("@")||!e&&this.acceptDelim("$");)if(this.hasWhitespace())return this.restoreAtMark(s),null;return!this.accept(o.AtKeyword)&&!this.accept(o.Ident)?(this.restoreAtMark(s),null):!t&&this.peek(o.BracketL)&&!this._addLookupChildren(i)?(this.restoreAtMark(s),null):i}_parseTermExpression(){return this._parseVariable()||this._parseEscaped()||super._parseTermExpression()||this._tryParseMixinReference(!1)}_parseEscaped(){if(this.peek(o.EscapedJavaScript)||this.peek(o.BadEscapedJavaScript)){const e=this.createNode(p.EscapedValue);return this.consumeToken(),this.finish(e)}if(this.peekDelim("~")){const e=this.createNode(p Line truncated
`);h!==-1?this.__character_count=l.length-h:this.__character_count+=l.length},s.prototype.pop=function(){var l=null;return this.is_empty()||(l=this.__items.pop(),this.__character_count-=l.length),l},s.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},s.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},s.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},s.prototype.toString=function(){var l="";return this.is_empty()?this.__parent.indent_empty_lines&&(l=this.__parent.get_indent_string(this.__indent_count)):(l=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),l+=this.__items.join("")),l};function a(l,h){this.__cache=[""],this.__indent_size=l.indent_size,this.__indent_string=l.indent_char,l.indent_with_tabs||(this.__indent_string=new Array(l.indent_size+1).join(l.indent_char)),h=h||"",l.indent_level>0&&(h=new Array(l.indent_level+1).join(this.__indent_string)),this.__base_string=h,this.__base_string_length=h.length}a.prototype.get_indent_size=function(l,h){var m=this.__base_string_length;return h=h||0,l<0&&(m=0),m+=l*this.__indent_size,m+=h,m},a.prototype.get_indent_string=function(l,h){var m=this.__base_string;return h=h||0,l<0&&(l=0,m=""),h+=l*this.__indent_size,this.__ensure_cache(h),m+=this.__cache[h],m},a.prototype.__ensure_cache=function(l){for(;l>=this.__cache.length;)this.__add_column()},a.prototype.__add_column=function(){var l=this.__cache.length,h=0,m="";this.__indent_size&&l>=this.__indent_size&&(h=Math.floor(l/this.__indent_size),l-=h*this.__indent_size,m=new Array(h+1).join(this.__indent_string)),l&&(m+=new Array(l+1).join(" ")),this.__cache.push(m)};function c(l,h){this.__indent_cache=new a(l,h),this.raw=!1,this._end_with_newline=l.end_with_newline,this.indent_size=l.indent_size,this.wrap_line_length=l.wrap_line_length,this.indent_empty_lines=l.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new s(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}c.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},c.prototype.get_line_number=function(){return this.__lines.length},c.prototype.get_indent_string=function(l,h){return this.__indent_cache.get_indent_string(l,h)},c.prototype.get_indent_size=function(l,h){return this.__indent_cache.get_indent_size(l,h)},c.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},c.prototype.add_new_line=function(l){return this.is_empty()||!l&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},c.prototype.get_code=function(l){this.trim(!0);var h=this.current_line.pop();h&&(h[h.length-1]===`
`&&(h=h.replace(/\n+$/g,"")),this.current_line.push(h)),this._end_with_newline&&this.__add_outputline();var m=this.__lines.join(`
`);return l!==`
`&&(m=m.replace(/[\n]/g,l)),m},c.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},c.prototype.set_indent=function(l,h){return l=l||0,h=h||0,this.next_line.set_indent(l,h),this.__lines.length>1?(this.current_line.set_indent(l,h),!0):(this.current_line.set_indent(),!1)},c.prototype.add_raw_token=function(l){for(var h=0;h<l.newlines;h++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(l.whitespace_before),this.current_line.push(l.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},c.prototype.add_token=function(l){this.__add_space_before_token(),this.current_line.push(l),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},c.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},c.prototype.remove_indent=function(l){for(var h=this.__lines.length;l<h;)this.__lines[l]._remove_indent(),l++;this.current_line._remove_wrap_indent()},c.prototype.trim=function(l){for(l=l===void 0?!1:l,this.current_line.trim();l&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},c.prototype.just_added_newline=function(){return this.current_line.is_empty()},c.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},c.prototype.ensure_empty_line_above=function(l,h){for(var m=this.__lines.length-2;m>=0;){var g=this.__lines[m];if(g.is_empty())break;if(g.item(0).indexOf(l)!==0&&g.item(-1)!==h){this.__lines.splice(m+1,0,new s(this)),this.previous_line=this.__lines[this.__lines.length-2];break}m--}},i.exports.Output=c}),,,,(function(i){function s(l,h){this.raw_options=a(l,h),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}s.prototype._get_array=function(l,h){var m=this.raw_options[l],g=h||[];return typeof m=="object"?m!==null&&typeof m.concat=="function"&&(g=m.concat()):typeof m=="string"&&(g=m.split(/[^a-zA-Z0-9_\/\-]+/)),g},s.prototype._get_boolean=function(l,h){var m=this.raw_options[l],g=m===void 0?!!h:!!m;return g},s.prototype._get_characters=function(l,h){var m=this.raw_options[l],g=h||"";return typeof m=="string"&&(g=m.replace(/\\r/,"\r").replace(/\\n/,`
`).replace(/\\t/," ")),g},s.prototype._get_number=function(l,h){var m=this.raw_options[l];h=parseInt(h,10),isNaN(h)&&(h=0);var g=parseInt(m,10);return isNaN(g)&&(g=h),g},s.prototype._get_selection=function(l,h,m){var g=this._get_selection_list(l,h,m);if(g.length!==1)throw new Error("Invalid Option Value: The option '"+l+`' can only be one of the following values:
`+h+`
You passed in: '`+this.raw_options[l]+"'");return g[0]},s.prototype._get_selection_list=function(l,h,m){if(!h||h.length===0)throw new Error("Selection list cannot be empty.");if(m=m||[h[0]],!this._is_valid_selection(m,h))throw new Error("Invalid Default Value!");var g=this._get_array(l,m);if(!this._is_valid_selection(g,h))throw new Error("Invalid Option Value: The option '"+l+`' can contain only the following values:
`+h+`
You passed in: '`+this.raw_options[l]+"'");return g},s.prototype._is_valid_selection=function(l,h){return l.length&&h.length&&!l.some(function(m){return h.indexOf(m)===-1})};function a(l,h){var m={};l=c(l);var g;for(g in l)g!==h&&(m[g]=l[g]);if(h&&l[h])for(g in l[h])m[g]=l[h][g];return m}function c(l){var h={},m;for(m in l){var g=m.replace(/-/g,"_");h[g]=l[m]}return h}i.exports.Options=s,i.exports.normalizeOpts=c,i.exports.mergeOpts=a}),,(function(i){var s=RegExp.prototype.hasOwnProperty("sticky");function a(c){this.__input=c||"",this.__input_length=this.__input.length,this.__position=0}a.prototype.restart=function(){this.__position=0},a.prototype.back=function(){this.__position>0&&(this.__position-=1)},a.prototype.hasNext=function(){return this.__position<this.__input_length},a.prototype.next=function(){var c=null;return this.hasNext()&&(c=this.__input.charAt(this.__position),this.__position+=1),c},a.prototype.peek=function(c){var l=null;return c=c||0,c+=this.__position,c>=0&&c<this.__input_length&&(l=this.__input.charAt(c)),l},a.prototype.__match=function(c,l){c.lastIndex=l;var h=c.exec(this.__input);return h&&!(s&&c.sticky)&&h.index!==l&&(h=null),h},a.prototype.test=function(c,l){return l=l||0,l+=this.__position,l>=0&&l<this.__input_length?!!this.__match(c,l):!1},a.prototype.testChar=function(c,l){var h=this.peek(l);return c.lastIndex=0,h!==null&&c.test(h)},a.prototype.match=function(c){var l=this.__match(c,this.__position);return l?this.__position+=l[0].length:l=null,l},a.prototype.read=function(c,l,h){var m="",g;return c&&(g=this.match(c),g&&(m+=g[0])),l&&(g||!c)&&(m+=this.readUntil(l,h)),m},a.prototype.readUntil=function(c,l){var h="",m=this.__position;c.lastIndex=this.__position;var g=c.exec(this.__input);return g?(m=g.index,l&&(m+=g[0].length)):m=this.__input_length,h=this.__input.substring(this.__position,m),this.__position=m,h},a.prototype.readUntilAfter=function(c){return this.readUntil(c,!0)},a.prototype.get_regexp=function(c,l){var h=null,m="g";return l&&s&&(m="y"),typeof c=="string"&&c!==""?h=new RegExp(c,m):c&&(h=new RegExp(c.source,m)),h},a.prototype.get_literal_regexp=function(c){return RegExp(c.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},a.prototype.peekUntilAfter=function(c){var l=this.__position,h=this.readUntilAfter(c);return this.__position=l,h},a.prototype.lookBack=function(c){var l=this.__position-1;return l>=c.length&&this.__input.substring(l-c.length,l).toLowerCase()===c},i.exports.InputScanner=a}),,,,,(function(i){function s(a,c){a=typeof a=="string"?a:a.source,c=typeof c=="string"?c:c.source,this.__directives_block_pattern=new RegExp(a+/ beautify( \w+[:]\w+)+ /.source+c,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(a+/\sbeautify\signore:end\s/.source+c,"g")}s.prototype.get_directives=function(a){if(!a.match(this.__directives_block_pattern))return null;var c={};this.__directive_pattern.lastIndex=0;for(var l=this.__directive_pattern.exec(a);l;)c[l[1]]=l[2],l=this.__directive_pattern.exec(a);return c},s.prototype.readIgnored=function(a){return a.readUntilAfter(this.__directives_end_ignore_pattern)},i.exports.Directives=s}),,(function(i,s,a){var c=a(16).Beautifier,l=a(17).Options;function h(m,g){var w=new c(m,g);return w.beautify()}i.exports=h,i.exports.defaultOptions=function(){return new l}}),(function(i,s,a){var c=a(17).Options,l=a(2).Output,h=a(8).InputScanner,m=a(13).Directives,g=new m(/\/\*/,/\*\//),w=/\r\n|[\r\n]/,v=/\r\n|[\r\n]/g,y=/\s/,N=/(?:\s|\n)+/g,q=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,M=/\/\/(?:[^\n\r\u2028\u2029]*)/g;function D(C,O){this._source_text=C||"",this._options=new c(O),this._ch=null,this._input=null,this.NESTED_AT_RULE={page:!0,"font-face":!0,keyframes:!0,media:!0,supports:!0,document:!0},this.CONDITIONAL_GROUP_RULE={media:!0,supports:!0,document:!0},this.NON_SEMICOLON_NEWLINE_PROPERTY=["grid-template-areas","grid-template"]}D.prototype.eatString=function(C){var O="";for(this._ch=this._input.next();this._ch;){if(O+=this._ch,this._ch==="\\")O+=this._input.next();else if(C.indexOf(this._ch)!==-1||this._ch===`
`)break;this._ch=this._input.next()}return O},D.prototype.eatWhitespace=function(C){for(var O=y.test(this._input.peek()),A=0;y.test(this._input.peek());)this._ch=this._input.next(),C&&this._ch===`
`&&(A===0||A<this._options.max_preserve_newlines)&&(A++,this._output.add_new_line(!0));return O},D.prototype.foundNestedPseudoClass=function(){for(var C=0,O=1,A=this._input.peek(O);A;){if(A==="{")return!0;if(A==="(")C+=1;else if(A===")"){if(C===0)return!1;C-=1}else if(A===";"||A==="}")return!1;O++,A=this._input.peek(O)}return!1},D.prototype.print_string=function(C){this._output.set_indent(this._indentLevel),this._output.non_breaking_space=!0,this._output.add_token(C)},D.prototype.preserveSingleSpace=function(C){C&&(this._output.space_before_token=!0)},D.prototype.indent=function(){this._indentLevel++},D.prototype.outdent=function(){this._indentLevel>0&&this._indentLevel--},D.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var C=this._source_text,O=this._options.eol;O==="auto"&&(O=`
`,C&&w.test(C||"")&&(O=C.match(w)[0])),C=C.replace(v,`
`);var A=C.match(/^[\t ]*/)[0];this._output=new l(this._options,A),this._input=new h(C),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var $=0,Pe=!1,W=!1,et=!1,Te=!1,tt=!1,br=this._ch,Ht=!1,wr,ie,te;wr=this._input.read(N),ie=wr!=="",te=br,this._ch=this._input.next(),this._ch==="\\"&&this._input.hasNext()&&(this._ch+=this._input.next()),br=this._ch,this._ch;)if(this._ch==="/"&&this._input.peek()==="*"){this._output.add_new_line(),this._input.back();var Jt=this._input.read(q),vr=g.get_directives(Jt);vr&&vr.ignore==="start"&&(Jt+=g.readIgnored(this._input)),this.print_string(Jt),this.eatWhitespace(!0),this._output.add_new_line()}else if(this._ch==="/"&&this._input.peek()==="/")this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(M)),this.eatWhitespace(!0);else if(this._ch==="$"){this.preserveSingleSpace(ie),this.print_string(this._ch);var nt=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);nt.match(/[ :]$/)&&(nt=this.eatString(": ").replace(/\s+$/,""),this.print_string(nt),this._output.space_before_token=!0),$===0&&nt.indexOf(":")!==-1&&(W=!0,this.indent())}else if(this._ch==="@")if(this.preserveSingleSpace(ie),this._input.peek()==="{")this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var we=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);we.match(/[ :]$/)&&(we=this.eatString(": ").replace(/\s+$/,""),this.print_string(we),this._output.space_before_token=!0),$===0&&we.indexOf(":")!==-1?(W=!0,this.indent()):we in this.NESTED_AT_RULE?(this._nestedLevel+=1,we in this.CONDITIONAL_GROUP_RULE&&(et=!0)):$===0&&!W&&(Te=!0)}else if(this._ch==="#"&&this._input.peek()==="{")this.preserveSingleSpace(ie),this.print_string(this._ch+this.eatString("}"));else if(this._ch==="{")W&&(W=!1,this.outdent()),Te=!1,et?(et=!1,Pe=this._indentLevel>=this._nestedLevel):Pe=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&Pe&&this._output.previous_line&&this._output.previous_line.item(-1)!=="{"&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,this._options.brace_style==="expand"?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):(te==="("?this._output.space_before_token=!1:te!==","&&this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line();else if(this._ch==="}")this.outdent(),this._output.add_new_line(),te==="{"&&this._output.trim(!0),W&&(this.outdent(),W=!1),this.print_string(this._ch),Pe=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&this._input.peek()!=="}"&&this._output.add_new_line(!0),this._input.peek()===")"&&(this._output.trim(!0),this._options.brace_style==="expand"&&this._output.add_new_line(!0));else if(this._ch===":"){for(var Yt=0;Yt<this.NON_SEMICOLON_NEWLINE_PROPERTY.length;Yt++)if(this._input.lookBack(this.NON_SEMICOLON_NEWLINE_PROPERTY[Yt])){Ht=!0;break}(Pe||et)&&!(this._input.lookBack("&")||this.foundNestedPseudoClass())&&!this._input.lookBack("(")&&!Te&&$===0?(this.print_string(":"),W||(W=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):(this._input.lookBack(" ")&&(this._output.space_before_token=!0),this._input.peek()===":"?(this._ch=this._input.next(),this.print_string("::")):this.print_string(":"))}else if(this._ch==='"'||this._ch==="'"){var Qs=te==='"'||te==="'";this.preserveSingleSpace(Qs||ie),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)}else if(this._ch===";")Ht=!1,$===0?(W&&(this.outdent(),W=!1),Te=!1,this.print_string(this._ch),this.eatWhitespace(!0),this._input.peek()!=="/"&&this._output.add_new_line()):(this.print_string(this._ch),this.eatWhitespace(!0),this._output.space_before_token=!0);else if(this._ch==="(")if(this._input.lookBack("url"))this.print_string(this._ch),this.eatWhitespace(),$++,this.indent(),this._ch=this._input.next(),this._ch===")"||this._ch==='"'||this._ch==="'"?this._input.back():this._ch&&(this.print_string(this._ch+this.eatString(")")),$&&($--,this.outdent()));else{var yr=!1;this._input.lookBack("with")&&(yr=!0),this.preserveSingleSpace(ie||yr),this.print_string(this._ch),W&&te==="$"&&this._options.selector_separator_newline?(this._output.add_new_line(),tt=!0):(this.eatWhitespace(),$++,this.indent())}else if(this._ch===")")$&&($--,this.outdent()),tt&&this._input.peek()===";"&&this._options.selector_separator_newline&&(tt=!1,this.outdent(),this._output.add_new_line()),this.print_string(this._ch);else if(this._ch===",")this.print_string(this._ch),this.eatWhitespace(!0),this._options.selector_separator_newline&&(!W||tt)&&$===0&&!Te?this._output.add_new_line():this._output.space_before_token=!0;else if((this._ch===">"||this._ch==="+"||this._ch==="~")&&!W&&$===0)this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_ Line truncated
`&&Ht&&this._output.add_new_line()}var eo=this._output.get_code(O);return eo},i.exports.Beautifier=D}),(function(i,s,a){var c=a(6).Options;function l(h){c.call(this,h,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var m=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||m;var g=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_style="collapse";for(var w=0;w<g.length;w++)g[w]!=="expand"?this.brace_style="collapse":this.brace_style=g[w]}l.prototype=new c,i.exports.Options=l})],e={};function t(i){var s=e[i];if(s!==void 0)return s.exports;var a=e[i]={exports:{}};return r[i](a,a.exports,t),a.exports}var n=t(15);pr=n})();var Os=pr;function Ps(r,e,t){let n=r.getText(),i=!0,s=0,a=!1;const c=t.tabSize||4;if(e){let m=r.offsetAt(e.start),g=m;for(;g>0&&fr(n,g-1);)g--;g===0||ur(n,g-1)?m=g:g<m&&(m=g+1);let w=r.offsetAt(e.end),v=w;for(;v<n.length&&fr(n,v);)v++;if((v===n.length||ur(n,v))&&(w=v),e=f.Range.create(r.positionAt(m),r.positionAt(w)),a=Ns(n,m),i=w===n.length,n=n.substring(m,w),m!==0){const y=r.offsetAt(f.Position.create(e.start.line,0));s=Ws(r.getText(),y,t)}a&&(n=`{
${mr(n)}`)}else e=f.Range.create(f.Position.create(0,0),r.positionAt(n.length));const l={indent_size:c,indent_char:t.insertSpaces?" ":" ",end_with_newline:i&&ee(t,"insertFinalNewline",!1),selector_separator_newline:ee(t,"newlineBetweenSelectors",!0),newline_between_rules:ee(t,"newlineBetweenRules",!0),space_around_selector_separator:ee(t,"spaceAroundSelectorSeparator",!1),brace_style:ee(t,"braceStyle","collapse"),indent_empty_lines:ee(t,"indentEmptyLines",!1),max_preserve_newlines:ee(t,"maxPreserveNewLines",void 0),preserve_newlines:ee(t,"preserveNewLines",!0),wrap_line_length:ee(t,"wrapLineLength",void 0),eol:`
`};let h=Os(n,l);if(a&&(h=mr(h.substring(2))),s>0){const m=t.insertSpaces?un(" ",c*s):un(" ",s);h=h.split(`
`).join(`
`+m),e.start.character===0&&(h=m+h)}return[{range:e,newText:h}]}function mr(r){return r.replace(/^\s+/,"")}const Ts=123,As=125;function Ns(r,e){for(;e>=0;){const t=r.charCodeAt(e);if(t===Ts)return!0;if(t===As)return!1;e--}return!1}function ee(r,e,t){if(r&&r.hasOwnProperty(e)){const n=r[e];if(n!==null)return n}return t}function Ws(r,e,t){let n=e,i=0;const s=t.tabSize||4;for(;n<r.length;){const a=r.charAt(n);if(a===" ")i++;else if(a===" ")i+=s;else break;n++}return Math.floor(i/s)}function ur(r,e){return`\r
`.indexOf(r.charAt(e))!==-1}function fr(r,e){return" ".indexOf(r.charAt(e))!==-1}const Ls={version:1.1,properties:[{name:"additive-symbols",browsers:["FF33"],atRule:"@counter-style",syntax:"[ <integer> && <symbol> ]#",relevance:50,description:"@counter-style descriptor. Specifies the symbols used by the marker-construction algorithm specified by the system descriptor. Needs to be specified if the counter system is 'additive'.",restrictions:["integer","string","image","identifier"]},{name:"align-content",browsers:["E12","FF28","S9","C29","IE11","O16"],values:[{name:"center",description:"Lines are packed toward the center of the flex container."},{name:"flex-end",description:"Lines are packed toward the end of the flex container."},{name:"flex-start",description:"Lines are packed toward the start of the flex container."},{name:"space-around",description:"Lines are evenly distributed in the flex container, with half-size spaces on either end."},{name:"space-between",description:"Lines are evenly distributed in the flex container."},{name:"stretch",description:"Lines stretch to take up the remaining space."},{name:"start"},{name:"end"},{name:"normal"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"space-around"},{name:"space-between"},{name:"space-evenly"},{name:"stretch"},{name:"safe"},{name:"unsafe"}],syntax:"normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>",relevance:66,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/align-content"}],description:"Aligns a flex container's lines within the flex container when there is extra space in the cross-axis, similar to how 'justify-content' aligns individual items within the main-axis.",restrictions:["enum"]},{name:"align-items",browsers:["E12","FF20","S9","C29","IE11","O16"],values:[{name:"baseline",description:"If the flex item's inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item's margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"normal"},{name:"start"},{name:"end"},{name:"self-start"},{name:"self-end"},{name:"first baseline"},{name:"last baseline"},{name:"stretch"},{name:"safe"},{name:"unsafe"}],syntax:"normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]",relevance:87,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/align-items"}],description:"Aligns flex items along the cross axis of the current line of the flex container.",restrictions:["enum"]},{name:"justify-items",browsers:["E12","FF20","S9","C52","IE11","O12.1"],values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"safe"},{name:"unsafe"},{name:"legacy"}],syntax:"normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]",relevance:53,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/justify-items"}],description:"Defines the default justify-self for all items of the box, giving them the default way of justifying each box along the appropriate axis",restrictions:["enum"]},{name:"justify-self",browsers:["E16","FF45","S10.1","C57","IE10","O44"],values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in Line truncated
This feature is available since Firefox 55, but is only currently supported with SVG images loaded via chrome:// or resource:// URLs. To experiment with the feature in SVG on the Web it is necessary to set the svg.context-properties.content.enabled pref to true.`},{name:"-moz-float-edge",status:"obsolete",syntax:"border-box | content-box | margin-box | padding-box",values:[{name:"border-box"},{name:"content-box"},{name:"margin-box"},{name:"padding-box"}],relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge"}],description:"The non-standard -moz-float-edge CSS property specifies whether the height and width properties of the element include the margin, border, or padding thickness."},{name:"-moz-force-broken-image-icon",status:"obsolete",syntax:"0 | 1",values:[{name:"0"},{name:"1"}],relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon"}],description:"The -moz-force-broken-image-icon extended CSS property can be used to force the broken image icon to be shown even when a broken image has an alt attribute."},{name:"-moz-image-region",status:"nonstandard",syntax:"<shape> | auto",relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-image-region"}],description:"For certain XUL elements and pseudo-elements that use an image from the list-style-image property, this property specifies a region of the image that is used in place of the whole image. This allows elements to use different pieces of the same image to improve performance."},{name:"-moz-orient",status:"nonstandard",syntax:"inline | block | horizontal | vertical",values:[{name:"inline"},{name:"block"},{name:"horizontal"},{name:"vertical"}],relevance:0,browsers:["FF6"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-orient"}],description:"The -moz-orient CSS property specifies the orientation of the element to which it's applied."},{name:"-moz-outline-radius",status:"nonstandard",syntax:"<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?",relevance:0,description:"In Mozilla applications like Firefox, the -moz-outline-radius CSS property can be used to give an element's outline rounded corners."},{name:"-moz-outline-radius-bottomleft",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-bottomleft CSS property can be used to round the bottom-left corner of an element's outline."},{name:"-moz-outline-radius-bottomright",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-bottomright CSS property can be used to round the bottom-right corner of an element's outline."},{name:"-moz-outline-radius-topleft",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-topleft CSS property can be used to round the top-left corner of an element's outline."},{name:"-moz-outline-radius-topright",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-topright CSS property can be used to round the top-right corner of an element's outline."},{name:"-moz-stack-sizing",status:"nonstandard",syntax:"ignore | stretch-to-fit",values:[{name:"ignore"},{name:"stretch-to-fit"}],relevance:0,description:"-moz-stack-sizing is an extended CSS property. Normally, a stack will change its size so that all of its child elements are completely visible. For example, moving a child of the stack far to the right will widen the stack so the child remains visible."},{name:"-moz-text-blink",status:"nonstandard",syntax:"none | blink",values:[{name:"none"},{name:"blink"}],relevance:0,description:"The -moz-text-blink non-standard Mozilla CSS extension specifies the blink mode."},{name:"-moz-user-input",status:"obsolete",syntax:"auto | none | enabled | disabled",values:[{name:"auto"},{name:"none"},{name:"enabled"},{name:"disabled"}],relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-user-input"}],description:"In Mozilla applications, -moz-user-input determines if an element will accept user input."},{name:"-moz-user-modify",status:"nonstandard",syntax:"read-only | read-write | write-only",values:[{name:"read-only"},{name:"read-write"},{name:"write-only"}],relevance:0,description:"The -moz-user-modify property has no effect. It was originally planned to determine whether or not the content of an element can be edited by a user."},{name:"-moz-window-dragging",status:"nonstandard",syntax:"drag | no-drag",values:[{name:"drag"},{name:"no-drag"}],relevance:0,description:"The -moz-window-dragging CSS property specifies whether a window is draggable or not. It only works in Chrome code, and only on Mac OS X."},{name:"-moz-window-s Line truncated
This property is a shorthand for mask-border-source, mask-border-slice, mask-border-width, mask-border-outset, mask-border-repeat, and mask-border-mode. As with all shorthand properties, any omitted sub-values will be set to their initial value.`},{name:"mask-border-mode",syntax:"luminance | alpha",values:[{name:"luminance"},{name:"alpha"}],relevance:50,description:"The mask-border-mode CSS property specifies the blending mode used in a mask border."},{name:"mask-border-outset",syntax:"[ <length> | <number> ]{1,4}",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-outset"}],description:"The mask-border-outset CSS property specifies the distance by which an element's mask border is set out from its border box."},{name:"mask-border-repeat",syntax:"[ stretch | repeat | round | space ]{1,2}",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat"}],description:"The mask-border-repeat CSS property defines how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border."},{name:"mask-border-slice",syntax:"<number-percentage>{1,4} fill?",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-slice"}],description:"The mask-border-slice CSS property divides the image specified by mask-border-source into regions. These regions are used to form the components of an element's mask border."},{name:"mask-border-source",syntax:"none | <image>",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-source"}],description:`The mask-border-source CSS property specifies the source image used to create an element's mask border.
The mask-border-slice property is used to divide the source image into regions, which are then dynamically applied to the final mask border.`},{name:"mask-border-width",syntax:"[ <length-percentage> | <number> | auto ]{1,4}",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-width"}],description:"The mask-border-width CSS property specifies the width of an element's mask border."},{name:"mask-clip",syntax:"[ <geometry-box> | no-clip ]#",relevance:50,browsers:["E120","FF53","S15.4","C120","O106"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-clip"}],description:"The mask-clip CSS property determines the area, which is affected by a mask. The painted content of an element must be restricted to this area."},{name:"mask-composite",syntax:"<compositing-operator>#",relevance:50,browsers:["E18","FF53","S15.4","C120","O106"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-composite"}],description:"The mask-composite CSS property represents a compositing operation used on the current mask layer with the mask layers below it."},{name:"masonry-auto-flow",status:"experimental",syntax:"[ pack | next ] || [ definite-first | ordered ]",relevance:50,browsers:["Spreview"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/masonry-auto-flow"}],description:"The masonry-auto-flow CSS property modifies how items are placed when using masonry in CSS Grid Layout."},{name:"math-depth",syntax:"auto-add | add(<integer>) | <integer>",relevance:50,browsers:["E109","FF117","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/math-depth"}],description:'Describe a notion of "depth" for each element of a mathematical formula, with respect to the top-level container of that formula.'},{name:"math-shift",syntax:"normal | compact",values:[{name:"normal"},{name:"compact"}],relevance:50,browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/math-shift"}],description:"Used for positioning superscript during the layout of MathML scripted elements."},{name:"math-style",syntax:"normal | compact",values:[{name:"normal"},{name:"compact"}],relevance:50,browsers:["E109","FF117","S14.1","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/math-style"}],description:"The math-style property indicates whether MathML equations should render with normal or compact height."},{name:"max-lines",status:"experimental",syntax:"none | <integer>",relevance:50,description:"The max-lines property forces a break after a set number of lines"},{name:"offset",syntax:"[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?",relevance:50,browsers:["E79","FF72","S16","C55","O42"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset"}],description:"The offset CSS property is a shorthand property for animating an element along a defined path."},{name:"offset-anchor",syntax:"auto | <position>",relevance:50,browsers:["E116","FF72","S16","C116","O102"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-anchor"}],description:"Defines an anchor point of the box positioned along the path. The anchor point specifies the point of the box which is to be considered as the point that is moved along the path."},{name:"offset-distance",syntax:"<length-percentage>",relevance:50,browsers:["E79","FF72","S16","C55","O42"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-distance"}],description:"The offset-distance CSS property specifies a position along an offset-path."},{name:"offset-path",syntax:"none | <offset-path> || <coord-box>",relevance:50,browsers:["E79","FF72","S15.4","C55","O45"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-path"}],description:`The offset-path CSS property specifies the offset path where the element gets positioned. The exact element’s position on the offset path is determined by the offset-distance property. An offset path is either a specified path with one or multiple sub-paths or the geometry of a not-styled basic shape. Each shape or path must define an initial position for the computed value of "0" for offset-distance and an initial direction which specifies the rotation of the object to the initial position.
In this specification, a direction (or rotation) of 0 degrees is equivalent to the direction of the positive x-axis in the object’s local coordinate system. In other words, a rotation of 0 degree points to the right side of the UA if the object and its ancestors have no transformation applied.`},{name:"offset-position",syntax:"normal | auto | <position>",relevance:50,browsers:["E116","FF122","S16","C116","O102"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-position"}],description:"Specifies the initial position of the offset path. If position is specified with static, offset-position would be ignored."},{name:"offset-rotate",syntax:"[ auto | reverse ] || <angle>",relevance:50,browsers:["E79","FF72","S16","C56","O43"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-rotate"}],description:"The offset-rotate CSS property defines the direction of the element while positioning along the offset path."},{name:"overflow-anchor",syntax:"auto | none",values:[{name:"auto"},{name:"none"}],relevance:52,browsers:["E79","FF66","Spreview","C56","O43"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-anchor"}],description:"The overflow-anchor CSS property provides a way to opt out browser scroll anchoring behavior which adjusts scroll position to minimize content shifts."},{name:"overflow-block",syntax:"visible | hidden | clip | scroll | auto",values:[{name:"visible"},{name:"hidden"},{name:"clip"},{name:"scroll"},{name:"auto"}],relevance:50,browsers:["FF69"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-block"}],description:"The overflow-block CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the block axis."},{name:"overflow-clip-box",status:"nonstandard",syntax:"padding-box | content-box",values:[{name:"padding-box"},{name:"content-box"}],relevance:0,description:"The overflow-clip-box CSS property specifies relative to which box the clipping happens when there is an overflow. It is short hand for the overflow-clip-box-inline and overflow-clip-box-block properties."},{name:"overflow-clip-margin",syntax:"<visual-box> || <length [0,∞]>",relevance:50,browsers:["E90","FF102","C90","O76"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-clip-margin"}],description:"The overflow-clip-margin CSS property determines how far outside its bounds an element with overflow: clip may be painted before being clipped."},{name:"overflow-inline",syntax:"visible | hidden | clip | scroll | auto",values:[{name:"visible"},{name:"hidden"},{name:"clip"},{name:"scroll"},{name:"auto"}],relevance:50,browsers:["FF69"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-inline"}],description:"The overflow-inline CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the inline axis."},{name:"overlay",status:"experimental",syntax:"none | auto",values:[{name:"none"},{name:"auto"}],relevance:50,browsers:["E117","C117","O103"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overlay"}],description:'The overlay CSS property specifies whether an element appearing in the top layer (for example, a shown popover or modal {{htmlelement("dialog")}} element) is actually rendered in the top layer. This property is only relevant within a list of transition-property values, and only if allow-discrete is set as the transition-behavior.'},{name:"overscroll-behavior",syntax:"[ contain | none | auto ]{1,2}",relevance:50,browsers:["E18","FF59","S16","C63","O50"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior"}],description:"The overscroll-behavior CSS property is shorthand for the overscroll-behavior-x and overscroll-behavior-y properties, which allow you to control the browser's scroll overflow behavior — what happens when the boundary of a scrolling area is reached."},{name:"overscroll-behavior-block",syntax:"contain | none | auto",values:[{name:"contain"},{name:"none"},{name:"auto"}],relevance:50,browsers:["E79","FF73","S16","C77","O64"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block"}],description:"The overscroll-behavior-block CSS property sets the browser's behavior when the block direction boundary of a scrolling area is reached."},{name:"overscroll-behavior-inline",syntax:"contain | none | auto",values:[{name:"contain"},{name:"none"},{name:"auto"}],relevance:50,browsers:["E79","FF73","S16","C77","O64"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline"}],description:"The overscroll-behavior-inline CSS property sets the browser's behavior when the inline direction Line truncated
Specifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.`},{name:"scroll-snap-type-y",status:"obsolete",syntax:"none | mandatory | proximity",values:[{name:"none"},{name:"mandatory"},{name:"proximity"}],relevance:0,description:`The scroll-snap-type-y CSS property defines how strictly snap points are enforced on the vertical axis of the scroll container in case there is one.
Specifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.`},{name:"scroll-timeline",status:"experimental",syntax:"[ <'scroll-timeline-name'> <'scroll-timeline-axis'>? ]#",relevance:50,browsers:["E115","FF111","C115","O101"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/scroll-timeline"}],description:"Defines a name that can be used to identify the source element of a scroll timeline, along with the scrollbar axis that should provide the timeline."},{name:"scroll-timeline-axis",status:"experimental",syntax:"[ block | inline | x | y ]#",relevance:50,browsers:["E115","FF111","C115","O101"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-axis"}],description:"Specifies the scrollbar that will be used to provide the timeline for a scroll-timeline animation"},{name:"scroll-timeline-name",status:"experimental",syntax:"none | <dashed-ident>#",relevance:50,browsers:["E115","FF111","C115","O101"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-name"}],description:"Defines a name that can be used to identify an element as the source of a scroll-timeline."},{name:"text-combine-upright",syntax:"none | all | [ digits <integer>? ]",relevance:50,browsers:["E79","FF48","S15.4","C48","IE11","O35"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-combine-upright"}],description:`The text-combine-upright CSS property specifies the combination of multiple characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes.
This is used to produce an effect that is known as tate-chū-yoko (縦中横) in Japanese, or as 直書橫向 in Chinese.`},{name:"text-decoration-skip",status:"experimental",syntax:"none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]",relevance:52,browsers:["S12.1","C57","O44"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip"}],description:"The text-decoration-skip CSS property specifies what parts of the element’s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors."},{name:"text-decoration-skip-ink",syntax:"auto | all | none",values:[{name:"auto"},{name:"all"},{name:"none"}],relevance:51,browsers:["E79","FF70","S15.4","C64","O50"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink"}],description:"The text-decoration-skip-ink CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders."},{name:"text-decoration-thickness",syntax:"auto | from-font | <length> | <percentage> ",relevance:50,browsers:["E89","FF70","S12.1","C89","O75"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness"}],description:"The text-decoration-thickness CSS property sets the thickness, or width, of the decoration line that is used on text in an element, such as a line-through, underline, or overline."},{name:"text-emphasis",syntax:"<'text-emphasis-style'> || <'text-emphasis-color'>",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis"}],description:"The text-emphasis CSS property is a shorthand property for setting text-emphasis-style and text-emphasis-color in one declaration. This property will apply the specified emphasis mark to each character of the element's text, except separator characters, like spaces, and control characters."},{name:"text-emphasis-color",syntax:"<color>",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color"}],description:"The text-emphasis-color CSS property defines the color used to draw emphasis marks on text being rendered in the HTML document. This value can also be set and reset using the text-emphasis shorthand."},{name:"text-emphasis-position",syntax:"[ over | under ] && [ right | left ]",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position"}],description:"The text-emphasis-position CSS property describes where emphasis marks are drawn at. The effect of emphasis marks on the line height is the same as for ruby text: if there isn't enough place, the line height is increased."},{name:"text-emphasis-style",syntax:"none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style"}],description:"The text-emphasis-style CSS property defines the type of emphasis used. It can also be set, and reset, using the text-emphasis shorthand."},{name:"text-size-adjust",status:"experimental",syntax:"none | auto | <percentage>",relevance:57,browsers:["E79","C54","O41"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-size-adjust"}],description:"The text-size-adjust CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property."},{name:"text-underline-offset",syntax:"auto | <length> | <percentage> ",relevance:51,browsers:["E87","FF70","S12.1","C87","O73"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-underline-offset"}],description:"The text-underline-offset CSS property sets the offset distance of an underline text decoration line (applied using text-decoration) from its original position."},{name:"text-wrap",syntax:"wrap | nowrap | balance | stable | pretty",values:[{name:"wrap"},{name:"nowrap"},{name:"balance"},{name:"stable"},{name:"pretty"}],relevance:54,browsers:["E114","FF121","Spreview","C114","O100"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-wrap"}],description:"The text-wrap CSS property controls how text inside an element is wrapped."},{name:"timeline-scope",status:"experimental",syntax:"none | <dashed-ident>#",relevance:50,browsers:["E116","C116","O102"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/timeline-scope"}],description:"The timeline-scope CSS property modifies the scope of a named animation tim Line truncated
In order to let ::-webkit-progress-value take effect, -webkit-appearance needs to be set to none on the <progress> element.`},{name:"::grammar-error",status:"experimental",browsers:["E121","Spreview","C121"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::grammar-error"}],description:"The ::grammar-error CSS pseudo-element represents a text segment which the user agent has flagged as grammatically incorrect."},{name:"::marker",browsers:["E86","FF68","S11.1","C86","O72"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::marker"}],description:"The ::marker CSS pseudo-element selects the marker box of a list item, which typically contains a bullet or number. It works on any element or pseudo-element set to display: list-item, such as the <li> and <summary> elements."},{name:"::part",status:"experimental",browsers:["E79","FF72","S13.1","C73","O60"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::part"}],description:"The ::part CSS pseudo-element represents any element within a shadow tree that has a matching part attribute."},{name:"::placeholder",browsers:["E79","FF51","S10.1","C57","O44"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::placeholder"}],description:"The ::placeholder CSS pseudo-element represents the placeholder text of a form element."},{name:"::slotted",browsers:["E79","FF63","S10","C50","O37"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::slotted"}],description:"The :slotted() CSS pseudo-element represents any element that has been placed into a slot inside an HTML template."},{name:"::spelling-error",status:"experimental",browsers:["E121","Spreview","C121"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::spelling-error"}],description:"The ::spelling-error CSS pseudo-element represents a text segment which the user agent has flagged as incorrectly spelled."},{name:"::view-transition",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition"}],description:"The ::view-transition CSS pseudo-element represents the root of the view transitions overlay, which contains all view transitions and sits over the top of all other page content."},{name:"::view-transition-group",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-group"}],description:"The ::view-transition-group CSS pseudo-element represents a single view transition group."},{name:"::view-transition-image-pair",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-image-pair"}],description:`The ::view-transition-image-pair CSS pseudo-element represents a container for a view transition's "old" and "new" view states — before and after the transition.`},{name:"::view-transition-new",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-new"}],description:'The ::view-transition-new CSS pseudo-element represents the "new" view state of a view transition — a live representation of the new view, after the transition.'},{name:"::view-transition-old",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-old"}],description:'The ::view-transition-old CSS pseudo-element represents the "old" view state of a view transition — a static screenshot of the old view, before the transition.'}]};class gr{constructor(e){this._properties=[],this._atDirectives=[],this._pseudoClasses=[],this._pseudoElements=[],this.addData(e)}provideProperties(){return this._properties}provideAtDirectives(){return this._atDirectives}providePseudoClasses(){return this._pseudoClasses}providePseudoElements(){return this._pseudoElements}addData(e){if(Array.isArray(e.properties))for(const t of e.properties)$s(t)&&this._properties.push(t);if(Array.isArray(e.atDirectives))for(const t of e.atDirectives)Us(t)&&this._atDirectives.push(t);if(Array.isArray(e.pseudoClasses))for(const t of e.pseudoClasses)Vs(t)&&this._pseudoClasses.push(t);if(Array.isArray(e.pseudoElements))for(const t of e.pseudoElements)Bs(t)&&this._pseudoElements.push(t)}}function $s(r){return typeof r.name=="string"}function Us(r){return typeof r.name=="string"}function Vs(r){return typeof r.name=="string"}function Bs(r){return typeof r.name=="string"}class jt{constructor(e){this.dataProviders=[],this._propertySet={},this._atDirectiveSet={},this._pseudoClassSet={},this._pseudoElementSet={},this._properties=[],this._atDirectives=[],this._pseudoClasses=[],this._pseudoElements=[],this.setDataProviders(e?.useDefaultDataProviLine truncated
@@ -0,0 +1 @@
define("vs/language/css/monaco.contribution",["exports","../../monaco.contribution-9cKT3C7t"],(function(s,l){"use strict";s.cssDefaults=l.cssDefaults,s.lessDefaults=l.lessDefaults,s.scssDefaults=l.scssDefaults,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1,443 @@
define("vs/language/html/html.worker",["../../initialize-DL0l1TGY","../../index-049xrXrp","../../main-DsK8pnKg"],(function(Ae,j,A){"use strict";var v;(function(s){s[s.StartCommentTag=0]="StartCommentTag",s[s.Comment=1]="Comment",s[s.EndCommentTag=2]="EndCommentTag",s[s.StartTagOpen=3]="StartTagOpen",s[s.StartTagClose=4]="StartTagClose",s[s.StartTagSelfClose=5]="StartTagSelfClose",s[s.StartTag=6]="StartTag",s[s.EndTagOpen=7]="EndTagOpen",s[s.EndTagClose=8]="EndTagClose",s[s.EndTag=9]="EndTag",s[s.DelimiterAssign=10]="DelimiterAssign",s[s.AttributeName=11]="AttributeName",s[s.AttributeValue=12]="AttributeValue",s[s.StartDoctypeTag=13]="StartDoctypeTag",s[s.Doctype=14]="Doctype",s[s.EndDoctypeTag=15]="EndDoctypeTag",s[s.Content=16]="Content",s[s.Whitespace=17]="Whitespace",s[s.Unknown=18]="Unknown",s[s.Script=19]="Script",s[s.Styles=20]="Styles",s[s.EOS=21]="EOS"})(v||(v={}));var L;(function(s){s[s.WithinContent=0]="WithinContent",s[s.AfterOpeningStartTag=1]="AfterOpeningStartTag",s[s.AfterOpeningEndTag=2]="AfterOpeningEndTag",s[s.WithinDoctype=3]="WithinDoctype",s[s.WithinTag=4]="WithinTag",s[s.WithinEndTag=5]="WithinEndTag",s[s.WithinComment=6]="WithinComment",s[s.WithinScriptContent=7]="WithinScriptContent",s[s.WithinStyleContent=8]="WithinStyleContent",s[s.AfterAttributeName=9]="AfterAttributeName",s[s.BeforeAttributeValue=10]="BeforeAttributeValue"})(L||(L={}));var le;(function(s){s.LATEST={textDocument:{completion:{completionItem:{documentationFormat:[A.MarkupKind.Markdown,A.MarkupKind.PlainText]}},hover:{contentFormat:[A.MarkupKind.Markdown,A.MarkupKind.PlainText]}}}})(le||(le={}));var ae;(function(s){s[s.Unknown=0]="Unknown",s[s.File=1]="File",s[s.Directory=2]="Directory",s[s.SymbolicLink=64]="SymbolicLink"})(ae||(ae={}));class De{constructor(t,l){this.source=t,this.len=t.length,this.position=l}eos(){return this.len<=this.position}getSource(){return this.source}pos(){return this.position}goBackTo(t){this.position=t}goBack(t){this.position-=t}advance(t){this.position+=t}goToEnd(){this.position=this.source.length}nextChar(){return this.source.charCodeAt(this.position++)||0}peekChar(t=0){return this.source.charCodeAt(this.position+t)||0}advanceIfChar(t){return t===this.source.charCodeAt(this.position)?(this.position++,!0):!1}advanceIfChars(t){let l;if(this.position+t.length>this.source.length)return!1;for(l=0;l<t.length;l++)if(this.source.charCodeAt(this.position+l)!==t[l])return!1;return this.advance(l),!0}advanceIfRegExp(t){const h=this.source.substr(this.position).match(t);return h?(this.position=this.position+h.index+h[0].length,h[0]):""}advanceUntilRegExp(t){const h=this.source.substr(this.position).match(t);return h?(this.position=this.position+h.index,h[0]):(this.goToEnd(),"")}advanceUntilChar(t){for(;this.position<this.source.length;){if(this.source.charCodeAt(this.position)===t)return!0;this.advance(1)}return!1}advanceUntilChars(t){for(;this.position+t.length<=this.source.length;){let l=0;for(;l<t.length&&this.source.charCodeAt(this.position+l)===t[l];l++);if(l===t.length)return!0;this.advance(1)}return this.goToEnd(),!1}skipWhitespace(){return this.advanceWhileChar(l=>l===ze||l===He||l===Le||l===Re||l===Me)>0}advanceWhileChar(t){const l=this.position;for(;this.position<this.len&&t(this.source.charCodeAt(this.position));)this.position++;return this.position-l}}const ue=33,Y=45,te=60,V=62,re=47,xe=61,Ee=34,Ce=39,Le=10,Me=13,Re=12,ze=32,He=9,Ie={"text/x-handlebars-template":!0,"text/html":!0};function q(s,t=0,l=L.WithinContent,h=!1){const a=new De(s,t);let n=l,u=0,r=v.Unknown,e,i,o,d,f;function w(){return a.advanceIfRegExp(/^[_:\w][_:\w-.\d]*/).toLowerCase()}function E(){return a.advanceIfRegExp(/^[^\s"'></=\x00-\x0F\x7F\x80-\x9F]*/).toLowerCase()}function g(b,S,R){return r=S,u=b,e=R,S}function k(){const b=a.pos(),S=n,R=_();return R!==v.EOS&&b===a.pos()&&!(h&&(R===v.StartTagClose||R===v.EndTagClose))?(console.warn("Scanner.scan has not advanced at offset "+b+", state before: "+S+" after: "+n),a.advance(1),g(b,v.Unknown)):R}function _(){const b=a.pos();if(a.eos())return g(b,v.EOS);let S;switch(n){case L.WithinComment:return a.advanceIfChars([Y,Y,V])?(n=L.WithinContent,g(b,v.EndCommentTag)):(a.advanceUntilChars([Y,Y,V]),g(b,v.Comment));case L.WithinDoctype:return a.advanceIfChar(V)?(n=L.WithinContent,g(b,v.EndDoctypeTag)):(a.advanceUntilChar(V),g(b,v.Doctype));case L.WithinContent:if(a.advanceIfChar(te)){if(!a.eos()&&a.peekChar()===ue){if(a.advanceIfChars([ue,Y,Y]))return n=L.WithinComment,g(b,v.StartCommentTag);if(a.advanceIfRegExp(/^!doctype/i))return n=L.WithinDoctype,g(b,v.StartDoctypeTag)}return a.advanceIfChar(re)?(n=L.AfterOpeningEndTag,g(b,v.EndTagOpen)):(n=L.AfterOpeningStartTag,g(b,v.StartTagOpen))}return a.advanceUntilChar(te),g(b,v.Content);case L.AfterOpeningEndTag:return w().length>0?(n=L.WithinEndTag,g(b,v.EndTag)):a.skipWhitespace()?g(b,v.Whitespace,j.t("Tag name must directly follow the open bracket.")):(n=L.WithinEndTag,a.advanceUntilChar(V),b<a.pos()?g(b,v.Unknown,j.t("End tag namLine truncated
`,"nexist;":"∄","nexists;":"∄","Nfr;":"𝔑","nfr;":"𝔫","ngE;":"≧̸","nge;":"≱","ngeq;":"≱","ngeqq;":"≧̸","ngeqslant;":"⩾̸","nges;":"⩾̸","nGg;":"⋙̸","ngsim;":"≵","nGt;":"≫⃒","ngt;":"≯","ngtr;":"≯","nGtv;":"≫̸","nhArr;":"⇎","nharr;":"↮","nhpar;":"⫲","ni;":"∋","nis;":"⋼","nisd;":"⋺","niv;":"∋","NJcy;":"Њ","njcy;":"њ","nlArr;":"⇍","nlarr;":"↚","nldr;":"‥","nlE;":"≦̸","nle;":"≰","nLeftarrow;":"⇍","nleftarrow;":"↚","nLeftrightarrow;":"⇎","nleftrightarrow;":"↮","nleq;":"≰","nleqq;":"≦̸","nleqslant;":"⩽̸","nles;":"⩽̸","nless;":"≮","nLl;":"⋘̸","nlsim;":"≴","nLt;":"≪⃒","nlt;":"≮","nltri;":"⋪","nltrie;":"⋬","nLtv;":"≪̸","nmid;":"∤","NoBreak;":"⁠","NonBreakingSpace;":" ","Nopf;":"ℕ","nopf;":"𝕟","Not;":"⫬","not;":"¬",not:"¬","NotCongruent;":"≢","NotCupCap;":"≭","NotDoubleVerticalBar;":"∦","NotElement;":"∉","NotEqual;":"≠","NotEqualTilde;":"≂̸","NotExists;":"∄","NotGreater;":"≯","NotGreaterEqual;":"≱","NotGreaterFullEqual;":"≧̸","NotGreaterGreater;":"≫̸","NotGreaterLess;":"≹","NotGreaterSlantEqual;":"⩾̸","NotGreaterTilde;":"≵","NotHumpDownHump;":"≎̸","NotHumpEqual;":"≏̸","notin;":"∉","notindot;":"⋵̸","notinE;":"⋹̸","notinva;":"∉","notinvb;":"⋷","notinvc;":"⋶","NotLeftTriangle;":"⋪","NotLeftTriangleBar;":"⧏̸","NotLeftTriangleEqual;":"⋬","NotLess;":"≮","NotLessEqual;":"≰","NotLessGreater;":"≸","NotLessLess;":"≪̸","NotLessSlantEqual;":"⩽̸","NotLessTilde;":"≴","NotNestedGreaterGreater;":"⪢̸","NotNestedLessLess;":"⪡̸","notni;":"∌","notniva;":"∌","notnivb;":"⋾","notnivc;":"⋽","NotPrecedes;":"⊀","NotPrecedesEqual;":"⪯̸","NotPrecedesSlantEqual;":"⋠","NotReverseElement;":"∌","NotRightTriangle;":"⋫","NotRightTriangleBar;":"⧐̸","NotRightTriangleEqual;":"⋭","NotSquareSubset;":"⊏̸","NotSquareSubsetEqual;":"⋢","NotSquareSuperset;":"⊐̸","NotSquareSupersetEqual;":"⋣","NotSubset;":"⊂⃒","NotSubsetEqual;":"⊈","NotSucceeds;":"⊁","NotSucceedsEqual;":"⪰̸","NotSucceedsSlantEqual;":"⋡","NotSucceedsTilde;":"≿̸","NotSuperset;":"⊃⃒","NotSupersetEqual;":"⊉","NotTilde;":"≁","NotTildeEqual;":"≄","NotTildeFullEqual;":"≇","NotTildeTilde;":"≉","NotVerticalBar;":"∤","npar;":"∦","nparallel;":"∦","nparsl;":"⫽⃥","npart;":"∂̸","npolint;":"⨔","npr;":"⊀","nprcue;":"⋠","npre;":"⪯̸","nprec;":"⊀","npreceq;":"⪯̸","nrArr;":"⇏","nrarr;":"↛","nrarrc;":"⤳̸","nrarrw;":"↝̸","nRightarrow;":"⇏","nrightarrow;":"↛","nrtri;":"⋫","nrtrie;":"⋭","nsc;":"⊁","nsccue;":"⋡","nsce;":"⪰̸","Nscr;":"𝒩","nscr;":"𝓃","nshortmid;":"∤","nshortparallel;":"∦","nsim;":"≁","nsime;":"≄","nsimeq;":"≄","nsmid;":"∤","nspar;":"∦","nsqsube;":"⋢","nsqsupe;":"⋣","nsub;":"⊄","nsubE;":"⫅̸","nsube;":"⊈","nsubset;":"⊂⃒","nsubseteq;":"⊈","nsubseteqq;":"⫅̸","nsucc;":"⊁","nsucceq;":"⪰̸","nsup;":"⊅","nsupE;":"⫆̸","nsupe;":"⊉","nsupset;":"⊃⃒","nsupseteq;":"⊉","nsupseteqq;":"⫆̸","ntgl;":"≹","Ntilde;":"Ñ",Ntilde:"Ñ","ntilde;":"ñ",ntilde:"ñ","ntlg;":"≸","ntriangleleft;":"⋪","ntrianglelefteq;":"⋬","ntriangleright;":"⋫","ntrianglerighteq;":"⋭","Nu;":"Ν","nu;":"ν","num;":"#","numero;":"№","numsp;":" ","nvap;":"≍⃒","nVDash;":"⊯","nVdash;":"⊮","nvDash;":"⊭","nvdash;":"⊬","nvge;":"≥⃒","nvgt;":">⃒","nvHarr;":"⤄","nvinfin;":"⧞","nvlArr;":"⤂","nvle;":"≤⃒","nvlt;":"<⃒","nvltrie;":"⊴⃒","nvrArr;":"⤃","nvrtrie;":"⊵⃒","nvsim;":"∼⃒","nwarhk;":"⤣","nwArr;":"⇖","nwarr;":"↖","nwarrow;":"↖","nwnear;":"⤧","Oacute;":"Ó",Oacute:"Ó","oacute;":"ó",oacute:"ó","oast;":"⊛","ocir;":"⊚","Ocirc;":"Ô",Ocirc:"Ô","ocirc;":"ô",ocirc:"ô","Ocy;":"О","ocy;":"о","odash;":"⊝","Odblac;":"Ő","odblac;":"ő","odiv;":"⨸","odot;":"⊙","odsold;":"⦼","OElig;":"Œ","oelig;":"œ","ofcir;":"⦿","Ofr;":"𝔒","ofr;":"𝔬","ogon;":"˛","Ograve;":"Ò",Ograve:"Ò","ograve;":"ò",ograve:"ò","ogt;":"⧁","ohbar;":"⦵","ohm;":"Ω","oint;":"∮","olarr;":"↺","olcir;":"⦾","olcross;":"⦻","oline;":"‾","olt;":"⧀","Omacr;":"Ō","omacr;":"ō","Omega;":"Ω","omega;":"ω","Omicron;":"Ο","omicron;":"ο","omid;":"⦶","ominus;":"⊖","Oopf;":"𝕆","oopf;":"𝕠","opar;":"⦷","OpenCurlyDoubleQuote;":"“","OpenCurlyQuote;":"‘","operp;":"⦹","oplus;":"⊕","Or;":"⩔","or;":"∨","orarr;":"↻","ord;":"⩝","order;":"ℴ","orderof;":"ℴ","ordf;":"ª",ordf:"ª","ordm;":"º",ordm:"º","origof;":"⊶","oror;":"⩖","orslope;":"⩗","orv;":"⩛","oS;":"Ⓢ","Oscr;":"𝒪","oscr;":"ℴ","Oslash;":"Ø",Oslash:"Ø","oslash;":"ø",oslash:"ø","osol;":"⊘","Otilde;":"Õ",Otilde:"Õ","otilde;":"õ",otilde:"õ","Otimes;":"⨷","otimes;":"⊗","otimesas;":"⨶","Ouml;":"Ö",Ouml:"Ö","ouml;":"ö",ouml:"ö","ovbar;":"⌽","OverBar;":"‾","OverBrace;":"⏞","OverBracket;":"⎴","OverParenthesis;":"⏜","par;" Line truncated
`),l?h.value+=s.references.map(a=>`[${a.name}](${a.url})`).join(" | "):h.value+=s.references.map(a=>`${a.name}: ${a.url}`).join(`
`)),h.value!=="")return h}class Ve{constructor(t,l){this.dataManager=t,this.readDirectory=l,this.atributeCompletions=[]}onHtmlAttributeValue(t){this.dataManager.isPathAttribute(t.tag,t.attribute)&&this.atributeCompletions.push(t)}async computeCompletions(t,l){const h={items:[],isIncomplete:!1};for(const a of this.atributeCompletions){const n=$e(t.getText(a.range));if(Je(n))if(n==="."||n==="..")h.isIncomplete=!0;else{const u=Ye(a.value,n,a.range),r=await this.providePathSuggestions(a.value,u,t,l);for(const e of r)h.items.push(e)}}return h}async providePathSuggestions(t,l,h,a){const n=t.substring(0,t.lastIndexOf("/")+1);let u=a.resolveReference(n||".",h.uri);if(u)try{const r=[],e=await this.readDirectory(u);for(const[i,o]of e)i.charCodeAt(0)!==Ke&&r.push(Xe(i,o===ae.Directory,l));return r}catch{}return[]}}const Ke=46;function $e(s){return $(s,"'")||$(s,'"')?s.slice(1,-1):s}function Je(s){return!($(s,"http")||$(s,"https")||$(s,"//"))}function Ye(s,t,l){let h;const a=s.lastIndexOf("/");if(a===-1)h=Qe(l,1,-1);else{const n=t.slice(a+1),u=ee(l.end,-1-n.length),r=n.indexOf(" ");let e;r!==-1?e=ee(u,r):e=ee(l.end,-1),h=A.Range.create(u,e)}return h}function Xe(s,t,l){return t?(s=s+"/",{label:s,kind:A.CompletionItemKind.Folder,textEdit:A.TextEdit.replace(l,s),command:{title:"Suggest",command:"editor.action.triggerSuggest"}}):{label:s,kind:A.CompletionItemKind.File,textEdit:A.TextEdit.replace(l,s)}}function ee(s,t){return A.Position.create(s.line,s.character+t)}function Qe(s,t,l){const h=ee(s.start,t),a=ee(s.end,l);return A.Range.create(h,a)}class Ze{constructor(t,l){this.lsOptions=t,this.dataManager=l,this.completionParticipants=[]}setCompletionParticipants(t){this.completionParticipants=t||[]}async doComplete2(t,l,h,a,n){if(!this.lsOptions.fileSystemProvider||!this.lsOptions.fileSystemProvider.readDirectory)return this.doComplete(t,l,h,n);const u=new Ve(this.dataManager,this.lsOptions.fileSystemProvider.readDirectory),r=this.completionParticipants;this.completionParticipants=[u].concat(r);const e=this.doComplete(t,l,h,n);try{const i=await u.computeCompletions(t,a);return{isIncomplete:e.isIncomplete||i.isIncomplete,items:i.items.concat(e.items)}}finally{this.completionParticipants=r}}doComplete(t,l,h,a){const n=this._doComplete(t,l,h,a);return this.convertCompletionList(n)}_doComplete(t,l,h,a){const n={isIncomplete:!1,items:[]},u=this.completionParticipants,r=this.dataManager.getDataProviders().filter(T=>T.isApplicable(t.languageId)&&(!a||a[T.getId()]!==!1)),e=this.dataManager.getVoidElements(r),i=this.doesSupportMarkdown(),o=t.getText(),d=t.offsetAt(l),f=h.findNodeBefore(d);if(!f)return n;const w=q(o,f.start);let E="",g;function k(T,D=d){return T>d&&(T=d),{start:t.positionAt(T),end:t.positionAt(D)}}function _(T,D){const M=k(T,D);return r.forEach(F=>{F.provideTags().forEach(B=>{n.items.push({label:B.name,kind:A.CompletionItemKind.Property,documentation:J(B,void 0,i),textEdit:A.TextEdit.replace(M,B.name),insertTextFormat:A.InsertTextFormat.PlainText})})}),n}function b(T){let D=T;for(;D>0;){const M=o.charAt(D-1);if(`
\r`.indexOf(M)>=0)return o.substring(D,T);if(!ie(M))return null;D--}return o.substring(0,T)}function S(T,D,M=d){const F=k(T,M),B=me(o,M,L.WithinEndTag,v.EndTagClose)?"":">";let z=f;for(D&&(z=z.parent);z;){const H=z.tag;if(H&&(!z.closed||z.endTagStart&&z.endTagStart>d)){const N={label:"/"+H,kind:A.CompletionItemKind.Property,filterText:"/"+H,textEdit:A.TextEdit.replace(F,"/"+H+B),insertTextFormat:A.InsertTextFormat.PlainText},P=b(z.start),K=b(T-1);if(P!==null&&K!==null&&P!==K){const X=P+"</"+H+B;N.textEdit=A.TextEdit.replace(k(T-1-K.length),X),N.filterText=K+"</"+H}return n.items.push(N),n}z=z.parent}return D||r.forEach(H=>{H.provideTags().forEach(N=>{n.items.push({label:"/"+N.name,kind:A.CompletionItemKind.Property,documentation:J(N,void 0,i),filterText:"/"+N.name+B,textEdit:A.TextEdit.replace(F,"/"+N.name+B),insertTextFormat:A.InsertTextFormat.PlainText})})}),n}const R=(T,D)=>{if(a&&a.hideAutoCompleteProposals)return n;if(!this.dataManager.isVoidElement(D,e)){const M=t.positionAt(T);n.items.push({label:"</"+D+">",kind:A.CompletionItemKind.Property,filterText:"</"+D+">",textEdit:A.TextEdit.insert(M,"$0</"+D+">"),insertTextFormat:A.InsertTextFormat.Snippet})}return n};function U(T,D){return _(T,D),S(T,!0,D),n}function O(){const T=Object.create(null);return f.attributeNames.forEach(D=>{T[D]=!0}),T}function p(T,D=d){let M=d;for(;M<D&&o[M]!=="<";)M++;const F=o.substring(T,D),B=k(T,M);let z="";if(!me(o,D,L.AfterAttributeName,v.DelimiterAssign)){const N=a?.attributeDefaultValue??"doublequotes";N==="empty"?z="=$1":N==="singlequotes"?z="='$1'":z='="$1"'}const H=O();return H[F]=!1,r.forEach(N=>{N.provideAttributes(E).forEach(P=>{if(H[P.name])return;H[P.name]=!0;let K=P.name,X;P.valueSet!=="v"&&z.length&&(K=K+z,(P.valueSet||P.name==="style")&&(X={title:"Suggest",command:"editor.action.triggerSuggest"})),n.items.push({label:P.name,kind:P.valueSet==="handler"?A.CompletionItemKind.Function:A.CompletionItemKind.Value,documentation:J(P,void 0,i),textEdit:A.TextEdit.replace(B,K),insertTextFormat:A.InsertTextFormat.Snippet,command:X})})}),c(B,H),n}function c(T,D){const M="data-",F={};F[M]=`${M}$1="$2"`;function B(z){z.attributeNames.forEach(H=>{$(H,M)&&!F[H]&&!D[H]&&(F[H]=H+'="$1"')}),z.children.forEach(H=>B(H))}h&&h.roots.forEach(z=>B(z)),Object.keys(F).forEach(z=>n.items.push({label:z,kind:A.CompletionItemKind.Value,textEdit:A.TextEdit.replace(T,F[z]),insertTextFormat:A.InsertTextFormat.Snippet}))}function m(T,D=d){let M,F,B;if(d>T&&d<=D&&et(o[T])){const z=T+1;let H=D;D>T&&o[D-1]===o[T]&&H--;const N=tt(o,d,z),P=nt(o,d,H);M=k(N,P),B=d>=z&&d<=H?o.substring(z,d):"",F=!1}else M=k(T,D),B=o.substring(T,d),F=!0;if(u.length>0){const z=E.toLowerCase(),H=g.toLowerCase(),N=k(T,D);for(const P of u)P.onHtmlAttributeValue&&P.onHtmlAttributeValue({document:t,position:l,tag:z,attribute:H,value:B,range:N})}return r.forEach(z=>{z.provideValues(E,g).forEach(H=>{const N=F?'"'+H.name+'"':H.name;n.items.push({label:H.name,filterText:N,kind:A.CompletionItemKind.Unit,documentation:J(H,void 0,i),textEdit:A.TextEdit.replace(M,N),insertTextFormat:A.InsertTextFormat.PlainText})})}),C(),n}function x(T){return d===w.getTokenEnd()&&(W=w.scan(),W===T&&w.getTokenOffset()===d)?w.getTokenEnd():d}function y(){for(const T of u)T.onHtmlContent&&T.onHtmlContent({document:t,position:l});return C()}function C(){let T=d-1,D=l.character;for(;T>=0&&Z(o,T);)T--,D--;if(T>=0&&o[T]==="&"){const M=A.Range.create(A.Position.create(l.line,D-1),l);for(const F in Q)if(Be(F,";")){const B="&"+F;n.items.push({label:B,kind:A.CompletionItemKind.Keyword,documentation:j.t("Character entity representing '{0}'",Q[F]),textEdit:A.TextEdit.replace(M,B),insertTextFormat:A.InsertTextFormat.PlainText})}}return n}function I(T,D){const M=k(T,D);n.items.push({label:"!DOCTYPE",kind:A.CompletionItemKind.Property,documentation:"A preamble for an HTML document.",textEdit:A.TextEdit.replace(M,"!DOCTYPE html>"),insertTextFormat:A.InsertTextFormat.PlainText})}let W=w.scan();for(;W!==v.EOS&&w.getTokenOffset()<=d;){switch(W){case v.StartTagOpen:if(w.getTokenEnd()===d){const T=x(v.StartTag);return l.line===0&&I(d,T),U(d,T)}break;case v.StartTag:if(w.getTokenOffset()<=d&&d<=w.getTokenEnd())return _(w.getTokenOffset(),w.getTokenEnd());E=w.getTokenText();break;case v.AttributeName:if(w.getTokenOffset()<=d&&d<=w.getTokenEnd())return p(w.getTokenOffset(),w.getTokenEnd());g=w.getTokenText();break;case v.DelimiterAssign:if(w.getTokenEnd()===d){const T=x(v.AttributeValue);return m(d,T)}break;case v.AttributeValue:if(w.getTokenOffset()<=d&&d<=w.getTokenEnd())return m(w.getTokenOffset(),w.getTokenEnd());break;case v.Whitespace:if(d<=w.getTokenEnd())switch(w.getScannerState()){case L.AfterOpeningStartTag:const T=w.getTokenOffset(),D=x(v.StartTag);return U(T,D);case L.WithinTag:case L.AfterAttributeName:return p(w.getTokenEnd());case L.BeforeAttributeValue:return m(w.getTokenEnd());case L.AfterOpeningEndTag:return S(w.getTokenOffset()-1,!1);case L.WithinContent:return y()}break;case v.EndTagOpen:if(d<=w.getToken Line truncated
`);i!==-1?this.__character_count=e.length-i:this.__character_count+=e.length},n.prototype.pop=function(){var e=null;return this.is_empty()||(e=this.__items.pop(),this.__character_count-=e.length),e},n.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},n.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},n.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},n.prototype.toString=function(){var e="";return this.is_empty()?this.__parent.indent_empty_lines&&(e=this.__parent.get_indent_string(this.__indent_count)):(e=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),e+=this.__items.join("")),e};function u(e,i){this.__cache=[""],this.__indent_size=e.indent_size,this.__indent_string=e.indent_char,e.indent_with_tabs||(this.__indent_string=new Array(e.indent_size+1).join(e.indent_char)),i=i||"",e.indent_level>0&&(i=new Array(e.indent_level+1).join(this.__indent_string)),this.__base_string=i,this.__base_string_length=i.length}u.prototype.get_indent_size=function(e,i){var o=this.__base_string_length;return i=i||0,e<0&&(o=0),o+=e*this.__indent_size,o+=i,o},u.prototype.get_indent_string=function(e,i){var o=this.__base_string;return i=i||0,e<0&&(e=0,o=""),i+=e*this.__indent_size,this.__ensure_cache(i),o+=this.__cache[i],o},u.prototype.__ensure_cache=function(e){for(;e>=this.__cache.length;)this.__add_column()},u.prototype.__add_column=function(){var e=this.__cache.length,i=0,o="";this.__indent_size&&e>=this.__indent_size&&(i=Math.floor(e/this.__indent_size),e-=i*this.__indent_size,o=new Array(i+1).join(this.__indent_string)),e&&(o+=new Array(e+1).join(" ")),this.__cache.push(o)};function r(e,i){this.__indent_cache=new u(e,i),this.raw=!1,this._end_with_newline=e.end_with_newline,this.indent_size=e.indent_size,this.wrap_line_length=e.wrap_line_length,this.indent_empty_lines=e.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new n(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}r.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},r.prototype.get_line_number=function(){return this.__lines.length},r.prototype.get_indent_string=function(e,i){return this.__indent_cache.get_indent_string(e,i)},r.prototype.get_indent_size=function(e,i){return this.__indent_cache.get_indent_size(e,i)},r.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},r.prototype.add_new_line=function(e){return this.is_empty()||!e&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},r.prototype.get_code=function(e){this.trim(!0);var i=this.current_line.pop();i&&(i[i.length-1]===`
`&&(i=i.replace(/\n+$/g,"")),this.current_line.push(i)),this._end_with_newline&&this.__add_outputline();var o=this.__lines.join(`
`);return e!==`
`&&(o=o.replace(/[\n]/g,e)),o},r.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},r.prototype.set_indent=function(e,i){return e=e||0,i=i||0,this.next_line.set_indent(e,i),this.__lines.length>1?(this.current_line.set_indent(e,i),!0):(this.current_line.set_indent(),!1)},r.prototype.add_raw_token=function(e){for(var i=0;i<e.newlines;i++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(e.whitespace_before),this.current_line.push(e.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},r.prototype.add_token=function(e){this.__add_space_before_token(),this.current_line.push(e),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},r.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},r.prototype.remove_indent=function(e){for(var i=this.__lines.length;e<i;)this.__lines[e]._remove_indent(),e++;this.current_line._remove_wrap_indent()},r.prototype.trim=function(e){for(e=e===void 0?!1:e,this.current_line.trim();e&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},r.prototype.just_added_newline=function(){return this.current_line.is_empty()},r.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},r.prototype.ensure_empty_line_above=function(e,i){for(var o=this.__lines.length-2;o>=0;){var d=this.__lines[o];if(d.is_empty())break;if(d.item(0).indexOf(e)!==0&&d.item(-1)!==i){this.__lines.splice(o+1,0,new n(this)),this.previous_line=this.__lines[this.__lines.length-2];break}o--}},a.exports.Output=r}),,,,(function(a){function n(e,i){this.raw_options=u(e,i),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}n.prototype._get_array=function(e,i){var o=this.raw_options[e],d=i||[];return typeof o=="object"?o!==null&&typeof o.concat=="function"&&(d=o.concat()):typeof o=="string"&&(d=o.split(/[^a-zA-Z0-9_\/\-]+/)),d},n.prototype._get_boolean=function(e,i){var o=this.raw_options[e],d=o===void 0?!!i:!!o;return d},n.prototype._get_characters=function(e,i){var o=this.raw_options[e],d=i||"";return typeof o=="string"&&(d=o.replace(/\\r/,"\r").replace(/\\n/,`
`).replace(/\\t/," ")),d},n.prototype._get_number=function(e,i){var o=this.raw_options[e];i=parseInt(i,10),isNaN(i)&&(i=0);var d=parseInt(o,10);return isNaN(d)&&(d=i),d},n.prototype._get_selection=function(e,i,o){var d=this._get_selection_list(e,i,o);if(d.length!==1)throw new Error("Invalid Option Value: The option '"+e+`' can only be one of the following values:
`+i+`
You passed in: '`+this.raw_options[e]+"'");return d[0]},n.prototype._get_selection_list=function(e,i,o){if(!i||i.length===0)throw new Error("Selection list cannot be empty.");if(o=o||[i[0]],!this._is_valid_selection(o,i))throw new Error("Invalid Default Value!");var d=this._get_array(e,o);if(!this._is_valid_selection(d,i))throw new Error("Invalid Option Value: The option '"+e+`' can contain only the following values:
`+i+`
You passed in: '`+this.raw_options[e]+"'");return d},n.prototype._is_valid_selection=function(e,i){return e.length&&i.length&&!e.some(function(o){return i.indexOf(o)===-1})};function u(e,i){var o={};e=r(e);var d;for(d in e)d!==i&&(o[d]=e[d]);if(i&&e[i])for(d in e[i])o[d]=e[i][d];return o}function r(e){var i={},o;for(o in e){var d=o.replace(/-/g,"_");i[d]=e[o]}return i}a.exports.Options=n,a.exports.normalizeOpts=r,a.exports.mergeOpts=u}),,(function(a){var n=RegExp.prototype.hasOwnProperty("sticky");function u(r){this.__input=r||"",this.__input_length=this.__input.length,this.__position=0}u.prototype.restart=function(){this.__position=0},u.prototype.back=function(){this.__position>0&&(this.__position-=1)},u.prototype.hasNext=function(){return this.__position<this.__input_length},u.prototype.next=function(){var r=null;return this.hasNext()&&(r=this.__input.charAt(this.__position),this.__position+=1),r},u.prototype.peek=function(r){var e=null;return r=r||0,r+=this.__position,r>=0&&r<this.__input_length&&(e=this.__input.charAt(r)),e},u.prototype.__match=function(r,e){r.lastIndex=e;var i=r.exec(this.__input);return i&&!(n&&r.sticky)&&i.index!==e&&(i=null),i},u.prototype.test=function(r,e){return e=e||0,e+=this.__position,e>=0&&e<this.__input_length?!!this.__match(r,e):!1},u.prototype.testChar=function(r,e){var i=this.peek(e);return r.lastIndex=0,i!==null&&r.test(i)},u.prototype.match=function(r){var e=this.__match(r,this.__position);return e?this.__position+=e[0].length:e=null,e},u.prototype.read=function(r,e,i){var o="",d;return r&&(d=this.match(r),d&&(o+=d[0])),e&&(d||!r)&&(o+=this.readUntil(e,i)),o},u.prototype.readUntil=function(r,e){var i="",o=this.__position;r.lastIndex=this.__position;var d=r.exec(this.__input);return d?(o=d.index,e&&(o+=d[0].length)):o=this.__input_length,i=this.__input.substring(this.__position,o),this.__position=o,i},u.prototype.readUntilAfter=function(r){return this.readUntil(r,!0)},u.prototype.get_regexp=function(r,e){var i=null,o="g";return e&&n&&(o="y"),typeof r=="string"&&r!==""?i=new RegExp(r,o):r&&(i=new RegExp(r.source,o)),i},u.prototype.get_literal_regexp=function(r){return RegExp(r.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},u.prototype.peekUntilAfter=function(r){var e=this.__position,i=this.readUntilAfter(r);return this.__position=e,i},u.prototype.lookBack=function(r){var e=this.__position-1;return e>=r.length&&this.__input.substring(e-r.length,e).toLowerCase()===r},a.exports.InputScanner=u}),,,,,(function(a){function n(u,r){u=typeof u=="string"?u:u.source,r=typeof r=="string"?r:r.source,this.__directives_block_pattern=new RegExp(u+/ beautify( \w+[:]\w+)+ /.source+r,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(u+/\sbeautify\signore:end\s/.source+r,"g")}n.prototype.get_directives=function(u){if(!u.match(this.__directives_block_pattern))return null;var r={};this.__directive_pattern.lastIndex=0;for(var e=this.__directive_pattern.exec(u);e;)r[e[1]]=e[2],e=this.__directive_pattern.exec(u);return r},n.prototype.readIgnored=function(u){return u.readUntilAfter(this.__directives_end_ignore_pattern)},a.exports.Directives=n}),,(function(a,n,u){var r=u(16).Beautifier,e=u(17).Options;function i(o,d){var f=new r(o,d);return f.beautify()}a.exports=i,a.exports.defaultOptions=function(){return new e}}),(function(a,n,u){var r=u(17).Options,e=u(2).Output,i=u(8).InputScanner,o=u(13).Directives,d=new o(/\/\*/,/\*\//),f=/\r\n|[\r\n]/,w=/\r\n|[\r\n]/g,E=/\s/,g=/(?:\s|\n)+/g,k=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,_=/\/\/(?:[^\n\r\u2028\u2029]*)/g;function b(S,R){this._source_text=S||"",this._options=new r(R),this._ch=null,this._input=null,this.NESTED_AT_RULE={page:!0,"font-face":!0,keyframes:!0,media:!0,supports:!0,document:!0},this.CONDITIONAL_GROUP_RULE={media:!0,supports:!0,document:!0},this.NON_SEMICOLON_NEWLINE_PROPERTY=["grid-template-areas","grid-template"]}b.prototype.eatString=function(S){var R="";for(this._ch=this._input.next();this._ch;){if(R+=this._ch,this._ch==="\\")R+=this._input.next();else if(S.indexOf(this._ch)!==-1||this._ch===`
`)break;this._ch=this._input.next()}return R},b.prototype.eatWhitespace=function(S){for(var R=E.test(this._input.peek()),U=0;E.test(this._input.peek());)this._ch=this._input.next(),S&&this._ch===`
`&&(U===0||U<this._options.max_preserve_newlines)&&(U++,this._output.add_new_line(!0));return R},b.prototype.foundNestedPseudoClass=function(){for(var S=0,R=1,U=this._input.peek(R);U;){if(U==="{")return!0;if(U==="(")S+=1;else if(U===")"){if(S===0)return!1;S-=1}else if(U===";"||U==="}")return!1;R++,U=this._input.peek(R)}return!1},b.prototype.print_string=function(S){this._output.set_indent(this._indentLevel),this._output.non_breaking_space=!0,this._output.add_token(S)},b.prototype.preserveSingleSpace=function(S){S&&(this._output.space_before_token=!0)},b.prototype.indent=function(){this._indentLevel++},b.prototype.outdent=function(){this._indentLevel>0&&this._indentLevel--},b.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var S=this._source_text,R=this._options.eol;R==="auto"&&(R=`
`,S&&f.test(S||"")&&(R=S.match(f)[0])),S=S.replace(w,`
`);var U=S.match(/^[\t ]*/)[0];this._output=new e(this._options,U),this._input=new i(S),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var O=0,p=!1,c=!1,m=!1,x=!1,y=!1,C=this._ch,I=!1,W,T,D;W=this._input.read(g),T=W!=="",D=C,this._ch=this._input.next(),this._ch==="\\"&&this._input.hasNext()&&(this._ch+=this._input.next()),C=this._ch,this._ch;)if(this._ch==="/"&&this._input.peek()==="*"){this._output.add_new_line(),this._input.back();var M=this._input.read(k),F=d.get_directives(M);F&&F.ignore==="start"&&(M+=d.readIgnored(this._input)),this.print_string(M),this.eatWhitespace(!0),this._output.add_new_line()}else if(this._ch==="/"&&this._input.peek()==="/")this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(_)),this.eatWhitespace(!0);else if(this._ch==="$"){this.preserveSingleSpace(T),this.print_string(this._ch);var B=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);B.match(/[ :]$/)&&(B=this.eatString(": ").replace(/\s+$/,""),this.print_string(B),this._output.space_before_token=!0),O===0&&B.indexOf(":")!==-1&&(c=!0,this.indent())}else if(this._ch==="@")if(this.preserveSingleSpace(T),this._input.peek()==="{")this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var z=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);z.match(/[ :]$/)&&(z=this.eatString(": ").replace(/\s+$/,""),this.print_string(z),this._output.space_before_token=!0),O===0&&z.indexOf(":")!==-1?(c=!0,this.indent()):z in this.NESTED_AT_RULE?(this._nestedLevel+=1,z in this.CONDITIONAL_GROUP_RULE&&(m=!0)):O===0&&!c&&(x=!0)}else if(this._ch==="#"&&this._input.peek()==="{")this.preserveSingleSpace(T),this.print_string(this._ch+this.eatString("}"));else if(this._ch==="{")c&&(c=!1,this.outdent()),x=!1,m?(m=!1,p=this._indentLevel>=this._nestedLevel):p=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&p&&this._output.previous_line&&this._output.previous_line.item(-1)!=="{"&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,this._options.brace_style==="expand"?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):(D==="("?this._output.space_before_token=!1:D!==","&&this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line();else if(this._ch==="}")this.outdent(),this._output.add_new_line(),D==="{"&&this._output.trim(!0),c&&(this.outdent(),c=!1),this.print_string(this._ch),p=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&this._input.peek()!=="}"&&this._output.add_new_line(!0),this._input.peek()===")"&&(this._output.trim(!0),this._options.brace_style==="expand"&&this._output.add_new_line(!0));else if(this._ch===":"){for(var H=0;H<this.NON_SEMICOLON_NEWLINE_PROPERTY.length;H++)if(this._input.lookBack(this.NON_SEMICOLON_NEWLINE_PROPERTY[H])){I=!0;break}(p||m)&&!(this._input.lookBack("&")||this.foundNestedPseudoClass())&&!this._input.lookBack("(")&&!x&&O===0?(this.print_string(":"),c||(c=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):(this._input.lookBack(" ")&&(this._output.space_before_token=!0),this._input.peek()===":"?(this._ch=this._input.next(),this.print_string("::")):this.print_string(":"))}else if(this._ch==='"'||this._ch==="'"){var N=D==='"'||D==="'";this.preserveSingleSpace(N||T),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)}else if(this._ch===";")I=!1,O===0?(c&&(this.outdent(),c=!1),x=!1,this.print_string(this._ch),this.eatWhitespace(!0),this._input.peek()!=="/"&&this._output.add_new_line()):(this.print_string(this._ch),this.eatWhitespace(!0),this._output.space_before_token=!0);else if(this._ch==="(")if(this._input.lookBack("url"))this.print_string(this._ch),this.eatWhitespace(),O++,this.indent(),this._ch=this._input.next(),this._ch===")"||this._ch==='"'||this._ch==="'"?this._input.back():this._ch&&(this.print_string(this._ch+this.eatString(")")),O&&(O--,this.outdent()));else{var P=!1;this._input.lookBack("with")&&(P=!0),this.preserveSingleSpace(T||P),this.print_string(this._ch),c&&D==="$"&&this._options.selector_separator_newline?(this._output.add_new_line(),y=!0):(this.eatWhitespace(),O++,this.indent())}else if(this._ch===")")O&&(O--,this.outdent()),y&&this._input.peek()===";"&&this._options.selector_separator_newline&&(y=!1,this.outdent(),this._output.add_new_line()),this.print_string(this._ch);else if(this._ch===",")this.print_string(this._ch),this.eatWhitespace(!0),this._options.selector_separator_newline&&(!c||y)&&O===0&&!x?this._output.add_new_line():this._output.space_before_token=!0;else if((this._ch===">"||this._ch==="+"||this._ch==="~")&&!c&&O===0)this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._c Line truncated
`&&I&&this._output.add_new_line()}var X=this._output.get_code(R);return X},a.exports.Beautifier=b}),(function(a,n,u){var r=u(6).Options;function e(i){r.call(this,i,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var o=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||o;var d=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_style="collapse";for(var f=0;f<d.length;f++)d[f]!=="expand"?this.brace_style="collapse":this.brace_style=d[f]}e.prototype=new r,a.exports.Options=e})],t={};function l(a){var n=t[a];if(n!==void 0)return n.exports;var u=t[a]={exports:{}};return s[a](u,u.exports,l),u.exports}var h=l(15);fe=h})();var ot=fe,ge;(function(){var s=[,,(function(a){function n(e){this.__parent=e,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}n.prototype.clone_empty=function(){var e=new n(this.__parent);return e.set_indent(this.__indent_count,this.__alignment_count),e},n.prototype.item=function(e){return e<0?this.__items[this.__items.length+e]:this.__items[e]},n.prototype.has_match=function(e){for(var i=this.__items.length-1;i>=0;i--)if(this.__items[i].match(e))return!0;return!1},n.prototype.set_indent=function(e,i){this.is_empty()&&(this.__indent_count=e||0,this.__alignment_count=i||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},n.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},n.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},n.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var e=this.__parent.current_line;return e.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),e.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),e.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,e.__items[0]===" "&&(e.__items.splice(0,1),e.__character_count-=1),!0}return!1},n.prototype.is_empty=function(){return this.__items.length===0},n.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},n.prototype.push=function(e){this.__items.push(e);var i=e.lastIndexOf(`
`);i!==-1?this.__character_count=e.length-i:this.__character_count+=e.length},n.prototype.pop=function(){var e=null;return this.is_empty()||(e=this.__items.pop(),this.__character_count-=e.length),e},n.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},n.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},n.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},n.prototype.toString=function(){var e="";return this.is_empty()?this.__parent.indent_empty_lines&&(e=this.__parent.get_indent_string(this.__indent_count)):(e=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),e+=this.__items.join("")),e};function u(e,i){this.__cache=[""],this.__indent_size=e.indent_size,this.__indent_string=e.indent_char,e.indent_with_tabs||(this.__indent_string=new Array(e.indent_size+1).join(e.indent_char)),i=i||"",e.indent_level>0&&(i=new Array(e.indent_level+1).join(this.__indent_string)),this.__base_string=i,this.__base_string_length=i.length}u.prototype.get_indent_size=function(e,i){var o=this.__base_string_length;return i=i||0,e<0&&(o=0),o+=e*this.__indent_size,o+=i,o},u.prototype.get_indent_string=function(e,i){var o=this.__base_string;return i=i||0,e<0&&(e=0,o=""),i+=e*this.__indent_size,this.__ensure_cache(i),o+=this.__cache[i],o},u.prototype.__ensure_cache=function(e){for(;e>=this.__cache.length;)this.__add_column()},u.prototype.__add_column=function(){var e=this.__cache.length,i=0,o="";this.__indent_size&&e>=this.__indent_size&&(i=Math.floor(e/this.__indent_size),e-=i*this.__indent_size,o=new Array(i+1).join(this.__indent_string)),e&&(o+=new Array(e+1).join(" ")),this.__cache.push(o)};function r(e,i){this.__indent_cache=new u(e,i),this.raw=!1,this._end_with_newline=e.end_with_newline,this.indent_size=e.indent_size,this.wrap_line_length=e.wrap_line_length,this.indent_empty_lines=e.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new n(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}r.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},r.prototype.get_line_number=function(){return this.__lines.length},r.prototype.get_indent_string=function(e,i){return this.__indent_cache.get_indent_string(e,i)},r.prototype.get_indent_size=function(e,i){return this.__indent_cache.get_indent_size(e,i)},r.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},r.prototype.add_new_line=function(e){return this.is_empty()||!e&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},r.prototype.get_code=function(e){this.trim(!0);var i=this.current_line.pop();i&&(i[i.length-1]===`
`&&(i=i.replace(/\n+$/g,"")),this.current_line.push(i)),this._end_with_newline&&this.__add_outputline();var o=this.__lines.join(`
`);return e!==`
`&&(o=o.replace(/[\n]/g,e)),o},r.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},r.prototype.set_indent=function(e,i){return e=e||0,i=i||0,this.next_line.set_indent(e,i),this.__lines.length>1?(this.current_line.set_indent(e,i),!0):(this.current_line.set_indent(),!1)},r.prototype.add_raw_token=function(e){for(var i=0;i<e.newlines;i++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(e.whitespace_before),this.current_line.push(e.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},r.prototype.add_token=function(e){this.__add_space_before_token(),this.current_line.push(e),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},r.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},r.prototype.remove_indent=function(e){for(var i=this.__lines.length;e<i;)this.__lines[e]._remove_indent(),e++;this.current_line._remove_wrap_indent()},r.prototype.trim=function(e){for(e=e===void 0?!1:e,this.current_line.trim();e&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},r.prototype.just_added_newline=function(){return this.current_line.is_empty()},r.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},r.prototype.ensure_empty_line_above=function(e,i){for(var o=this.__lines.length-2;o>=0;){var d=this.__lines[o];if(d.is_empty())break;if(d.item(0).indexOf(e)!==0&&d.item(-1)!==i){this.__lines.splice(o+1,0,new n(this)),this.previous_line=this.__lines[this.__lines.length-2];break}o--}},a.exports.Output=r}),(function(a){function n(u,r,e,i){this.type=u,this.text=r,this.comments_before=null,this.newlines=e||0,this.whitespace_before=i||"",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null}a.exports.Token=n}),,,(function(a){function n(e,i){this.raw_options=u(e,i),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}n.prototype._get_array=function(e,i){var o=this.raw_options[e],d=i||[];return typeof o=="object"?o!==null&&typeof o.concat=="function"&&(d=o.concat()):typeof o=="string"&&(d=o.split(/[^a-zA-Z0-9_\/\-]+/)),d},n.prototype._get_boolean=function(e,i){var o=this.raw_options[e],d=o===void 0?!!i:!!o;return d},n.prototype._get_characters=function(e,i){var o=this.raw_options[e],d=i||"";return typeof o=="string"&&(d=o.replace(/\\r/,"\r").replace(/\\n/,`
`).replace(/\\t/," ")),d},n.prototype._get_number=function(e,i){var o=this.raw_options[e];i=parseInt(i,10),isNaN(i)&&(i=0);var d=parseInt(o,10);return isNaN(d)&&(d=i),d},n.prototype._get_selection=function(e,i,o){var d=this._get_selection_list(e,i,o);if(d.length!==1)throw new Error("Invalid Option Value: The option '"+e+`' can only be one of the following values:
`+i+`
You passed in: '`+this.raw_options[e]+"'");return d[0]},n.prototype._get_selection_list=function(e,i,o){if(!i||i.length===0)throw new Error("Selection list cannot be empty.");if(o=o||[i[0]],!this._is_valid_selection(o,i))throw new Error("Invalid Default Value!");var d=this._get_array(e,o);if(!this._is_valid_selection(d,i))throw new Error("Invalid Option Value: The option '"+e+`' can contain only the following values:
`+i+`
You passed in: '`+this.raw_options[e]+"'");return d},n.prototype._is_valid_selection=function(e,i){return e.length&&i.length&&!e.some(function(o){return i.indexOf(o)===-1})};function u(e,i){var o={};e=r(e);var d;for(d in e)d!==i&&(o[d]=e[d]);if(i&&e[i])for(d in e[i])o[d]=e[i][d];return o}function r(e){var i={},o;for(o in e){var d=o.replace(/-/g,"_");i[d]=e[o]}return i}a.exports.Options=n,a.exports.normalizeOpts=r,a.exports.mergeOpts=u}),,(function(a){var n=RegExp.prototype.hasOwnProperty("sticky");function u(r){this.__input=r||"",this.__input_length=this.__input.length,this.__position=0}u.prototype.restart=function(){this.__position=0},u.prototype.back=function(){this.__position>0&&(this.__position-=1)},u.prototype.hasNext=function(){return this.__position<this.__input_length},u.prototype.next=function(){var r=null;return this.hasNext()&&(r=this.__input.charAt(this.__position),this.__position+=1),r},u.prototype.peek=function(r){var e=null;return r=r||0,r+=this.__position,r>=0&&r<this.__input_length&&(e=this.__input.charAt(r)),e},u.prototype.__match=function(r,e){r.lastIndex=e;var i=r.exec(this.__input);return i&&!(n&&r.sticky)&&i.index!==e&&(i=null),i},u.prototype.test=function(r,e){return e=e||0,e+=this.__position,e>=0&&e<this.__input_length?!!this.__match(r,e):!1},u.prototype.testChar=function(r,e){var i=this.peek(e);return r.lastIndex=0,i!==null&&r.test(i)},u.prototype.match=function(r){var e=this.__match(r,this.__position);return e?this.__position+=e[0].length:e=null,e},u.prototype.read=function(r,e,i){var o="",d;return r&&(d=this.match(r),d&&(o+=d[0])),e&&(d||!r)&&(o+=this.readUntil(e,i)),o},u.prototype.readUntil=function(r,e){var i="",o=this.__position;r.lastIndex=this.__position;var d=r.exec(this.__input);return d?(o=d.index,e&&(o+=d[0].length)):o=this.__input_length,i=this.__input.substring(this.__position,o),this.__position=o,i},u.prototype.readUntilAfter=function(r){return this.readUntil(r,!0)},u.prototype.get_regexp=function(r,e){var i=null,o="g";return e&&n&&(o="y"),typeof r=="string"&&r!==""?i=new RegExp(r,o):r&&(i=new RegExp(r.source,o)),i},u.prototype.get_literal_regexp=function(r){return RegExp(r.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},u.prototype.peekUntilAfter=function(r){var e=this.__position,i=this.readUntilAfter(r);return this.__position=e,i},u.prototype.lookBack=function(r){var e=this.__position-1;return e>=r.length&&this.__input.substring(e-r.length,e).toLowerCase()===r},a.exports.InputScanner=u}),(function(a,n,u){var r=u(8).InputScanner,e=u(3).Token,i=u(10).TokenStream,o=u(11).WhitespacePattern,d={START:"TK_START",RAW:"TK_RAW",EOF:"TK_EOF"},f=function(w,E){this._input=new r(w),this._options=E||{},this.__tokens=null,this._patterns={},this._patterns.whitespace=new o(this._input)};f.prototype.tokenize=function(){this._input.restart(),this.__tokens=new i,this._reset();for(var w,E=new e(d.START,""),g=null,k=[],_=new i;E.type!==d.EOF;){for(w=this._get_next_token(E,g);this._is_comment(w);)_.add(w),w=this._get_next_token(E,g);_.isEmpty()||(w.comments_before=_,_=new i),w.parent=g,this._is_opening(w)?(k.push(g),g=w):g&&this._is_closing(w,g)&&(w.opened=g,g.closed=w,g=k.pop(),w.parent=g),w.previous=E,E.next=w,this.__tokens.add(w),E=w}return this.__tokens},f.prototype._is_first_token=function(){return this.__tokens.isEmpty()},f.prototype._reset=function(){},f.prototype._get_next_token=function(w,E){this._readWhitespace();var g=this._input.read(/.+/g);return g?this._create_token(d.RAW,g):this._create_token(d.EOF,"")},f.prototype._is_comment=function(w){return!1},f.prototype._is_opening=function(w){return!1},f.prototype._is_closing=function(w,E){return!1},f.prototype._create_token=function(w,E){var g=new e(w,E,this._patterns.whitespace.newline_count,this._patterns.whitespace.whitespace_before_token);return g},f.prototype._readWhitespace=function(){return this._patterns.whitespace.read()},a.exports.Tokenizer=f,a.exports.TOKEN=d}),(function(a){function n(u){this.__tokens=[],this.__tokens_length=this.__tokens.length,this.__position=0,this.__parent_token=u}n.prototype.restart=function(){this.__position=0},n.prototype.isEmpty=function(){return this.__tokens_length===0},n.prototype.hasNext=function(){return this.__position<this.__tokens_length},n.prototype.next=function(){var u=null;return this.hasNext()&&(u=this.__tokens[this.__position],this.__position+=1),u},n.prototype.peek=function(u){var r=null;return u=u||0,u+=this.__position,u>=0&&u<this.__tokens_length&&(r=this.__tokens[u]),r},n.prototype.add=function(u){this.__parent_token&&(u.parent=this.__parent_token),this.__tokens.push(u),this.__tokens_length+=1},a.exports.TokenStream=n}),(function(a,n,u){var r=u(12).Pattern;function e(i,o){r.call(this,i,o),o?this._line_regexp=this._input.get_regexp(o._line_regexp):this.__set_whitespace_patterns("",""),this.newline_count=0,this.whitespace_before_token=""}e.prototype=new r,e.prototype.__set_whitespace_patterns=function(i,o){i+="\\t ",o+="\\n\\r",this._match_pattern=this._input.get_regexp("["+i+o+"]+",!0)Line truncated
`,p&&d.test(p)&&(c=p.match(d)[0])),p=p.replace(f,`
`);var m=p.match(/^[\t ]*/)[0],x={text:"",type:""},y=new R,C=new w(this._options,m),I=new i(p,this._options).tokenize();this._tag_stack=new b(C);for(var W=null,T=I.next();T.type!==o.EOF;)T.type===o.TAG_OPEN||T.type===o.COMMENT?(W=this._handle_tag_open(C,T,y,x,I),y=W):T.type===o.ATTRIBUTE||T.type===o.EQUALS||T.type===o.VALUE||T.type===o.TEXT&&!y.tag_complete?W=this._handle_inside_tag(C,T,y,x):T.type===o.TAG_CLOSE?W=this._handle_tag_close(C,T,y):T.type===o.TEXT?W=this._handle_text(C,T,y):T.type===o.CONTROL_FLOW_OPEN?W=this._handle_control_flow_open(C,T):T.type===o.CONTROL_FLOW_CLOSE?W=this._handle_control_flow_close(C,T):C.add_raw_token(T),x=W,T=I.next();var D=C._output.get_code(c);return D},S.prototype._handle_control_flow_open=function(p,c){var m={text:c.text,type:c.type};return p.set_space_before_token(c.newlines||c.whitespace_before!=="",!0),c.newlines?p.print_preserved_newlines(c):p.set_space_before_token(c.newlines||c.whitespace_before!=="",!0),p.print_token(c),p.indent(),m},S.prototype._handle_control_flow_close=function(p,c){var m={text:c.text,type:c.type};return p.deindent(),c.newlines?p.print_preserved_newlines(c):p.set_space_before_token(c.newlines||c.whitespace_before!=="",!0),p.print_token(c),m},S.prototype._handle_tag_close=function(p,c,m){var x={text:c.text,type:c.type};return p.alignment_size=0,m.tag_complete=!0,p.set_space_before_token(c.newlines||c.whitespace_before!=="",!0),m.is_unformatted?p.add_raw_token(c):(m.tag_start_char==="<"&&(p.set_space_before_token(c.text[0]==="/",!0),this._is_wrap_attributes_force_expand_multiline&&m.has_wrapped_attrs&&p.print_newline(!1)),p.print_token(c)),m.indent_content&&!(m.is_unformatted||m.is_content_unformatted)&&(p.indent(),m.indent_content=!1),!m.is_inline_element&&!(m.is_unformatted||m.is_content_unformatted)&&p.set_wrap_point(),x},S.prototype._handle_inside_tag=function(p,c,m,x){var y=m.has_wrapped_attrs,C={text:c.text,type:c.type};return p.set_space_before_token(c.newlines||c.whitespace_before!=="",!0),m.is_unformatted?p.add_raw_token(c):m.tag_start_char==="{"&&c.type===o.TEXT?p.print_preserved_newlines(c)?(c.newlines=0,p.add_raw_token(c)):p.print_token(c):(c.type===o.ATTRIBUTE?p.set_space_before_token(!0):(c.type===o.EQUALS||c.type===o.VALUE&&c.previous.type===o.EQUALS)&&p.set_space_before_token(!1),c.type===o.ATTRIBUTE&&m.tag_start_char==="<"&&((this._is_wrap_attributes_preserve||this._is_wrap_attributes_preserve_aligned)&&(p.traverse_whitespace(c),y=y||c.newlines!==0),this._is_wrap_attributes_force&&m.attr_count>=this._options.wrap_attributes_min_attrs&&(x.type!==o.TAG_OPEN||this._is_wrap_attributes_force_expand_multiline)&&(p.print_newline(!1),y=!0)),p.print_token(c),y=y||p.previous_token_wrapped(),m.has_wrapped_attrs=y),C},S.prototype._handle_text=function(p,c,m){var x={text:c.text,type:"TK_CONTENT"};return m.custom_beautifier_name?this._print_custom_beatifier_text(p,c,m):m.is_unformatted||m.is_content_unformatted?p.add_raw_token(c):(p.traverse_whitespace(c),p.print_token(c)),x},S.prototype._print_custom_beatifier_text=function(p,c,m){var x=this;if(c.text!==""){var y=c.text,C,I=1,W="",T="";m.custom_beautifier_name==="javascript"&&typeof this._js_beautify=="function"?C=this._js_beautify:m.custom_beautifier_name==="css"&&typeof this._css_beautify=="function"?C=this._css_beautify:m.custom_beautifier_name==="html"&&(C=function(H,N){var P=new S(H,N,x._js_beautify,x._css_beautify);return P.beautify()}),this._options.indent_scripts==="keep"?I=0:this._options.indent_scripts==="separate"&&(I=-p.indent_level);var D=p.get_full_indent(I);if(y=y.replace(/\n[ \t]*$/,""),m.custom_beautifier_name!=="html"&&y[0]==="<"&&y.match(/^(<!--|<!\[CDATA\[)/)){var M=/^(<!--[^\n]*|<!\[CDATA\[)(\n?)([ \t\n]*)([\s\S]*)(-->|]]>)$/.exec(y);if(!M){p.add_raw_token(c);return}W=D+M[1]+`
`,y=M[4],M[5]&&(T=D+M[5]),y=y.replace(/\n[ \t]*$/,""),(M[2]||M[3].indexOf(`
`)!==-1)&&(M=M[3].match(/[ \t]+$/),M&&(c.whitespace_before=M[0]))}if(y)if(C){var F=function(){this.eol=`
`};F.prototype=this._options.raw_options;var B=new F;y=C(D+y,B)}else{var z=c.whitespace_before;z&&(y=y.replace(new RegExp(`
(`+z+")?","g"),`
`)),y=D+y.replace(/\n/g,`
`+D)}W&&(y?y=W+y+`
`+T:y=W+T),p.print_newline(!1),y&&(c.text=y,c.whitespace_before="",c.newlines=0,p.add_raw_token(c),p.print_newline(!0))}},S.prototype._handle_tag_open=function(p,c,m,x,y){var C=this._get_tag_open_token(c);if((m.is_unformatted||m.is_content_unformatted)&&!m.is_empty_element&&c.type===o.TAG_OPEN&&!C.is_start_tag?(p.add_raw_token(c),C.start_tag_token=this._tag_stack.try_pop(C.tag_name)):(p.traverse_whitespace(c),this._set_tag_position(p,c,C,m,x),C.is_inline_element||p.set_wrap_point(),p.print_token(c)),C.is_start_tag&&this._is_wrap_attributes_force){var I=0,W;do W=y.peek(I),W.type===o.ATTRIBUTE&&(C.attr_count+=1),I+=1;while(W.type!==o.EOF&&W.type!==o.TAG_CLOSE)}return(this._is_wrap_attributes_force_aligned||this._is_wrap_attributes_aligned_multiple||this._is_wrap_attributes_preserve_aligned)&&(C.alignment_size=c.text.length+1),!C.tag_complete&&!C.is_unformatted&&(p.alignment_size=C.alignment_size),C};var R=function(p,c){if(this.parent=p||null,this.text="",this.type="TK_TAG_OPEN",this.tag_name="",this.is_inline_element=!1,this.is_unformatted=!1,this.is_content_unformatted=!1,this.is_empty_element=!1,this.is_start_tag=!1,this.is_end_tag=!1,this.indent_content=!1,this.multiline_content=!1,this.custom_beautifier_name=null,this.start_tag_token=null,this.attr_count=0,this.has_wrapped_attrs=!1,this.alignment_size=0,this.tag_complete=!1,this.tag_start_char="",this.tag_check="",!c)this.tag_complete=!0;else{var m;this.tag_start_char=c.text[0],this.text=c.text,this.tag_start_char==="<"?(m=c.text.match(/^<([^\s>]*)/),this.tag_check=m?m[1]:""):(m=c.text.match(/^{{~?(?:[\^]|#\*?)?([^\s}]+)/),this.tag_check=m?m[1]:"",(c.text.startsWith("{{#>")||c.text.startsWith("{{~#>"))&&this.tag_check[0]===">"&&(this.tag_check===">"&&c.next!==null?this.tag_check=c.next.text.split(" ")[0]:this.tag_check=c.text.split(">")[1])),this.tag_check=this.tag_check.toLowerCase(),c.type===o.COMMENT&&(this.tag_complete=!0),this.is_start_tag=this.tag_check.charAt(0)!=="/",this.tag_name=this.is_start_tag?this.tag_check:this.tag_check.substr(1),this.is_end_tag=!this.is_start_tag||c.closed&&c.closed.text==="/>";var x=2;this.tag_start_char==="{"&&this.text.length>=3&&this.text.charAt(2)==="~"&&(x=3),this.is_end_tag=this.is_end_tag||this.tag_start_char==="{"&&(this.text.length<3||/[^#\^]/.test(this.text.charAt(x)))}};S.prototype._get_tag_open_token=function(p){var c=new R(this._tag_stack.get_parser_token(),p);return c.alignment_size=this._options.wrap_attributes_indent_size,c.is_end_tag=c.is_end_tag||k(c.tag_check,this._options.void_elements),c.is_empty_element=c.tag_complete||c.is_start_tag&&c.is_end_tag,c.is_unformatted=!c.tag_complete&&k(c.tag_check,this._options.unformatted),c.is_content_unformatted=!c.is_empty_element&&k(c.tag_check,this._options.content_unformatted),c.is_inline_element=k(c.tag_name,this._options.inline)||this._options.inline_custom_elements&&c.tag_name.includes("-")||c.tag_start_char==="{",c},S.prototype._set_tag_position=function(p,c,m,x,y){if(m.is_empty_element||(m.is_end_tag?m.start_tag_token=this._tag_stack.try_pop(m.tag_name):(this._do_optional_end_element(m)&&(m.is_inline_element||p.print_newline(!1)),this._tag_stack.record_tag(m),(m.tag_name==="script"||m.tag_name==="style")&&!(m.is_unformatted||m.is_content_unformatted)&&(m.custom_beautifier_name=g(m.tag_check,c)))),k(m.tag_check,this._options.extra_liners)&&(p.print_newline(!1),p._output.just_added_blankline()||p.print_newline(!0)),m.is_empty_element){if(m.tag_start_char==="{"&&m.tag_check==="else"){this._tag_stack.indent_to_tag(["if","unless","each"]),m.indent_content=!0;var C=p.current_line_has_match(/{{#if/);C||p.print_newline(!1)}m.tag_name==="!--"&&y.type===o.TAG_CLOSE&&x.is_end_tag&&m.text.indexOf(`
`)===-1||(m.is_inline_element||m.is_unformatted||p.print_newline(!1),this._calcluate_parent_multiline(p,m))}else if(m.is_end_tag){var I=!1;I=m.start_tag_token&&m.start_tag_token.multiline_content,I=I||!m.is_inline_element&&!(x.is_inline_element||x.is_unformatted)&&!(y.type===o.TAG_CLOSE&&m.start_tag_token===x)&&y.type!=="TK_CONTENT",(m.is_content_unformatted||m.is_unformatted)&&(I=!1),I&&p.print_newline(!1)}else m.indent_content=!m.custom_beautifier_name,m.tag_start_char==="<"&&(m.tag_name==="html"?m.indent_content=this._options.indent_inner_html:m.tag_name==="head"?m.indent_content=this._options.indent_head_inner_html:m.tag_name==="body"&&(m.indent_content=this._options.indent_body_inner_html)),!(m.is_inline_element||m.is_unformatted)&&(y.type!=="TK_CONTENT"||m.is_content_unformatted)&&p.print_newline(!1),this._calcluate_parent_multiline(p,m)},S.prototype._calcluate_parent_multiline=function(p,c){c.parent&&p._output.just_added_newline()&&!((c.is_inline_element||c.is_unformatted)&&c.parent.is_inline_element)&&(c.parent.multiline_content=!0)};var U=["address","article","aside","blockquote","details","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","main","menu","nav","ol","p","pre","section","table","ul"],O=["a","audio","del","ins","map","noscript","video"];S.prototype._do_optional_end_element=function(p){var c=null;if(!(p.is_empty_element||!p.is_start_tag||!p.parent)){if(p.tag_name==="body")c=c||this._tag_stack.try_pop("head");else if(p.tag_name==="li")c=c||this._tag_stack.try_pop("li",["ol","ul","menu"]);else if(p.tag_name==="dd"||p.tag_name==="dt")c=c||this._tag_stack.try_pop("dt",["dl"]),c=c||this._tag_stack.try_pop("dd",["dl"]);else if(p.parent.tag_name==="p"&&U.indexOf(p.tag_name)!==-1){var m=p.parent.parent;(!m||O.indexOf(m.tag_name)===-1)&&(c=c||this._tag_stack.try_pop("p"))}else p.tag_name==="rp"||p.tag_name==="rt"?(c=c||this._tag_stack.try_pop("rt",["ruby","rtc"]),c=c||this._tag_stack.try_pop("rp",["ruby","rtc"])):p.tag_name==="optgroup"?c=c||this._tag_stack.try_pop("optgroup",["select"]):p.tag_name==="option"?c=c||this._tag_stack.try_pop("option",["select","datalist","optgroup"]):p.tag_name==="colgroup"?c=c||this._tag_stack.try_pop("caption",["table"]):p.tag_name==="thead"?(c=c||this._tag_stack.try_pop("caption",["table"]),c=c||this._tag_stack.try_pop("colgroup",["table"])):p.tag_name==="tbody"||p.tag_name==="tfoot"?(c=c||this._tag_stack.try_pop("caption",["table"]),c=c||this._tag_stack.try_pop("colgroup",["table"]),c=c||this._tag_stack.try_pop("thead",["table"]),c=c||this._tag_stack.try_pop("tbody",["table"])):p.tag_name==="tr"?(c=c||this._tag_stack.try_pop("caption",["table"]),c=c||this._tag_stack.try_pop("colgroup",["table"]),c=c||this._tag_stack.try_pop("tr",["table","thead","tbody","tfoot"])):(p.tag_name==="th"||p.tag_name==="td")&&(c=c||this._tag_stack.try_pop("td",["table","thead","tbody","tfoot","tr"]),c=c||this._tag_stack.try_pop("th",["table","thead","tbody","tfoot","tr"]));return p.parent=this._tag_stack.get_parser_token(),c}},a.exports.Beautifier=S}),(function(a,n,u){var r=u(6).Options;function e(i){r.call(this,i,"html"),this.templating.length===1&&this.templating[0]==="auto"&&(this.templating=["django","erb","handlebars","php"]),this.indent_inner_html=this._get_boolean("indent_inner_html"),this.indent_body_inner_html=this._get_boolean("indent_body_inner_html",!0),this.indent_head_inner_html=this._get_boolean("indent_head_inner_html",!0),this.indent_handlebars=this._get_boolean("indent_handlebars",!0),this.wrap_attributes=this._get_selection("wrap_attributes",["auto","force","force-aligned","force-expand-multiline","aligned-multiple","preserve","preserve-aligned"]),this.wrap_attributes_min_attrs=this._get_number("wrap_attributes_min_attrs",2),this.wrap_attributes_indent_size=this._get_number("wrap_attributes_indent_size",this.indent_size),this.extra_liners=this._get_array("extra_liners",["head","body","/html"]),this.inline=this._get_array("inline",["a","abbr","area","audio","b","bdi","bdo","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","keygen","label","map","mark","math","meter","noscript","object","output","progress","q","ruby","s","samp","select","small","span","strong","sub","sup","svg","template","textarea","time","u","var","video","wbr","text","acronym","big","strike","tt"]),this.inline_custom_elements=this._get_boolean("inline_custom_elements",!0),this.void_elements=this._get_array("void_elements",["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr","!doctype","?xml","basefont","isindex"]),this.unformatted=this._get_array("unformatted",[]),this.content_unformatted=this._get_array("content_unformatted",["pre","textarea"]),this.unformatted_content_delimiter=this._get_characters("unformatted_content_delimiter"),this.indent_scripts=this._get_selection("indent_scripts",["normal","keep","separat Line truncated
`,indent_scripts:G(l,"indentScripts","normal"),templating:ht(l,"all"),unformatted_content_delimiter:G(l,"unformattedContentDelimiter","")};let e=st(ut(h),r);if(n>0){const i=l.insertSpaces?ce(" ",u*n):ce(" ",n);e=e.split(`
`).join(`
`+i),t.start.character===0&&(e=i+e)}return[{range:t,newText:e}]}function ut(s){return s.replace(/^\s+/,"")}function G(s,t,l){if(s&&s.hasOwnProperty(t)){const h=s[t];if(h!==null)return h}return l}function oe(s,t,l){const h=G(s,t,null);return typeof h=="string"?h.length>0?h.split(",").map(a=>a.trim().toLowerCase()):[]:l}function ht(s,t){const l=G(s,"templating",t);return l===!0?["auto"]:l===!1||l===t||Array.isArray(l)===!1?["none"]:l}function dt(s,t,l){let h=t,a=0;const n=l.tabSize||4;for(;h<s.length;){const u=s.charAt(h);if(u===" ")a++;else if(u===" ")a+=n;else break;h++}return Math.floor(a/n)}function be(s,t){return`\r
`.indexOf(s.charAt(t))!==-1}function we(s,t){return" ".indexOf(s.charAt(t))!==-1}function se(s){const t=s[0],l=s[s.length-1];return t===l&&(t==="'"||t==='"')&&(s=s.substring(1,s.length-1)),s}function ct(s,t){return!s.length||t==="handlebars"&&/{{|}}/.test(s)?!1:/\b(w[\w\d+.-]*:\/\/)?[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|\/?))/.test(s)}function pt(s,t,l,h){if(/^\s*javascript\:/i.test(t)||/[\n\r]/.test(t))return;t=t.replace(/^\s*/g,"");const a=t.match(/^(\w[\w\d+.-]*):/);if(a){const n=a[1].toLowerCase();return n==="http"||n==="https"||n==="file"?t:void 0}return/^\#/i.test(t)?s+t:/^\/\//i.test(t)?($(s,"https://")?"https":"http")+":"+t.replace(/^\s*/g,""):l?l.resolveReference(t,h||s):t}function mt(s,t,l,h,a,n){const u=se(l);if(!ct(u,s.languageId))return;u.length<l.length&&(h++,a--);const r=pt(s.uri,u,t,n);if(!r)return;const e=gt(r,s);return{range:A.Range.create(s.positionAt(h),s.positionAt(a)),target:e}}const ft=35;function gt(s,t){try{let l=j.URI.parse(s);return l.scheme==="file"&&l.query&&(l=l.with({query:null}),s=l.toString(!0)),l.scheme==="file"&&l.fragment&&!(s.startsWith(t.uri)&&s.charCodeAt(t.uri.length)===ft)?l.with({fragment:null}).toString(!0):s}catch{return}}class bt{constructor(t){this.dataManager=t}findDocumentLinks(t,l){const h=[],a=q(t.getText(),0);let n=a.scan(),u,r,e=!1,i;const o={};for(;n!==v.EOS;){switch(n){case v.StartTag:r=a.getTokenText().toLowerCase(),i||(e=r==="base");break;case v.AttributeName:u=a.getTokenText().toLowerCase();break;case v.AttributeValue:if(r&&u&&this.dataManager.isPathAttribute(r,u)){const d=a.getTokenText();if(!e){const f=mt(t,l,d,a.getTokenOffset(),a.getTokenEnd(),i);f&&h.push(f)}e&&typeof i>"u"&&(i=se(d),i&&l&&(i=l.resolveReference(i,t.uri))),e=!1,u=void 0}else if(u==="id"){const d=se(a.getTokenText());o[d]=a.getTokenOffset()}break}n=a.scan()}for(const d of h){const f=t.uri+"#";if(d.target&&$(d.target,f)){const w=d.target.substring(f.length),E=o[w];if(E!==void 0){const g=t.positionAt(E);d.target=`${f}${g.line+1},${g.character+1}`}else d.target=t.uri}}return h}}function wt(s,t,l){const h=s.offsetAt(t),a=l.findNodeAt(h);if(!a.tag)return[];const n=[],u=Te(v.StartTag,s,a.start),r=typeof a.endTagStart=="number"&&Te(v.EndTag,s,a.endTagStart);return(u&&ve(u,t)||r&&ve(r,t))&&(u&&n.push({kind:A.DocumentHighlightKind.Read,range:u}),r&&n.push({kind:A.DocumentHighlightKind.Read,range:r})),n}function _e(s,t){return s.line<t.line||s.line===t.line&&s.character<=t.character}function ve(s,t){return _e(s.start,t)&&_e(t,s.end)}function Te(s,t,l){const h=q(t.getText(),l);let a=h.scan();for(;a!==v.EOS&&a!==s;)a=h.scan();return a!==v.EOS?{start:t.positionAt(h.getTokenOffset()),end:t.positionAt(h.getTokenEnd())}:null}function _t(s,t){const l=[],h=ye(s,t);for(const n of h)a(n,void 0);return l;function a(n,u){const r=A.SymbolInformation.create(n.name,n.kind,n.range,s.uri,u?.name);if(r.containerName??(r.containerName=""),l.push(r),n.children)for(const e of n.children)a(e,n)}}function ye(s,t){const l=[];return t.roots.forEach(h=>{ke(s,h,l)}),l}function ke(s,t,l){const h=vt(t),a=A.Range.create(s.positionAt(t.start),s.positionAt(t.end)),n=A.DocumentSymbol.create(h,void 0,A.SymbolKind.Field,a,a);l.push(n),t.children.forEach(u=>{n.children??(n.children=[]),ke(s,u,n.children)})}function vt(s){let t=s.tag;if(s.attributes){const l=s.attributes.id,h=s.attributes.class;l&&(t+=`#${l.replace(/[\"\']/g,"")}`),h&&(t+=h.replace(/[\"\']/g,"").split(/\s+/).map(a=>`.${a}`).join(""))}return t||"?"}function Tt(s,t,l,h){const a=s.offsetAt(t),n=h.findNodeAt(a);if(!n.tag||!yt(n,a,n.tag))return null;const u=[],r={start:s.positionAt(n.start+1),end:s.positionAt(n.start+1+n.tag.length)};if(u.push({range:r,newText:l}),n.endTagStart){const i={start:s.positionAt(n.endTagStart+2),end:s.positionAt(n.endTagStart+2+n.tag.length)};u.push({range:i,newText:l})}return{changes:{[s.uri.toString()]:u}}}function yt(s,t,l){return s.endTagStart&&s.endTagStart+2<=t&&t<=s.endTagStart+2+l.length?!0:s.start+1<=t&&t<=s.start+1+l.length}function kt(s,t,l){const h=s.offsetAt(t),a=l.findNodeAt(h);if(!a.tag||!a.endTagStart)return null;if(a.start+1<=h&&h<=a.start+1+a.tag.length){const n=h-1-a.start+a.endTagStart+2;return s.positionAt(n)}if(a.endTagStart+2<=h&&h<=a.endTagStart+2+a.tag.length){const n=h-2-a.endTagStart+a.start+1;return s.positionAt(n)}return null}function Se(s,t,l){const h=s.offsetAt(t),a=l.findNodeAt(h),n=a.tag?a.tag.length:0;return a.endTagStart&&(a.start+1<=h&&h<=a.start+1+n||a.endTagStart+2<=h&&h<=a.endTagStart+2+n)?[A.Range.create(s.positionAt(a.start+1),s.positionAt(a.start+1+n)),A.Range.create(s.positionAt(a.endTagStart+2),s.positionAt(a.endTagStart+2+n))]:null}class St{constructor(t){this.dataManager=t}limitRanges(t,l){t=t.sort((d,f)=>{let w=d.startLine-f.startLine;return w===0&&(w=d.endLine-f.endLine),w});let h;const a=[],n=[],u=[],r=(d,f)=>{n[d]=f,f<30&&(u[f]=(u[f]||0)+1)};for(let d=0;d<t.length;d++){const f=t[d];if(!h)h=f,r(d,0);else if(f.startLine>h.startLine){if(f.endLine<=h.endLine)a.push(h),h=f,r(d,a.length);el Line truncated
This metadata name is associated with the value contained by the [\`content\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute. The possible values for the name attribute are:
* \`application-name\` which defines the name of the application running in the web page.
**Note:**
* Browsers may use this to identify the application. It is different from the [\`<title>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title "The HTML Title element (<title>) defines the document's title that is shown in a browser's title bar or a page's tab.") element, which usually contain the application name, but may also contain information like the document name or a status.
* Simple web pages shouldn't define an application-name.
* \`author\` which defines the name of the document's author.
* \`description\` which contains a short and accurate summary of the content of the page. Several browsers, like Firefox and Opera, use this as the default description of bookmarked pages.
* \`generator\` which contains the identifier of the software that generated the page.
* \`keywords\` which contains words relevant to the page's content separated by commas.
* \`referrer\` which controls the [\`Referer\` HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer) attached to requests sent from the document:
Values for the \`content\` attribute of \`<meta name="referrer">\`
\`no-referrer\`
Do not send a HTTP \`Referrer\` header.
\`origin\`
Send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the document.
\`no-referrer-when-downgrade\`
Send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) as a referrer to URLs as secure as the current page, (https→https), but does not send a referrer to less secure URLs (https→http). This is the default behaviour.
\`origin-when-cross-origin\`
Send the full URL (stripped of parameters) for same-origin requests, but only send the [origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) for other cases.
\`same-origin\`
A referrer will be sent for [same-site origins](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy), but cross-origin requests will contain no referrer information.
\`strict-origin\`
Only send the origin of the document as the referrer to a-priori as-much-secure destination (HTTPS->HTTPS), but don't send it to a less secure destination (HTTPS->HTTP).
\`strict-origin-when-cross-origin\`
Send a full URL when performing a same-origin request, only send the origin of the document to a-priori as-much-secure destination (HTTPS->HTTPS), and send no header to a less secure destination (HTTPS->HTTP).
\`unsafe-URL\`
Send the full URL (stripped of parameters) for same-origin or cross-origin requests.
**Notes:**
* Some browsers support the deprecated values of \`always\`, \`default\`, and \`never\` for referrer.
* Dynamically inserting \`<meta name="referrer">\` (with [\`document.write\`](https://developer.mozilla.org/en-US/docs/Web/API/Document/write) or [\`appendChild\`](https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild)) makes the referrer behaviour unpredictable.
* When several conflicting policies are defined, the no-referrer policy is applied.
This attribute may also have a value taken from the extended list defined on [WHATWG Wiki MetaExtensions page](https://wiki.whatwg.org/wiki/MetaExtensions). Although none have been formally accepted yet, a few commonly used names are:
* \`creator\` which defines the name of the creator of the document, such as an organization or institution. If there are more than one, several [\`<meta>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") elements should be used.
* \`googlebot\`, a synonym of \`robots\`, is only followed by Googlebot (the indexing crawler for Google).
* \`publisher\` which defines the name of the document's publisher.
* \`robots\` which defines the behaviour that cooperative crawlers, or "robots", should use with the page. It is a comma-separated list of the values below:
Values for the content of \`<meta name="robots">\`
Value
Description
Used by
\`index\`
Allows the robot to index the page (default).
All
\`noindex\`
Requests the robot to not index the page.
All
\`follow\`
Allows the robot to follow the links on the page (default).
All
\`nofollow\`
Requests the robot to not follow the links on the page.
All
\`none\`
Equivalent to \`noindex, nofollow\`
[Google](https://support.google.com/webmasters/answer/79812)
\`noodp\`
Prevents using the [Open Directory Project](https://www.dmoz.org/) description, if any, as the page description in search engine results.
[Google](https://support.google.com/webmasters/answer/35624#nodmoz), [Yahoo](https://help.yahoo.com/kb/search-for-desktop/meta-tags-robotstxt-yahoo-search-sln2213.html#cont5), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)
\`noarchive\`
Requests the search engine not to cache the page content.
[Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives), [Yahoo](https://help.yahoo.com/kb/search-for-desktop/SLN2213.html), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)
\`nosnippet\`
Prevents displaying any description of the page in search engine results.
[Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives), [Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)
\`noimageindex\`
Requests this page not to appear as the referring page of an indexed image.
[Google](https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag#valid-indexing--serving-directives)
\`nocache\`
Synonym of \`noarchive\`.
[Bing](https://www.bing.com/webmaster/help/which-robots-metatags-does-bing-support-5198d240)
**Notes:**
* Only cooperative robots follow these rules. Do not expect to prevent e-mail harvesters with them.
* The robot still needs to access the page in order to read these rules. To prevent bandwidth consumption, use a _[robots.txt](https://developer.mozilla.org/en-US/docs/Glossary/robots.txt "robots.txt: Robots.txt is a file which is usually placed in the root of any website. It decides whether crawlers are permitted or forbidden access to the web site.")_ file.
* If you want to remove a page, \`noindex\` will work, but only after the robot visits the page again. Ensure that the \`robots.txt\` file is not preventing revisits.
* Some values are mutually exclusive, like \`index\` and \`noindex\`, or \`follow\` and \`nofollow\`. In these cases the robot's behaviour is undefined and may vary between them.
* Some crawler robots, like Google, Yahoo and Bing, support the same values for the HTTP header \`X-Robots-Tag\`; this allows non-HTML documents like images to use these rules.
* \`slurp\`, is a synonym of \`robots\`, but only for Slurp - the crawler for Yahoo Search.
* \`viewport\`, which gives hints about the size of the initial size of the [viewport](https://developer.mozilla.org/en-US/docs/Glossary/viewport "viewport: A viewport represents a polygonal (normally rectangular) area in computer graphics that is currently being viewed. In web browser terms, it refers to the part of the document you're viewing which is currently visible in its window (or the screen, if the document is being viewed in full screen mode). Content outside the viewport is not visible onscreen until scrolled into view."). Used by mobile devices only.
Values for the content of \`<meta name="viewport">\`
Value
Possible subvalues
Description
\`width\`
A positive integer number, or the text \`device-width\`
Defines the pixel width of the viewport that you want the web site to be rendered at.
\`height\`
A positive integer, or the text \`device-height\`
Defines the height of the viewport. Not used by any browser.
\`initial-scale\`
A positive number between \`0.0\` and \`10.0\`
Defines the ratio between the device width (\`device-width\` in portrait mode or \`device-height\` in landscape mode) and the viewport size.
\`maximum-scale\`
A positive number between \`0.0\` and \`10.0\`
Defines the maximum amount to zoom in. It must be greater or equal to the \`minimum-scale\` or the behaviour is undefined. Browser settings can ignore this rule and iOS10+ ignores it by default.
\`minimum-scale\`
A positive number between \`0.0\` and \`10.0\`
Defines the minimum zoom level. It must be smaller or equal to the \`maximum-scale\` or the behaviour is undefined. Browser settings can ignore this rule and iOS10+ ignores it by default.
\`user-scalable\`
\`yes\` or \`no\`
If set to \`no\`, the user is not able to zoom in the webpage. The default is \`yes\`. Browser settings can ignore this rule, and iOS10+ ignores it by default.
Specification
Status
Comment
[CSS Device Adaptation
The definition of '<meta name="viewport">' in that specification.](https://drafts.csswg.org/css-device-adapt/#viewport-meta)
Working Draft
Non-normatively describes the Viewport META element
See also: [\`@viewport\`](https://developer.mozilla.org/en-US/docs/Web/CSS/@viewport "The @viewport CSS at-rule lets you configure the viewport through which the document is viewed. It's primarily used for mobile devices, but is also used by desktop browsers that support features like "snap to edge" (such as Microsoft Edge).")
**Notes:**
* Though unstandardized, this declaration is respected by most mobile browsers due to de-facto dominance.
* The default values may vary between devices and browsers.
* To learn about this declaration in Firefox for Mobile, see [this article](https://developer.mozilla.org/en-US/docs/Mobile/Viewport_meta_tag "Mobile/Viewport meta tag").`}},{name:"http-equiv",description:{kind:"markdown",value:'Defines a pragma directive. The attribute is named `**http-equiv**(alent)` because all the allowed values are names of particular HTTP headers:\n\n* `"content-language"` \n Defines the default language of the page. It can be overridden by the [lang](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang) attribute on any element.\n \n **Warning:** Do not use this value, as it is obsolete. Prefer the `lang` attribute on the [`<html>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/html "The HTML <html> element represents the root (top-level element) of an HTML document, so it is also referred to as the root element. All other elements must be descendants of this element.") element.\n \n* `"content-security-policy"` \n Allows page authors to define a [content policy](https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives) for the current page. Content policies mostly specify allowed server origins and script endpoints which help guard against cross-site scripting attacks.\n* `"content-type"` \n Defines the [MIME type](https://developer.mozilla.org/en-US/docs/Glossary/MIME_type) of the document, followed by its character encoding. It follows the same syntax as the HTTP `content-type` entity-header field, but as it is inside a HTML page, most values other than `text/html` are impossible. Therefore the valid syntax for its `content` is the string \'`text/html`\' followed by a character set with the following syntax: \'`; charset=_IANAcharset_`\', where `IANAcharset` is the _preferred MIME name_ for a character set as [defined by the IANA.](https://www.iana.org/assignments/character-sets)\n \n **Warning:** Do not use this value, as it is obsolete. Use the [`charset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-charset) attribute on the [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") element.\n \n **Note:** As [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta "The HTML <meta> element represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> or <title>.") can\'t change documents\' types in XHTML or HTML5\'s XHTML serialization, never set the MIME type to an XHTML MIME type with `<meta>`.\n \n* `"refresh"` \n This instruction specifies:\n * The number of seconds until the page should be reloaded - only if the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute contains a positive integer.\n * The number of seconds until the page should redirect to another - only if the [`content`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-content) attribute contains a positive integer followed by the string \'`;url=`\', and a valid URL.\n* `"set-cookie"` \n Defines a [cookie](https://developer.mozilla.org/en-US/docs/cookie) for the page. Its content must follow the syntax defined in the [IETF HTTP Cookie Specification](https://tools.ietf.org/html/draft-ietf-httpstate-cookie-14).\n \n **Warning:** Do not use this instruction, as it is obsolete. Use the HTTP header [`Set-Cookie`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) instead.'}},{name:"content",description:{kind:"markdown",value:"This attribute contains the value for the [`http-equiv`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-http-equiv) or [`name`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-name) attribute, depending on which is used."}},{name:"charset",description:{kind:"markdown",value:'This attribute declares the page\'s character encoding. It must contain a [standard IANA MIME name for character encodings](https://www.iana.org/assignments/character-sets). Although the standard doesn\'t request a specific encoding, it suggests:\n\n* Authors are encouraged to use [`UTF-8`](https://developer.mozilla.org/en-US/docs/Glossary/UTF-8).\n* Authors should not use ASCII-incompatible encodings to avoid security risk: browsers not supporting them may interpret harmful content as HTML. This happens with the `JIS_C6226-1983`, `JIS_X0212-1990`, `HZ-GB-2312`, `JOHAB`, the ISO-2022 family and the EBCDIC family.\n\n**Note:** ASCII-incompatible encodings are those that don\'t map the 8-bit code points `0x20` to `0x7E` to the `0x0020` to `0x007E` Unicode code points)\n\n* Authors **must not** use `CESU-8`, `UTF-7`, `BOCU-1` and/or `SCSU` as [cross-site scripting](https://developer.mozilla.org Line truncated
\`sync\`
Decode the image synchronously for atomic presentation with other content.
\`async\`
Decode the image asynchronously to reduce delay in presenting other content.
\`auto\`
Default mode, which indicates no preference for the decoding mode. The browser decides what is best for the user.`}},{name:"loading",valueSet:"loading",description:{kind:"markdown",value:"Indicates how the browser should load the image."}},{name:"referrerpolicy",valueSet:"referrerpolicy",description:{kind:"markdown",value:"A string indicating which referrer to use when fetching the resource:\n\n* `no-referrer:` The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer \"The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.\") header will not be sent.\n* `no-referrer-when-downgrade:` No `Referer` header will be sent when navigating to an origin without TLS (HTTPS). This is a user agent’s default behavior if no policy is otherwise specified.\n* `origin:` The `Referer` header will include the page of origin's scheme, the host, and the port.\n* `origin-when-cross-origin:` Navigating to other origins will limit the included referral data to the scheme, the host and the port, while navigating from the same origin will include the referrer's full path.\n* `unsafe-url:` The `Referer` header will include the origin and the path, but not the fragment, password, or username. This case is unsafe because it can leak origins and paths from TLS-protected resources to insecure origins."}},{name:"sizes",description:{kind:"markdown",value:"A list of one or more strings separated by commas indicating a set of source sizes. Each source size consists of:\n\n1. a media condition. This must be omitted for the last item.\n2. a source size value.\n\nSource size values specify the intended display size of the image. User agents use the current source size to select one of the sources supplied by the `srcset` attribute, when those sources are described using width ('`w`') descriptors. The selected source size affects the intrinsic size of the image (the image’s display size if no CSS styling is applied). If the `srcset` attribute is absent, or contains no values with a width (`w`) descriptor, then the `sizes` attribute has no effect."}},{name:"importance",description:"Indicates the relative importance of the resource. Priority hints are delegated using the values:"},{name:"importance",description:"`auto`: Indicates **no preference**. The browser may use its own heuristics to decide the priority of the image.\n\n`high`: Indicates to the browser that the image is of **high** priority.\n\n`low`: Indicates to the browser that the image is of **low** priority."},{name:"intrinsicsize",description:"This attribute tells the browser to ignore the actual intrinsic size of the image and pretend it’s the size specified in the attribute. Specifically, the image would raster at these dimensions and `naturalWidth`/`naturalHeight` on images would return the values specified in this attribute. [Explainer](https://github.com/ojanvafai/intrinsicsize-attribute), [examples](https://googlechrome.github.io/samples/intrinsic-size/index.html)"}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/img"}]},{name:"iframe",description:{kind:"markdown",value:"The iframe element represents a nested browsing context."},attributes:[{name:"src",description:{kind:"markdown",value:'The URL of the page to embed. Use a value of `about:blank` to embed an empty page that conforms to the [same-origin policy](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy#Inherited_origins). Also note that programatically removing an `<iframe>`\'s src attribute (e.g. via [`Element.removeAttribute()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttribute "The Element method removeAttribute() removes the attribute with the specified name from the element.")) causes `about:blank` to be loaded in the frame in Firefox (from version 65), Chromium-based browsers, and Safari/iOS.'}},{name:"srcdoc",description:{kind:"markdown",value:"Inline HTML to embed, overriding the `src` attribute. If a browser does not support the `srcdoc` attribute, it will fall back to the URL in the `src` attribute."}},{name:"name",description:{kind:"markdown",value:'A targetable name for the embedded browsing context. This can be used in the `target` attribute of the [`<a>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a "The HTML <a> element (or anchor element) creates a hyperlink to other web pages, files, locations within the same page, email addresses, or any other URL."), [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form "The HTML <form> element represents a document section that contains interactive controls for submitting information to a web server."), or [`<base>`](https://developer.mozilla.org/en-US/doc Line truncated
\`auto\` (default)
No preference. The browser uses its own heuristics to decide the priority of the resource.
\`high\`
The resource should be downloaded before other lower-priority page resources.
\`low\`
The resource should be downloaded after other higher-priority page resources.`},{name:"referrerpolicy",description:'Indicates which [referrer](https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer) to send when fetching the frame\'s resource:\n\n* `no-referrer`: The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent.\n* `no-referrer-when-downgrade` (default): The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent to [origin](https://developer.mozilla.org/en-US/docs/Glossary/origin "origin: Web content\'s origin is defined by the scheme (protocol), host (domain), and port of the URL used to access it. Two objects have the same origin only when the scheme, host, and port all match.")s without [TLS](https://developer.mozilla.org/en-US/docs/Glossary/TLS "TLS: Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), is a protocol used by applications to communicate securely across a network, preventing tampering with and eavesdropping on email, web browsing, messaging, and other protocols.") ([HTTPS](https://developer.mozilla.org/en-US/docs/Glossary/HTTPS "HTTPS: HTTPS (HTTP Secure) is an encrypted version of the HTTP protocol. It usually uses SSL or TLS to encrypt all communication between a client and a server. This secure connection allows clients to safely exchange sensitive data with a server, for example for banking activities or online shopping.")).\n* `origin`: The sent referrer will be limited to the origin of the referring page: its [scheme](https://developer.mozilla.org/en-US/docs/Archive/Mozilla/URIScheme), [host](https://developer.mozilla.org/en-US/docs/Glossary/host "host: A host is a device connected to the Internet (or a local network). Some hosts called servers offer additional services like serving webpages or storing files and emails."), and [port](https://developer.mozilla.org/en-US/docs/Glossary/port "port: For a computer connected to a network with an IP address, a port is a communication endpoint. Ports are designated by numbers, and below 1024 each port is associated by default with a specific protocol.").\n* `origin-when-cross-origin`: The referrer sent to other origins will be limited to the scheme, the host, and the port. Navigations on the same origin will still include the path.\n* `same-origin`: A referrer will be sent for [same origin](https://developer.mozilla.org/en-US/docs/Glossary/Same-origin_policy "same origin: The same-origin policy is a critical security mechanism that restricts how a document or script loaded from one origin can interact with a resource from another origin."), but cross-origin requests will contain no referrer information.\n* `strict-origin`: Only send the origin of the document as the referrer when the protocol security level stays the same (HTTPS→HTTPS), but don\'t send it to a less secure destination (HTTPS→HTTP).\n* `strict-origin-when-cross-origin`: Send a full URL when performing a same-origin request, only send the origin when the protocol security level stays the same (HTTPS→HTTPS), and send no header to a less secure destination (HTTPS→HTTP).\n* `unsafe-url`: The referrer will include the origin _and_ the path (but not the [fragment](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/hash), [password](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/password), or [username](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/username)). **This value is unsafe**, because it leaks origins and paths from TLS-protected resources to insecure origins.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/iframe"}]},{name:"embed",description:{kind:"markdown",value:"The embed element provides an integration point for an external (typically non-HTML) application or interactive content."},void:!0,attributes:[{name:"src",description:{kind:"markdown",value:"The URL of the resource being embedded."}},{name:"type",description:{kind:"markdown",value:"The MIME type to use to select the plug-in to instantiate."}},{name:"width",description:{kind:"markdown",value:"The displayed width of the resource, in [CSS pixels](https://drafts.csswg.org/css-values/#px). This must be an absolute value; percentage Line truncated
* data: Default value. The value is passed to the object's implementation as a string.
* ref: The value is a URI to a resource where run-time values are stored.
* object: An ID of another [\`<object>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object "The HTML <object> element represents an external resource, which can be treated as an image, a nested browsing context, or a resource to be handled by a plugin.") in the same document.`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/param"}]},{name:"video",description:{kind:"markdown",value:"A video element is used for playing videos or movies, and audio files with captions."},attributes:[{name:"src"},{name:"crossorigin",valueSet:"xo"},{name:"poster"},{name:"preload",valueSet:"pl"},{name:"autoplay",valueSet:"v",description:{kind:"markdown",value:'A Boolean attribute; if specified, the video automatically begins to play back as soon as it can do so without stopping to finish loading the data.\n**Note**: Sites that automatically play audio (or video with an audio track) can be an unpleasant experience for users, so it should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control.\n\nTo disable video autoplay, `autoplay="false"` will not work; the video will autoplay if the attribute is there in the `<video>` tag at all. To remove autoplay the attribute needs to be removed altogether.\n\nIn some browsers (e.g. Chrome 70.0) autoplay is not working if no `muted` attribute is present.'}},{name:"mediagroup"},{name:"loop",valueSet:"v"},{name:"muted",valueSet:"v"},{name:"controls",valueSet:"v"},{name:"width"},{name:"height"}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/video"}]},{name:"audio",description:{kind:"markdown",value:"An audio element represents a sound or audio stream."},attributes:[{name:"src",description:{kind:"markdown",value:'The URL of the audio to embed. This is subject to [HTTP access controls](https://developer.mozilla.org/en-US/docs/HTTP_access_control). This is optional; you may instead use the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source "The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.") element within the audio block to specify the audio to embed.'}},{name:"crossorigin",valueSet:"xo",description:{kind:"markdown",value:'This enumerated attribute indicates whether to use CORS to fetch the related image. [CORS-enabled resources](https://developer.mozilla.org/en-US/docs/CORS_Enabled_Image) can be reused in the [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas "Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.") element without being _tainted_. The allowed values are:\n\nanonymous\n\nSends a cross-origin request without a credential. In other words, it sends the `Origin:` HTTP header without a cookie, X.509 certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (by not setting the `Access-Control-Allow-Origin:` HTTP header), the image will be _tainted_, and its usage restricted.\n\nuse-credentials\n\nSends a cross-origin request with a credential. In other words, it sends the `Origin:` HTTP header with a cookie, a certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (through `Access-Control-Allow-Credentials:` HTTP header), the image will be _tainted_ and its usage restricted.\n\nWhen not present, the resource is fetched without a CORS request (i.e. without sending the `Origin:` HTTP header), preventing its non-tainted used in [`<canvas>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas "Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.") elements. If invalid, it is handled as if the enumerated keyword **anonymous** was used. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/HTML/CORS_settings_attributes) for additional information.'}},{name:"preload",valueSet:"pl",description:{kind:"markdown",value:"This enumerated attribute is intended to provide a hint to the browser about what the author thinks will lead to the best user experience. It may have one of the following values:\n\n* `none`: Indicates that the audio should not be preloaded.\n* `metadata`: Indicates that only audio metadata (e.g. length) is fetched.\n* `auto`: Indicates that the whole audio file can be downloaded, even if the user is not expected to use it.\n* _empty string_: A synonym of the `auto` value.\n\nIf not set, `preload`'s default value is browser-defined (i.e. each browser may have its own default value). The spec advises it to be set to `metadata`.\n\n**Usage notes:**\n\n* The `autoplay` attriLine truncated
**Note**: Sites that automatically play audio (or videos with an audio track) can be an unpleasant experience for users, so should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control.`}},{name:"mediagroup"},{name:"loop",valueSet:"v",description:{kind:"markdown",value:"A Boolean attribute: if specified, the audio player will automatically seek back to the start upon reaching the end of the audio."}},{name:"muted",valueSet:"v",description:{kind:"markdown",value:"A Boolean attribute that indicates whether the audio will be initially silenced. Its default value is `false`."}},{name:"controls",valueSet:"v",description:{kind:"markdown",value:"If this attribute is present, the browser will offer controls to allow the user to control audio playback, including volume, seeking, and pause/resume playback."}}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/audio"}]},{name:"source",description:{kind:"markdown",value:"The source element allows authors to specify multiple alternative media resources for media elements. It does not represent anything on its own."},void:!0,attributes:[{name:"src",description:{kind:"markdown",value:'Required for [`<audio>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio "The HTML <audio> element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element: the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.") and [`<video>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video "The HTML Video element (<video>) embeds a media player which supports video playback into the document."), address of the media resource. The value of this attribute is ignored when the `<source>` element is placed inside a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture "The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.") element.'}},{name:"type",description:{kind:"markdown",value:"The MIME-type of the resource, optionally with a `codecs` parameter. See [RFC 4281](https://tools.ietf.org/html/rfc4281) for information about how to specify codecs."}},{name:"sizes",description:'Is a list of source sizes that describes the final rendered width of the image represented by the source. Each source size consists of a comma-separated list of media condition-length pairs. This information is used by the browser to determine, before laying the page out, which image defined in [`srcset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source#attr-srcset) to use. \nThe `sizes` attribute has an effect only when the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source "The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.") element is the direct child of a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture "The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.") element.'},{name:"srcset",description:"A list of one or more strings separated by commas indicating a set of possible images represented by the source for the browser to use. Each string is composed of:\n\n1. one URL to an image,\n2. a width descriptor, that is a positive integer directly followed by `'w'`. The default value, if missing, is the infinity.\n3. a pixel density descriptor, that is a positive floating number directly followed by `'x'`. The default value, if missing, is `1x`.\n\nEach string in the list must have at least a width descriptor or a pixel density descriptor to be valid. Among the list, there must be only one string containing the same tuple of width descriptor and pixel density descriptor. \nThe browser chooses the most adequate image to display at a given point of time. \nThe `srcset` attribute has an effect only when the [`<source>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source \"The HTML <source> element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element.\") element is the direct child of a [`<picture>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture \"The HTML <picture> element contains zero or more <source> elements and one <img> element to provide versions of an image for different display/device scenarios.\") element."},{name:"media",description:'[Media query](https://developer.mozilla.org/en-US/docs/CSS/Media_queries) of the resource\'s intended med Line truncated
\`left\`
The caption is displayed to the left of the table.
\`top\`
The caption is displayed above the table.
\`right\`
The caption is displayed to the right of the table.
\`bottom\`
The caption is displayed below the table.
**Usage note:** Do not use this attribute, as it has been deprecated. The [\`<caption>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption "The HTML Table Caption element (<caption>) specifies the caption (or title) of a table, and if used is always the first child of a <table>.") element should be styled using the [CSS](https://developer.mozilla.org/en-US/docs/CSS) properties [\`caption-side\`](https://developer.mozilla.org/en-US/docs/Web/CSS/caption-side "The caption-side CSS property puts the content of a table's <caption> on the specified side. The values are relative to the writing-mode of the table.") and [\`text-align\`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.").`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/caption"}]},{name:"colgroup",description:{kind:"markdown",value:"The colgroup element represents a group of one or more columns in the table that is its parent, if it has a parent and that is a table element."},attributes:[{name:"span"},{name:"align",description:'This enumerated attribute specifies how horizontal alignment of each column cell content will be handled. Possible values are:\n\n* `left`, aligning the content to the left of the cell\n* `center`, centering the content in the cell\n* `right`, aligning the content to the right of the cell\n* `justify`, inserting spaces into the textual content so that the content is justified in the cell\n* `char`, aligning the textual content on a special character with a minimal offset, defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-charoff) attributes Unimplemented (see [bug 2212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nIf this attribute is not set, the `left` value is assumed. The descendant [`<col>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col "The HTML <col> element defines a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.") elements may override this value using their own [`align`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col#attr-align) attribute.\n\n**Note:** Do not use this attribute as it is obsolete (not supported) in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values:\n * Do not try to set the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property on a selector giving a [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup "The HTML <colgroup> element defines a group of columns within a table.") element. Because [`<td>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td "The HTML <td> element defines a cell of a table that contains data. It participates in the table model.") elements are not descendant of the [`<colgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup "The HTML <colgroup> element defines a group of columns within a table.") element, they won\'t inherit it.\n * If the table doesn\'t use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, use one `td:nth-child(an+b)` CSS selector per column, where a is the total number of the columns in the table and b is the ordinal position of this column in the table. Only after this selector the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property can be used.\n * If the table does use a [`colspan`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan) attribute, the effect can be achieved by combining adequate CSS attribute selectors like `[colspan=n]`, though this is not trivial.\n* To achieve the same effect as the `char` value, in CSS3, you can use the value of the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup#attr-char) as the value of the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property Unimplemented.'}],references:[{name:"MDN Reference",url:"https://developer.mozilla.o Line truncated
**Note:** Do not use this attribute as it is obsolete in the latest standard. Alternatively, you can put the abbreviated description inside the cell and place the long content in the **title** attribute.`},{name:"align",description:'This enumerated attribute specifies how the cell content\'s horizontal alignment will be handled. Possible values are:\n\n* `left`: The content is aligned to the left of the cell.\n* `center`: The content is centered in the cell.\n* `right`: The content is aligned to the right of the cell.\n* `justify` (with text only): The content is stretched out inside the cell so that it covers its entire width.\n* `char` (with text only): The content is aligned to a character inside the `<th>` element with minimal offset. This character is defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-charoff) attributes Unimplemented (see [bug 2212](https://bugzilla.mozilla.org/show_bug.cgi?id=2212 "character alignment not implemented (align=char, charoff=, text-align:<string>)")).\n\nThe default value when this attribute is not specified is `left`.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, apply the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property to the element.\n* To achieve the same effect as the `char` value, give the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property the same value you would use for the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-char). Unimplemented in CSS3.'},{name:"axis",description:"This attribute contains a list of space-separated strings. Each string is the `id` of a group of cells that this header applies to.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard."},{name:"bgcolor",description:`This attribute defines the background color of each cell in a column. It consists of a 6-digit hexadecimal code as defined in [sRGB](https://www.w3.org/Graphics/Color/sRGB) and is prefixed by '#'. This attribute may be used with one of sixteen predefined color strings:
 
\`black\` = "#000000"
 
\`green\` = "#008000"
 
\`silver\` = "#C0C0C0"
 
\`lime\` = "#00FF00"
 
\`gray\` = "#808080"
 
\`olive\` = "#808000"
 
\`white\` = "#FFFFFF"
 
\`yellow\` = "#FFFF00"
 
\`maroon\` = "#800000"
 
\`navy\` = "#000080"
 
\`red\` = "#FF0000"
 
\`blue\` = "#0000FF"
 
\`purple\` = "#800080"
 
\`teal\` = "#008080"
 
\`fuchsia\` = "#FF00FF"
 
\`aqua\` = "#00FFFF"
**Note:** Do not use this attribute, as it is non-standard and only implemented in some versions of Microsoft Internet Explorer: The [\`<td>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td "The HTML <td> element defines a cell of a table that contains data. It participates in the table model.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/CSS). To create a similar effect use the [\`background-color\`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color "The background-color CSS property sets the background color of an element.") property in [CSS](https://developer.mozilla.org/en-US/docs/CSS) instead.`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/td"}]},{name:"th",description:{kind:"markdown",value:"The th element represents a header cell in a table."},attributes:[{name:"colspan"},{name:"rowspan"},{name:"headers"},{name:"scope",valueSet:"s"},{name:"sorted"},{name:"abbr",description:{kind:"markdown",value:"This attribute contains a short abbreviated description of the cell's content. Some user-agents, such as speech readers, may present this description before the content itself."}},{name:"align",description:'This enumerated attribute specifies how the cell content\'s horizontal alignment will be handled. Possible values are:\n\n* `left`: The content is aligned to the left of the cell.\n* `center`: The content is centered in the cell.\n* `right`: The content is aligned to the right of the cell.\n* `justify` (with text only): The content is stretched out inside the cell so that it covers its entire width.\n* `char` (with text only): The content is aligned to a character inside the `<th>` element with minimal offset. This character is defined by the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-char) and [`charoff`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-charoff) attributes.\n\nThe default value when this attribute is not specified is `left`.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard.\n\n* To achieve the same effect as the `left`, `center`, `right` or `justify` values, apply the CSS [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property to the element.\n* To achieve the same effect as the `char` value, give the [`text-align`](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align "The text-align CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like vertical-align but in the horizontal direction.") property the same value you would use for the [`char`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-char). Unimplemented in CSS3.'},{name:"axis",description:"This attribute contains a list of space-separated strings. Each string is the `id` of a group of cells that this header applies to.\n\n**Note:** Do not use this attribute as it is obsolete in the latest standard: use the [`scope`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-scope) attribute instead."},{name:"bgcolor",description:`This attribute defines the background color of each cell in a column. It consists of a 6-digit hexadecimal code as defined in [sRGB](https://www.w3.org/Graphics/Color/sRGB) and is prefixed by '#'. This attribute may be used with one of sixteen predefined color strings:
 
\`black\` = "#000000"
 
\`green\` = "#008000"
 
\`silver\` = "#C0C0C0"
 
\`lime\` = "#00FF00"
 
\`gray\` = "#808080"
 
\`olive\` = "#808000"
 
\`white\` = "#FFFFFF"
 
\`yellow\` = "#FFFF00"
 
\`maroon\` = "#800000"
 
\`navy\` = "#000080"
 
\`red\` = "#FF0000"
 
\`blue\` = "#0000FF"
 
\`purple\` = "#800080"
 
\`teal\` = "#008080"
 
\`fuchsia\` = "#FF00FF"
 
\`aqua\` = "#00FFFF"
**Note:** Do not use this attribute, as it is non-standard and only implemented in some versions of Microsoft Internet Explorer: The [\`<th>\`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th "The HTML <th> element defines a cell as header of a group of table cells. The exact nature of this group is defined by the scope and headers attributes.") element should be styled using [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS). To create a similar effect use the [\`background-color\`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color "The background-color CSS property sets the background color of an element.") property in [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) instead.`}],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Element/th"}]},{name:"form",description:{kind:"markdown",value:"The form element represents a collection of form-associated elements, some of which can represent editable values that can be submitted to a server for processing."},attributes:[{name:"accept-charset",description:{kind:"markdown",value:'A space- or comma-delimited list of character encodings that the server accepts. The browser uses them in the order in which they are listed. The default value, the reserved string `"UNKNOWN"`, indicates the same encoding as that of the document containing the form element. \nIn previous versions of HTML, the different character encodings could be delimited by spaces or commas. In HTML5, only spaces are allowed as delimiters.'}},{name:"action",description:{kind:"markdown",value:'The URI of a program that processes the form information. This value can be overridden by a [`formaction`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formaction) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or anywhere in a document that needs simple, standard button functionality.") or [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element.'}},{name:"autocomplete",valueSet:"o",description:{kind:"markdown",value:"Indicates whether input elements can by default have their values automatically completed by the browser. This setting can be overridden by an `autocomplete` attribute on an element belonging to the form. Possible values are:\n\n* `off`: The user must explicitly enter a value into each field for every use, or the document provides its own auto-completion method; the browser does not automatically complete entries.\n* `on`: The browser can automatically complete values based on values that the user has previously entered in the form.\n\nFor most modern browsers (including Firefox 38+, Google Chrome 34+, IE 11+) setting the autocomplete attribute will not prevent a browser's password manager from asking the user if they want to store login fields (username and password), if the user permits the storage the browser will autofill the login the next time the user visits the page. See [The autocomplete attribute and login fields](https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion#The_autocomplete_attribute_and_login_fields).\n**Note:** If you set `autocomplete` to `off` in a form because the document provides its own auto-completion, then you should also set `autocomplete` to `off` for each of the form's `input` elements that the document can auto-complete. For details, see the note regarding Google Chrome in the [Browser Compatibility chart](#compatChart)."}},{name:"enctype",valueSet:"et",description:{kind:"markdown",value:'When the value of the `method` attribute is `post`, enctype is the [MIME type](https://en.wikipedia.org/wiki/Mime_type) of content that is used to submit the form to the server. Possible values are:\n\n* `application/x-www-form-urlencoded`: The default value if the attribute is not specified.\n* `multipart/form-data`: The value used for an [`<input>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input "The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.") element with the `type` attribute set to "file".\n* `text/plain`: (HTML5)\n\nThis value can be overridden by a [`formenctype`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formenctype) attribute on a [`<button>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button "The HTML <button> element represents a clickable button, which can be used in forms or Line truncated
This attribute must not be used if the \`src\` attribute is absent (i.e. for inline scripts). If it is included in this case it will have no effect.
Browsers usually assume the worst case scenario and load scripts synchronously, (i.e. \`async="false"\`) during HTML parsing.
Dynamically inserted scripts (using [\`document.createElement()\`](https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement "In an HTML document, the document.createElement() method creates the HTML element specified by tagName, or an HTMLUnknownElement if tagName isn't recognized.")) load asynchronously by default, so to turn on synchronous loading (i.e. scripts load in the order they were inserted) set \`async="false"\`.
See [Browser compatibility](#Browser_compatibility) for notes on browser support. See also [Async scripts for asm.js](https://developer.mozilla.org/en-US/docs/Games/Techniques/Async_scripts).`}},{name:"defer",valueSet:"v",description:{kind:"markdown",value:'This Boolean attribute is set to indicate to a browser that the script is meant to be executed after the document has been parsed, but before firing [`DOMContentLoaded`](https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded "/en-US/docs/Web/Events/DOMContentLoaded").\n\nScripts with the `defer` attribute will prevent the `DOMContentLoaded` event from firing until the script has loaded and finished evaluating.\n\nThis attribute must not be used if the `src` attribute is absent (i.e. for inline scripts), in this case it would have no effect.\n\nTo achieve a similar effect for dynamically inserted scripts use `async="false"` instead. Scripts with the `defer` attribute will execute in the order in which they appear in the document.'}},{name:"crossorigin",valueSet:"xo",description:{kind:"markdown",value:'Normal `script` elements pass minimal information to the [`window.onerror`](https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror "The onerror property of the GlobalEventHandlers mixin is an EventHandler that processes error events.") for scripts which do not pass the standard [CORS](https://developer.mozilla.org/en-US/docs/Glossary/CORS "CORS: CORS (Cross-Origin Resource Sharing) is a system, consisting of transmitting HTTP headers, that determines whether browsers block frontend JavaScript code from accessing responses for cross-origin requests.") checks. To allow error logging for sites which use a separate domain for static media, use this attribute. See [CORS settings attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) for a more descriptive explanation of its valid arguments.'}},{name:"nonce",description:{kind:"markdown",value:"A cryptographic nonce (number used once) to list the allowed inline scripts in a [script-src Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src). The server must generate a unique nonce value each time it transmits a policy. It is critical to provide a nonce that cannot be guessed as bypassing a resource's policy is otherwise trivial."}},{name:"integrity",description:"This attribute contains inline metadata that a user agent can use to verify that a fetched resource has been delivered free of unexpected manipulation. See [Subresource Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity)."},{name:"nomodule",description:"This Boolean attribute is set to indicate that the script should not be executed in browsers that support [ES2015 modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/) — in effect, this can be used to serve fallback scripts to older browsers that do not support modular JavaScript code."},{name:"referrerpolicy",description:'Indicates which [referrer](https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer) to send when fetching the script, or resources fetched by the script:\n\n* `no-referrer`: The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent.\n* `no-referrer-when-downgrade` (default): The [`Referer`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer "The Referer request header contains the address of the previous web page from which a link to the currently requested page was followed. The Referer header allows servers to identify where people are visiting them from and may use that data for analytics, logging, or optimized caching, for example.") header will not be sent to [origin](https://developer.mozilla.org/en-US/docs/Glossary/origin "origin: Web content\'s origin is defined by the scheme (protocol), host (domain), and port of the URL used to access it. Two objects have the same origin only when the scheme, host, and port all match.")s without [TLS](https://developer.mozilla.org/en-US/docs/Glossary/TLS "TLS: Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), is a protocol used by applications to communicate securely across a network, preventing tampering with and eavesdropping on email, web browsing, messaging, and other protocols.") ([HTTPS](https://developer.mozilla.org/en-US/docs/Glossary/HTTPS "HTTPS: HTTPS (HTTP Secure) is an encrypted version of the HTTP protocol. It usually uses SSL or TLS to encrypt all communication between a client and a server. This secure connection allows clients to safely exchange s Line truncated
* a _negative value_ means that the element should be focusable, but should not be reachable via sequential keyboard navigation;
* \`0\` means that the element should be focusable and reachable via sequential keyboard navigation, but its relative order is defined by the platform convention;
* a _positive value_ means that the element should be focusable and reachable via sequential keyboard navigation; the order in which the elements are focused is the increasing value of the [**tabindex**](#attr-tabindex). If several elements share the same tabindex, their relative order follows their relative positions in the document.`},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/tabindex"}]},{name:"title",description:{kind:"markdown",value:"Contains a text representing advisory information related to the element it belongs to. Such information can typically, but not necessarily, be presented to the user as a tooltip."},references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/title"}]},{name:"translate",description:{kind:"markdown",value:"An enumerated attribute that is used to specify whether an element's attribute values and the values of its [`Text`](https://developer.mozilla.org/docs/Web/API/Text \"The Text interface represents the textual content of Element or Attr. If an element has no markup within its content, it has a single child implementing Text that contains the element's text. However, if the element contains markup, it is parsed into information items and Text nodes that form its children.\") node children are to be translated when the page is localized, or whether to leave them unchanged. It can have the following values:\n\n* empty string and `yes`, which indicates that the element will be translated.\n* `no`, which indicates that the element will not be translated."},valueSet:"y",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/HTML/Global_attributes/translate"}]},{name:"onabort",description:{kind:"markdown",value:"The loading of a resource has been aborted."}},{name:"onblur",description:{kind:"markdown",value:"An element has lost focus (does not bubble)."}},{name:"oncanplay",description:{kind:"markdown",value:"The user agent can play the media, but estimates that not enough data has been loaded to play the media up to its end without having to stop for further buffering of content."}},{name:"oncanplaythrough",description:{kind:"markdown",value:"The user agent can play the media up to its end without having to stop for further buffering of content."}},{name:"onchange",description:{kind:"markdown",value:"The change event is fired for <input>, <select>, and <textarea> elements when a change to the element's value is committed by the user."}},{name:"onclick",description:{kind:"markdown",value:"A pointing device button has been pressed and released on an element."}},{name:"oncontextmenu",description:{kind:"markdown",value:"The right button of the mouse is clicked (before the context menu is displayed)."}},{name:"ondblclick",description:{kind:"markdown",value:"A pointing device button is clicked twice on an element."}},{name:"ondrag",description:{kind:"markdown",value:"An element or text selection is being dragged (every 350ms)."}},{name:"ondragend",description:{kind:"markdown",value:"A drag operation is being ended (by releasing a mouse button or hitting the escape key)."}},{name:"ondragenter",description:{kind:"markdown",value:"A dragged element or text selection enters a valid drop target."}},{name:"ondragleave",description:{kind:"markdown",value:"A dragged element or text selection leaves a valid drop target."}},{name:"ondragover",description:{kind:"markdown",value:"An element or text selection is being dragged over a valid drop target (every 350ms)."}},{name:"ondragstart",description:{kind:"markdown",value:"The user starts dragging an element or text selection."}},{name:"ondrop",description:{kind:"markdown",value:"An element is dropped on a valid drop target."}},{name:"ondurationchange",description:{kind:"markdown",value:"The duration attribute has been updated."}},{name:"onemptied",description:{kind:"markdown",value:"The media has become empty; for example, this event is sent if the media has already been loaded (or partially loaded), and the load() method is called to reload it."}},{name:"onended",description:{kind:"markdown",value:"Playback has stopped because the end of the media was reached."}},{name:"onerror",description:{kind:"markdown",value:"A resource failed to load."}},{name:"onfocus",description:{kind:"markdown",value:"An element has received focus (does not bubble)."}},{name:"onformchange"},{name:"onforminput"},{name:"oninput",description:{kind:"markdown",value:"The value of an element changes or the content of an element with the attribute contenteditable is modified."}},{name:"oninvalid",description:{kind:"markdown",value:"A submittable element has been checked and doesn't satisfy its constraints."}},{name:"onkeydown",description:{kind:"markdown",value:"A key is pressed down."}},{name:"onkeypress",description:{kind:"markdown",value:"A key is pressed down and that key normally produces a character value (use input instead)."}},{name:"onkeyup Line truncated
@@ -0,0 +1 @@
define("vs/language/html/monaco.contribution",["exports","../../monaco.contribution-BgRy6xDf"],(function(e,a){"use strict";e.handlebarDefaults=a.handlebarDefaults,e.handlebarLanguageService=a.handlebarLanguageService,e.htmlDefaults=a.htmlDefaults,e.htmlLanguageService=a.htmlLanguageService,e.razorDefaults=a.razorDefaults,e.razorLanguageService=a.razorLanguageService,e.registerHTMLLanguageService=a.registerHTMLLanguageService,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1,17 @@
define("vs/language/json/json.worker",["../../initialize-DL0l1TGY","../../main-BEx-Fmlo","../../main-DsK8pnKg","../../index-049xrXrp"],(function(Me,j,v,p){"use strict";function W(n,e){if(n===e)return!0;if(n==null||e===null||e===void 0||typeof n!=typeof e||typeof n!="object"||Array.isArray(n)!==Array.isArray(e))return!1;let t,r;if(Array.isArray(n)){if(n.length!==e.length)return!1;for(t=0;t<n.length;t++)if(!W(n[t],e[t]))return!1}else{const i=[];for(r in n)i.push(r);i.sort();const s=[];for(r in e)s.push(r);if(s.sort(),!W(i,s))return!1;for(t=0;t<i.length;t++)if(!W(n[i[t]],e[i[t]]))return!1}return!0}function F(n){return typeof n=="number"}function E(n){return typeof n<"u"}function _(n){return typeof n=="boolean"}function he(n){return typeof n=="string"}function K(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function Le(n,e){if(n.length<e.length)return!1;for(let t=0;t<e.length;t++)if(n[t]!==e[t])return!1;return!0}function z(n,e){const t=n.length-e.length;return t>0?n.lastIndexOf(e)===t:t===0?n===e:!1}function X(n){let e="";Le(n,"(?i)")&&(n=n.substring(4),e="i");try{return new RegExp(n,e+"u")}catch{try{return new RegExp(n,e)}catch{return}}}function me(n){let e=0;for(let t=0;t<n.length;t++){e++;const r=n.charCodeAt(t);55296<=r&&r<=56319&&t++}return e}var x;(function(n){n[n.Undefined=0]="Undefined",n[n.EnumValueMismatch=1]="EnumValueMismatch",n[n.Deprecated=2]="Deprecated",n[n.UnexpectedEndOfComment=257]="UnexpectedEndOfComment",n[n.UnexpectedEndOfString=258]="UnexpectedEndOfString",n[n.UnexpectedEndOfNumber=259]="UnexpectedEndOfNumber",n[n.InvalidUnicode=260]="InvalidUnicode",n[n.InvalidEscapeCharacter=261]="InvalidEscapeCharacter",n[n.InvalidCharacter=262]="InvalidCharacter",n[n.PropertyExpected=513]="PropertyExpected",n[n.CommaExpected=514]="CommaExpected",n[n.ColonExpected=515]="ColonExpected",n[n.ValueExpected=516]="ValueExpected",n[n.CommaOrCloseBacketExpected=517]="CommaOrCloseBacketExpected",n[n.CommaOrCloseBraceExpected=518]="CommaOrCloseBraceExpected",n[n.TrailingComma=519]="TrailingComma",n[n.DuplicateKey=520]="DuplicateKey",n[n.CommentNotPermitted=521]="CommentNotPermitted",n[n.PropertyKeysMustBeDoublequoted=528]="PropertyKeysMustBeDoublequoted",n[n.SchemaResolveError=768]="SchemaResolveError",n[n.SchemaUnsupportedFeature=769]="SchemaUnsupportedFeature"})(x||(x={}));var R;(function(n){n[n.v3=3]="v3",n[n.v4=4]="v4",n[n.v6=6]="v6",n[n.v7=7]="v7",n[n.v2019_09=19]="v2019_09",n[n.v2020_12=20]="v2020_12"})(R||(R={}));var re;(function(n){n.LATEST={textDocument:{completion:{completionItem:{documentationFormat:[v.MarkupKind.Markdown,v.MarkupKind.PlainText],commitCharactersSupport:!0,labelDetailsSupport:!0}}}}})(re||(re={}));const Fe={"color-hex":{errorMessage:p.t("Invalid color format. Use #RGB, #RGBA, #RRGGBB or #RRGGBBAA."),pattern:/^#([0-9A-Fa-f]{3,4}|([0-9A-Fa-f]{2}){3,4})$/},"date-time":{errorMessage:p.t("String is not a RFC3339 date-time."),pattern:/^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$/i},date:{errorMessage:p.t("String is not a RFC3339 date."),pattern:/^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/i},time:{errorMessage:p.t("String is not a RFC3339 time."),pattern:/^([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$/i},email:{errorMessage:p.t("String is not an e-mail address."),pattern:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}))$/},hostname:{errorMessage:p.t("String is not a hostname."),pattern:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i},ipv4:{errorMessage:p.t("String is not an IPv4 address."),pattern:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/},ipv6:{errorMessage:p.t("String is not an IPv6 address."),pattern:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i}};class q{constructor(e,tLine truncated
`;for(let s=0;s<n.length;s++)i+=r+oe(n[s],r,t),s<n.length-1&&(i+=","),i+=`
`;return i+=e+"]",i}else{const i=Object.keys(n);if(i.length===0)return"{}";let s=`{
`;for(let c=0;c<i.length;c++){const o=i[c];s+=r+JSON.stringify(o)+": "+oe(n[o],r,t),c<i.length-1&&(s+=","),s+=`
`}return s+=e+"}",s}}return t(n)}class Je{constructor(e,t=[],r=Promise,i={}){this.schemaService=e,this.contributions=t,this.promiseConstructor=r,this.clientCapabilities=i}doResolve(e){for(let t=this.contributions.length-1;t>=0;t--){const r=this.contributions[t].resolveCompletion;if(r){const i=r(e);if(i)return i}}return this.promiseConstructor.resolve(e)}doComplete(e,t,r){const i={items:[],isIncomplete:!1},s=e.getText(),c=e.offsetAt(t);let o=r.getNodeFromOffset(c,!0);if(this.isInComment(e,o?o.offset:0,c))return Promise.resolve(i);if(o&&c===o.offset+o.length&&c>0){const f=s[c-1];(o.type==="object"&&f==="}"||o.type==="array"&&f==="]")&&(o=o.parent)}const h=this.getCurrentWord(e,c);let a;if(o&&(o.type==="string"||o.type==="number"||o.type==="boolean"||o.type==="null"))a=v.Range.create(e.positionAt(o.offset),e.positionAt(o.offset+o.length));else{let f=c-h.length;f>0&&s[f-1]==='"'&&f--,a=v.Range.create(e.positionAt(f),t)}const g=new Map,l={add:f=>{let y=f.label;const u=g.get(y);if(u)u.documentation||(u.documentation=f.documentation),u.detail||(u.detail=f.detail),u.labelDetails||(u.labelDetails=f.labelDetails);else{if(y=y.replace(/[\n]/g,"↵"),y.length>60){const b=y.substr(0,57).trim()+"...";g.has(b)||(y=b)}f.textEdit=v.TextEdit.replace(a,f.insertText),f.label=y,g.set(y,f),i.items.push(f)}},setAsIncomplete:()=>{i.isIncomplete=!0},error:f=>{console.error(f)},getNumberOfProposals:()=>i.items.length};return this.schemaService.getSchemaForResource(e.uri,r).then(f=>{const y=[];let u=!0,b="",d;if(o&&o.type==="string"){const T=o.parent;T&&T.type==="property"&&T.keyNode===o&&(u=!T.valueNode,d=T,b=s.substr(o.offset+1,o.length-2),T&&(o=T.parent))}if(o&&o.type==="object"){if(o.offset===c)return i;o.properties.forEach(N=>{(!d||d!==N)&&g.set(N.keyNode.value,v.CompletionItem.create("__"))});let m="";u&&(m=this.evaluateSeparatorAfter(e,e.offsetAt(a.end))),f?this.getPropertyCompletions(f,r,o,u,m,l):this.getSchemaLessPropertyCompletions(r,o,b,l);const k=ie(o);this.contributions.forEach(N=>{const A=N.collectPropertyCompletions(e.uri,k,h,u,m==="",l);A&&y.push(A)}),!f&&h.length>0&&s.charAt(c-h.length-1)!=='"'&&(l.add({kind:v.CompletionItemKind.Property,label:this.getLabelForValue(h),insertText:this.getInsertTextForProperty(h,void 0,!1,m),insertTextFormat:v.InsertTextFormat.Snippet,documentation:""}),l.setAsIncomplete())}const S={};return f?this.getValueCompletions(f,r,o,c,e,l,S):this.getSchemaLessValueCompletions(r,o,c,e,l),this.contributions.length>0&&this.getContributedValueCompletions(r,o,c,e,l,y),this.promiseConstructor.all(y).then(()=>{if(l.getNumberOfProposals()===0){let T=c;o&&(o.type==="string"||o.type==="number"||o.type==="boolean"||o.type==="null")&&(T=o.offset+o.length);const m=this.evaluateSeparatorAfter(e,T);this.addFillerValueCompletions(S,m,l)}return i})})}getPropertyCompletions(e,t,r,i,s,c){t.getMatchingSchemas(e.schema,r.offset).forEach(h=>{if(h.node===r&&!h.inverted){const a=h.schema.properties;a&&Object.keys(a).forEach(l=>{const f=a[l];if(typeof f=="object"&&!f.deprecationMessage&&!f.doNotSuggest){const y={kind:v.CompletionItemKind.Property,label:l,insertText:this.getInsertTextForProperty(l,f,i,s),insertTextFormat:v.InsertTextFormat.Snippet,filterText:this.getFilterTextForValue(l),documentation:this.fromMarkup(f.markdownDescription)||f.description||""};f.suggestSortText!==void 0&&(y.sortText=f.suggestSortText),y.insertText&&z(y.insertText,`$1${s}`)&&(y.command={title:"Suggest",command:"editor.action.triggerSuggest"}),c.add(y)}});const g=h.schema.propertyNames;if(typeof g=="object"&&!g.deprecationMessage&&!g.doNotSuggest){const l=(f,y=void 0)=>{const u={kind:v.CompletionItemKind.Property,label:f,insertText:this.getInsertTextForProperty(f,void 0,i,s),insertTextFormat:v.InsertTextFormat.Snippet,filterText:this.getFilterTextForValue(f),documentation:y||this.fromMarkup(g.markdownDescription)||g.description||""};g.suggestSortText!==void 0&&(u.sortText=g.suggestSortText),u.insertText&&z(u.insertText,`$1${s}`)&&(u.command={title:"Suggest",command:"editor.action.triggerSuggest"}),c.add(u)};if(g.enum)for(let f=0;f<g.enum.length;f++){let y;g.markdownEnumDescriptions&&f<g.markdownEnumDescriptions.length?y=this.fromMarkup(g.markdownEnumDescriptions[f]):g.enumDescriptions&&f<g.enumDescriptions.length&&(y=g.enumDescriptions[f]),l(g.enum[f],y)}g.const&&l(g.const)}}})}getSchemaLessPropertyCompletions(e,t,r,i){const s=c=>{c.properties.forEach(o=>{const h=o.keyNode.value;i.add({kind:v.CompletionItemKind.Property,label:h,insertText:this.getInsertTextForValue(h,""),insertTextFormat:v.InsertTextFormat.Snippet,filterText:this.getFilterTextForValue(h),documentation:""})})};if(t.parent)if(t.parent.type==="property"){const c=t.parent.keyNode.value;e.visit(o=>(o.type==="property"&&o!==t.parent&&o.keyNode.value===c&&o.valueNode&&o.valueNode.type==="object"&&s(o.valueNode),!0))}else t.parent.type==="array"&&t.parent.items.forEach(c=>{c.type==="object"&&c!==t&&s(c)});else t.type==="object"&&i.add({kind:v.CompletionItemKind.Property,label:"$sc Line truncated
`,y=y+`
`+u+"]",u+=" ",o="array";g=f+u+c.bodyText.split(`
`).join(`
`+u)+y+t,a=a||g,l=g.replace(/[\n]/g,"")}else return;r.add({kind:this.getSuggestionKind(o),label:a,documentation:this.fromMarkup(c.markdownDescription)||c.description,insertText:g,insertTextFormat:v.InsertTextFormat.Snippet,filterText:l}),s=!0}),!s&&typeof e.items=="object"&&!Array.isArray(e.items)&&i<5&&this.addDefaultValueCompletions(e.items,t,r,i+1)}addEnumValueCompletions(e,t,r){if(E(e.const)&&r.add({kind:this.getSuggestionKind(e.type),label:this.getLabelForValue(e.const),insertText:this.getInsertTextForValue(e.const,t),insertTextFormat:v.InsertTextFormat.Snippet,documentation:this.fromMarkup(e.markdownDescription)||e.description}),Array.isArray(e.enum))for(let i=0,s=e.enum.length;i<s;i++){const c=e.enum[i];let o=this.fromMarkup(e.markdownDescription)||e.description;e.markdownEnumDescriptions&&i<e.markdownEnumDescriptions.length&&this.doesSupportMarkdown()?o=this.fromMarkup(e.markdownEnumDescriptions[i]):e.enumDescriptions&&i<e.enumDescriptions.length&&(o=e.enumDescriptions[i]),r.add({kind:this.getSuggestionKind(e.type),label:this.getLabelForValue(c),insertText:this.getInsertTextForValue(c,t),insertTextFormat:v.InsertTextFormat.Snippet,documentation:o})}}collectTypes(e,t){if(Array.isArray(e.enum)||E(e.const))return;const r=e.type;Array.isArray(r)?r.forEach(i=>t[i]=!0):r&&(t[r]=!0)}addFillerValueCompletions(e,t,r){e.object&&r.add({kind:this.getSuggestionKind("object"),label:"{}",insertText:this.getInsertTextForGuessedValue({},t),insertTextFormat:v.InsertTextFormat.Snippet,detail:p.t("New object"),documentation:""}),e.array&&r.add({kind:this.getSuggestionKind("array"),label:"[]",insertText:this.getInsertTextForGuessedValue([],t),insertTextFormat:v.InsertTextFormat.Snippet,detail:p.t("New array"),documentation:""})}addBooleanValueCompletion(e,t,r){r.add({kind:this.getSuggestionKind("boolean"),label:e?"true":"false",insertText:this.getInsertTextForValue(e,t),insertTextFormat:v.InsertTextFormat.Snippet,documentation:""})}addNullValueCompletion(e,t){t.add({kind:this.getSuggestionKind("null"),label:"null",insertText:"null"+e,insertTextFormat:v.InsertTextFormat.Snippet,documentation:""})}addDollarSchemaCompletions(e,t){this.schemaService.getRegisteredSchemaIds(i=>i==="http"||i==="https").forEach(i=>{i.startsWith("http://json-schema.org/draft-")&&(i=i+"#"),t.add({kind:v.CompletionItemKind.Module,label:this.getLabelForValue(i),filterText:this.getFilterTextForValue(i),insertText:this.getInsertTextForValue(i,e),insertTextFormat:v.InsertTextFormat.Snippet,documentation:""})})}getLabelForValue(e){return JSON.stringify(e)}getValueFromLabel(e){return JSON.parse(e)}getFilterTextForValue(e){return JSON.stringify(e)}getFilterTextForSnippetValue(e){return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")}getLabelForSnippetValue(e){return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")}getInsertTextForPlainText(e){return e.replace(/[\\\$\}]/g,"\\$&")}getInsertTextForValue(e,t){const r=JSON.stringify(e,null," ");return r==="{}"?"{$1}"+t:r==="[]"?"[$1]"+t:this.getInsertTextForPlainText(r+t)}getInsertTextForSnippetValue(e,t){return oe(e,"",i=>typeof i=="string"&&i[0]==="^"?i.substr(1):JSON.stringify(i))+t}getInsertTextForGuessedValue(e,t){switch(typeof e){case"object":return e===null?"${1:null}"+t:this.getInsertTextForValue(e,t);case"string":let r=JSON.stringify(e);return r=r.substr(1,r.length-2),r=this.getInsertTextForPlainText(r),'"${1:'+r+'}"'+t;case"number":case"boolean":return"${1:"+JSON.stringify(e)+"}"+t}return this.getInsertTextForValue(e,t)}getSuggestionKind(e){if(Array.isArray(e)){const t=e;e=t.length>0?t[0]:void 0}if(!e)return v.CompletionItemKind.Value;switch(e){case"string":return v.CompletionItemKind.Value;case"object":return v.CompletionItemKind.Module;case"property":return v.CompletionItemKind.Property;default:return v.CompletionItemKind.Value}}getLabelTextForMatchingNode(e,t){switch(e.type){case"array":return"[]";case"object":return"{}";default:return t.getText().substr(e.offset,e.length)}}getInsertTextForMatchingNode(e,t,r){switch(e.type){case"array":return this.getInsertTextForValue([],r);case"object":return this.getInsertTextForValue({},r);default:const i=t.getText().substr(e.offset,e.length)+r;return this.getInsertTextForPlainText(i)}}getInsertTextForProperty(e,t,r,i){const s=this.getInsertTextForValue(e,"");if(!r)return s;const c=s+": ";let o,h=0;if(t){if(Array.isArray(t.defaultSnippets)){if(t.defaultSnippets.length===1){const a=t.defaultSnippets[0].body;E(a)&&(o=this.getInsertTextForSnippetValue(a,""))}h+=t.defaultSnippets.length}if(t.enum&&(!o&&t.enum.length===1&&(o=this.getInsertTextForGuessedValue(t.enum[0],"")),h+=t.enum.length),E(t.const)&&(o||(o=this.getInsertTextForGuessedValue(t.const,"")),h++),E(t.default)&&(o||(o=this.getInsertTextForGuessedValue(t.default,"")),h++),Array.isArray(t.examples)&&t.examples.length&&(o||(o=this.getInsertTextForGuessedValue(t.examples[0],"")),h+=t.examples.length),h===0){let a=Array.isArray(t.type)?t.type[0]:t.type;switch(a||(t.properties?a="objec Line truncated
\r\v":{[,]}`.indexOf(i.charAt(r))===-1;)r--;return i.substring(r+1,t)}evaluateSeparatorAfter(e,t){const r=j.createScanner(e.getText(),!0);switch(r.setPosition(t),r.scan()){case 5:case 2:case 4:case 17:return"";default:return","}}findItemAtOffset(e,t,r){const i=j.createScanner(t.getText(),!0),s=e.items;for(let c=s.length-1;c>=0;c--){const o=s[c];if(r>o.offset+o.length)return i.setPosition(o.offset+o.length),i.scan()===5&&r>=i.getTokenOffset()+i.getTokenLength()?c+1:c;if(r>=o.offset)return c}return 0}isInComment(e,t,r){const i=j.createScanner(e.getText(),!1);i.setPosition(t);let s=i.scan();for(;s!==17&&i.getTokenOffset()+i.getTokenLength()<r;)s=i.scan();return(s===12||s===13)&&i.getTokenOffset()<=r}fromMarkup(e){if(e&&this.doesSupportMarkdown())return{kind:v.MarkupKind.Markdown,value:e}}doesSupportMarkdown(){if(!E(this.supportsMarkdown)){const e=this.clientCapabilities.textDocument?.completion?.completionItem?.documentationFormat;this.supportsMarkdown=Array.isArray(e)&&e.indexOf(v.MarkupKind.Markdown)!==-1}return this.supportsMarkdown}doesSupportsCommitCharacters(){return E(this.supportsCommitCharacters)||(this.labelDetailsSupport=this.clientCapabilities.textDocument?.completion?.completionItem?.commitCharactersSupport),this.supportsCommitCharacters}doesSupportsLabelDetails(){return E(this.labelDetailsSupport)||(this.labelDetailsSupport=this.clientCapabilities.textDocument?.completion?.completionItem?.labelDetailsSupport),this.labelDetailsSupport}}class qe{constructor(e,t=[],r){this.schemaService=e,this.contributions=t,this.promise=r||Promise}doHover(e,t,r){const i=e.offsetAt(t);let s=r.getNodeFromOffset(i);if(!s||(s.type==="object"||s.type==="array")&&i>s.offset+1&&i<s.offset+s.length-1)return this.promise.resolve(null);const c=s;if(s.type==="string"){const g=s.parent;if(g&&g.type==="property"&&g.keyNode===s&&(s=g.valueNode,!s))return this.promise.resolve(null)}const o=v.Range.create(e.positionAt(c.offset),e.positionAt(c.offset+c.length)),h=g=>({contents:g,range:o}),a=ie(s);for(let g=this.contributions.length-1;g>=0;g--){const f=this.contributions[g].getInfoContribution(e.uri,a);if(f)return f.then(y=>h(y))}return this.schemaService.getSchemaForResource(e.uri,r).then(g=>{if(g&&s){const l=r.getMatchingSchemas(g.schema,s.offset);let f,y,u,b;l.every(S=>{if(S.node===s&&!S.inverted&&S.schema&&(f=f||S.schema.title,y=y||S.schema.markdownDescription||ae(S.schema.description),S.schema.enum)){const T=S.schema.enum.indexOf(B(s));S.schema.markdownEnumDescriptions?u=S.schema.markdownEnumDescriptions[T]:S.schema.enumDescriptions&&(u=ae(S.schema.enumDescriptions[T])),u&&(b=S.schema.enum[T],typeof b!="string"&&(b=JSON.stringify(b)))}return!0});let d="";return f&&(d=ae(f)),y&&(d.length>0&&(d+=`
`),d+=y),u&&(d.length>0&&(d+=`
`),d+=`\`${Be(b)}\`: ${u}`),h([d])}return null})}}function ae(n){if(n)return n.replace(/([^\n\r])(\r?\n)([^\n\r])/gm,`$1
$3`).replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}function Be(n){return n.indexOf("`")!==-1?"`` "+n+" ``":n}class We{constructor(e,t){this.jsonSchemaService=e,this.promise=t,this.validationEnabled=!0}configure(e){e&&(this.validationEnabled=e.validate!==!1,this.commentSeverity=e.allowComments?void 0:v.DiagnosticSeverity.Error)}doValidation(e,t,r,i){if(!this.validationEnabled)return this.promise.resolve([]);const s=[],c={},o=a=>{const g=a.range.start.line+" "+a.range.start.character+" "+a.message;c[g]||(c[g]=!0,s.push(a))},h=a=>{let g=r?.trailingCommas?Q(r.trailingCommas):v.DiagnosticSeverity.Error,l=r?.comments?Q(r.comments):this.commentSeverity,f=r?.schemaValidation?Q(r.schemaValidation):v.DiagnosticSeverity.Warning,y=r?.schemaRequest?Q(r.schemaRequest):v.DiagnosticSeverity.Warning;if(a){const u=(b,d)=>{if(t.root&&y){const S=t.root,T=S.type==="object"?S.properties[0]:void 0;if(T&&T.keyNode.value==="$schema"){const m=T.valueNode||T,k=v.Range.create(e.positionAt(m.offset),e.positionAt(m.offset+m.length));o(v.Diagnostic.create(k,b,y,d))}else{const m=v.Range.create(e.positionAt(S.offset),e.positionAt(S.offset+1));o(v.Diagnostic.create(m,b,y,d))}}};if(a.errors.length)u(a.errors[0],x.SchemaResolveError);else if(f){for(const d of a.warnings)u(d,x.SchemaUnsupportedFeature);const b=t.validate(e,a.schema,f,r?.schemaDraft);b&&b.forEach(o)}Te(a.schema)&&(l=void 0),ke(a.schema)&&(g=void 0)}for(const u of t.syntaxErrors){if(u.code===x.TrailingComma){if(typeof g!="number")continue;u.severity=g}o(u)}if(typeof l=="number"){const u=p.t("Comments are not permitted in JSON.");t.comments.forEach(b=>{o(v.Diagnostic.create(b,u,l,x.CommentNotPermitted))})}return s};if(i){const a=i.id||"schemaservice://untitled/"+ze++;return this.jsonSchemaService.registerExternalSchema({uri:a,schema:i}).getResolvedSchema().then(l=>h(l))}return this.jsonSchemaService.getSchemaForResource(e.uri,t).then(a=>h(a))}getLanguageStatus(e,t){return{schemas:this.jsonSchemaService.getSchemaURIsForResource(e.uri,t)}}}let ze=0;function Te(n){if(n&&typeof n=="object"){if(_(n.allowComments))return n.allowComments;if(n.allOf)for(const e of n.allOf){const t=Te(e);if(_(t))return t}}}function ke(n){if(n&&typeof n=="object"){if(_(n.allowTrailingCommas))return n.allowTrailingCommas;const e=n;if(_(e.allowsTrailingCommas))return e.allowsTrailingCommas;if(n.allOf)for(const t of n.allOf){const r=ke(t);if(_(r))return r}}}function Q(n){switch(n){case"error":return v.DiagnosticSeverity.Error;case"warning":return v.DiagnosticSeverity.Warning;case"ignore":return}}const Ne=48,He=57,Ge=65,Y=97,Ze=102;function C(n){return n<Ne?0:n<=He?n-Ne:(n<Y&&(n+=Y-Ge),n>=Y&&n<=Ze?n-Y+10:0)}function Xe(n){if(n[0]==="#")switch(n.length){case 4:return{red:C(n.charCodeAt(1))*17/255,green:C(n.charCodeAt(2))*17/255,blue:C(n.charCodeAt(3))*17/255,alpha:1};case 5:return{red:C(n.charCodeAt(1))*17/255,green:C(n.charCodeAt(2))*17/255,blue:C(n.charCodeAt(3))*17/255,alpha:C(n.charCodeAt(4))*17/255};case 7:return{red:(C(n.charCodeAt(1))*16+C(n.charCodeAt(2)))/255,green:(C(n.charCodeAt(3))*16+C(n.charCodeAt(4)))/255,blue:(C(n.charCodeAt(5))*16+C(n.charCodeAt(6)))/255,alpha:1};case 9:return{red:(C(n.charCodeAt(1))*16+C(n.charCodeAt(2)))/255,green:(C(n.charCodeAt(3))*16+C(n.charCodeAt(4)))/255,blue:(C(n.charCodeAt(5))*16+C(n.charCodeAt(6)))/255,alpha:(C(n.charCodeAt(7))*16+C(n.charCodeAt(8)))/255}}}class Qe{constructor(e){this.schemaService=e}findDocumentSymbols(e,t,r={resultLimit:Number.MAX_VALUE}){const i=t.root;if(!i)return[];let s=r.resultLimit||Number.MAX_VALUE;const c=e.uri;if((c==="vscode://defaultsettings/keybindings.json"||z(c.toLowerCase(),"/user/keybindings.json"))&&i.type==="array"){const f=[];for(const y of i.items)if(y.type==="object"){for(const u of y.properties)if(u.keyNode.value==="key"&&u.valueNode){const b=v.Location.create(e.uri,U(e,y));if(f.push({name:Ae(u.valueNode),kind:v.SymbolKind.Function,location:b}),s--,s<=0)return r&&r.onResultLimitExceeded&&r.onResultLimitExceeded(c),f}}return f}const o=[{node:i,containerName:""}];let h=0,a=!1;const g=[],l=(f,y)=>{f.type==="array"?f.items.forEach(u=>{u&&o.push({node:u,containerName:y})}):f.type==="object"&&f.properties.forEach(u=>{const b=u.valueNode;if(b)if(s>0){s--;const d=v.Location.create(e.uri,U(e,u)),S=y?y+"."+u.keyNode.value:u.keyNode.value;g.push({name:this.getKeyLabel(u),kind:this.getSymbolKind(b.type),location:d,containerName:y}),o.push({node:b,containerName:S})}else a=!0})};for(;h<o.length;){const f=o[h++];l(f.node,f.containerName)}return a&&r&&r.onResultLimitExceeded&&r.onResultLimitExceeded(c),g}findDocumentSymbols2(e,t,r={resultLimit:Number.MAX_VALUE}){const i=t.root;if(!i)return[];let s=r.resultLimit||Number.MAX_VALUE;const c=e.uri;if((c==="vscode://defaultsettings/keybindings.json"||z(c.toLowerCase(),"/user/keybindings.json"))&&i.type==="array"){const f=[];for(const y of i.items)if(y.type==="object"){for(const u of y.properties)if(u.keyNode.value==="key"&&u.valueNode){const b=U(e,y),d=U(e,u.keyNode);if(f.push({name:Ae(u.valueNode),kindLine truncated
`,keepLines:e?.keepLines===!0};return j.format(n.getText(),r,i).map(s=>v.TextEdit.replace(v.Range.create(n.positionAt(s.offset),n.positionAt(s.offset+s.length)),s.content))}var V;(function(n){n[n.Object=0]="Object",n[n.Array=1]="Array"})(V||(V={}));class ee{constructor(e,t){this.propertyName=e??"",this.beginningLineNumber=t,this.childrenProperties=[],this.lastProperty=!1,this.noKeyName=!1}addChildProperty(e){if(e.parent=this,this.childrenProperties.length>0){let t=0;e.noKeyName?t=this.childrenProperties.length:t=ft(this.childrenProperties,e,ct),t<0&&(t=t*-1-1),this.childrenProperties.splice(t,0,e)}else this.childrenProperties.push(e);return e}}function ct(n,e){const t=n.propertyName.toLowerCase(),r=e.propertyName.toLowerCase();return t<r?-1:t>r?1:0}function ft(n,e,t){const r=e.propertyName.toLowerCase(),i=n[0].propertyName.toLowerCase(),s=n[n.length-1].propertyName.toLowerCase();if(r<i)return 0;if(r>s)return n.length;let c=0,o=n.length-1;for(;c<=o;){let h=o+c>>1,a=t(e,n[h]);if(a>0)c=h+1;else if(a<0)o=h-1;else return h}return-c-1}function ut(n,e){const t={...e,keepLines:!1},r=p.TextDocument.applyEdits(n,ce(n,t,void 0)),i=p.TextDocument.create("test://test.json","json",0,r),s=pt(i),c=ht(i,s),o=ce(c,t,void 0),h=p.TextDocument.applyEdits(c,o);return[v.TextEdit.replace(v.Range.create(v.Position.create(0,0),n.positionAt(n.getText().length)),h)]}function pt(n){const e=n.getText(),t=j.createScanner(e,!1);let r=new ee,i=r,s=r,c=r,o,h=0,a=0,g,l,f=-1,y=-1,u=0,b=0,d=[],S=!1,T=!1;for(;(o=t.scan())!==17;){if(S===!0&&o!==14&&o!==15&&o!==12&&o!==13&&s.endLineNumber===void 0){let m=t.getTokenStartLine();l===2||l===4?c.endLineNumber=m-1:s.endLineNumber=m-1,u=m,S=!1}if(T===!0&&o!==14&&o!==15&&o!==12&&o!==13&&(u=t.getTokenStartLine(),T=!1),t.getTokenStartLine()!==h){for(let m=h;m<t.getTokenStartLine();m++){const k=n.getText(v.Range.create(v.Position.create(m,0),v.Position.create(m+1,0))).length;a=a+k}h=t.getTokenStartLine()}switch(o){case 10:{if(g===void 0||g===1||g===5&&d[d.length-1]===V.Object){const m=new ee(t.getTokenValue(),u);c=s,s=i.addChildProperty(m)}break}case 3:{if(r.beginningLineNumber===void 0&&(r.beginningLineNumber=t.getTokenStartLine()),d[d.length-1]===V.Object)i=s;else if(d[d.length-1]===V.Array){const m=new ee(t.getTokenValue(),u);m.noKeyName=!0,c=s,s=i.addChildProperty(m),i=s}d.push(V.Array),s.type=V.Array,u=t.getTokenStartLine(),u++;break}case 1:{if(r.beginningLineNumber===void 0)r.beginningLineNumber=t.getTokenStartLine();else if(d[d.length-1]===V.Array){const m=new ee(t.getTokenValue(),u);m.noKeyName=!0,c=s,s=i.addChildProperty(m)}s.type=V.Object,d.push(V.Object),i=s,u=t.getTokenStartLine(),u++;break}case 4:{b=t.getTokenStartLine(),d.pop(),s.endLineNumber===void 0&&(g===2||g===4)&&(s.endLineNumber=b-1,s.lastProperty=!0,s.lineWhereToAddComma=f,s.indexWhereToAddComa=y,c=s,s=s?s.parent:void 0,i=s),r.endLineNumber=b,u=b+1;break}case 2:{b=t.getTokenStartLine(),d.pop(),g!==1&&(s.endLineNumber===void 0&&(s.endLineNumber=b-1,s.lastProperty=!0,s.lineWhereToAddComma=f,s.indexWhereToAddComa=y),c=s,s=s?s.parent:void 0,i=s),r.endLineNumber=t.getTokenStartLine(),u=b+1;break}case 5:{b=t.getTokenStartLine(),s.endLineNumber===void 0&&(d[d.length-1]===V.Object||d[d.length-1]===V.Array&&(g===2||g===4))&&(s.endLineNumber=b,s.commaIndex=t.getTokenOffset()-a,s.commaLine=b),(g===2||g===4)&&(c=s,s=s?s.parent:void 0,i=s),u=b+1;break}case 13:{g===5&&f===t.getTokenStartLine()&&(d[d.length-1]===V.Array&&(l===2||l===4)||d[d.length-1]===V.Object)&&(d[d.length-1]===V.Array&&(l===2||l===4)||d[d.length-1]===V.Object)&&(s.endLineNumber=void 0,S=!0),(g===1||g===3)&&f===t.getTokenStartLine()&&(T=!0);break}}o!==14&&o!==13&&o!==12&&o!==15&&(l=g,g=o,f=t.getTokenStartLine(),y=t.getTokenOffset()+t.getTokenLength()-a)}return r}function ht(n,e){if(e.childrenProperties.length===0)return n;const t=p.TextDocument.create("test://test.json","json",0,n.getText()),r=[];for(Oe(r,e,e.beginningLineNumber);r.length>0;){const i=r.shift(),s=i.propertyTreeArray;let c=i.beginningLineNumber;for(let o=0;o<s.length;o++){const h=s[o],a=v.Range.create(v.Position.create(h.beginningLineNumber,0),v.Position.create(h.endLineNumber+1,0)),g=n.getText(a),l=p.TextDocument.create("test://test.json","json",0,g);if(h.lastProperty===!0&&o!==s.length-1){const u=h.lineWhereToAddComma-h.beginningLineNumber,b=h.indexWhereToAddComa,d={range:v.Range.create(v.Position.create(u,b),v.Position.create(u,b)),text:","};p.TextDocument.update(l,[d],1)}else if(h.lastProperty===!1&&o===s.length-1){const u=h.commaIndex,d=h.commaLine-h.beginningLineNumber,S={range:v.Range.create(v.Position.create(d,u),v.Position.create(d,u+1)),text:""};p.TextDocument.update(l,[S],1)}const f=h.endLineNumber-h.beginningLineNumber+1,y={range:v.Range.create(v.Position.create(c,0),v.Position.create(c+f,0)),text:l.getText()};p.TextDocument.update(t,[y],1),Oe(r,h,c),c=c+f}}return t}function Oe(n,e,t){if(e.childrenProperties.length!==0)if(e.type===V.Object){let r=1/0;for(const s of e.childrenProperties)s.beginningLineNum Line truncated
@@ -0,0 +1 @@
define("vs/language/json/monaco.contribution",["exports","../../monaco.contribution-BPhsneLd"],(function(o,e){"use strict";o.getWorker=e.getWorker,o.jsonDefaults=e.jsonDefaults,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/language/typescript/monaco.contribution",["exports","../../monaco.contribution-BE88ZNGY"],(function(i,S){"use strict";i.JsxEmit=S.JsxEmit,i.ModuleKind=S.ModuleKind,i.ModuleResolutionKind=S.ModuleResolutionKind,i.NewLineKind=S.NewLineKind,i.ScriptTarget=S.ScriptTarget,i.getJavaScriptWorker=S.getJavaScriptWorker,i.getTypeScriptWorker=S.getTypeScriptWorker,i.javascriptDefaults=S.javascriptDefaults,i.typescriptDefaults=S.typescriptDefaults,i.typescriptVersion=S.typescriptVersion,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})}));
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,2 @@
define("vs/less-C0eDYdqa",["exports"],(function(e){"use strict";const t={wordPattern:/(#?-?\d*\.\d\w*%?)|([@#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},n={defaultToken:"",tokenPostfix:".less",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",identifierPlus:"-?-?([a-zA-Z:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@nestedJSBegin"},["[ \\t\\r\\n]+",""],{include:"@comments"},{include:"@keyword"},{include:"@strings"},{include:"@numbers"},["[*_]?[a-zA-Z\\-\\s]+(?=:.*(;|(\\\\$)))","attribute.name","@attribute"],["url(\\-prefix)?\\(",{token:"tag",next:"@urldeclaration"}],["[{}()\\[\\]]","@brackets"],["[,:;]","delimiter"],["#@identifierPlus","tag.id"],["&","tag"],["\\.@identifierPlus(?=\\()","tag.class","@attribute"],["\\.@identifierPlus","tag.class"],["@identifierPlus","tag"],{include:"@operators"},["@(@identifier(?=[:,\\)]))","variable","@attribute"],["@(@identifier)","variable"],["@","key","@atRules"]],nestedJSBegin:[["``","delimiter.backtick"],["`",{token:"delimiter.backtick",next:"@nestedJSEnd",nextEmbedded:"text/javascript"}]],nestedJSEnd:[["`",{token:"delimiter.backtick",next:"@pop",nextEmbedded:"@pop"}]],operators:[["[<>=\\+\\-\\*\\/\\^\\|\\~]","operator"]],keyword:[["(@[\\s]*import|![\\s]*important|true|false|when|iscolor|isnumber|isstring|iskeyword|isurl|ispixel|ispercentage|isem|hue|saturation|lightness|alpha|lighten|darken|saturate|desaturate|fadein|fadeout|fade|spin|mix|round|ceil|floor|percentage)\\b","keyword"]],urldeclaration:[{include:"@strings"},[`[^)\r
]+`,"string"],["\\)",{token:"tag",next:"@pop"}]],attribute:[{include:"@nestedJSBegin"},{include:"@comments"},{include:"@strings"},{include:"@numbers"},{include:"@keyword"},["[a-zA-Z\\-]+(?=\\()","attribute.value","@attribute"],[">","operator","@pop"],["@identifier","attribute.value"],{include:"@operators"},["@(@identifier)","variable"],["[)\\}]","@brackets","@pop"],["[{}()\\[\\]>]","@brackets"],["[;]","delimiter","@pop"],["[,=:]","delimiter"],["\\s",""],[".","attribute.value"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],strings:[['~?"',{token:"string.delimiter",next:"@stringsEndDoubleQuote"}],["~?'",{token:"string.delimiter",next:"@stringsEndQuote"}]],stringsEndDoubleQuote:[['\\\\"',"string"],['"',{token:"string.delimiter",next:"@popall"}],[".","string"]],stringsEndQuote:[["\\\\'","string"],["'",{token:"string.delimiter",next:"@popall"}],[".","string"]],atRules:[{include:"@comments"},{include:"@strings"},["[()]","delimiter"],["[\\{;]","delimiter","@pop"],[".","key"]]}};e.conf=t,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/lexon-iON-Kj97",["exports"],(function(e){"use strict";const t={comments:{lineComment:"COMMENT"},brackets:[["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:":",close:"."}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"},{open:":",close:"."}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|COMMENT\\s+)#region"),end:new RegExp("^\\s*(::\\s*|COMMENT\\s+)#endregion")}}},i={tokenPostfix:".lexon",ignoreCase:!0,keywords:["lexon","lex","clause","terms","contracts","may","pay","pays","appoints","into","to"],typeKeywords:["amount","person","key","time","date","asset","text"],operators:["less","greater","equal","le","gt","or","and","add","added","subtract","subtracted","multiply","multiplied","times","divide","divided","is","be","certified"],symbols:/[=><!~?:&|+\-*\/\^%]+/,tokenizer:{root:[[/^(\s*)(comment:?(?:\s.*|))$/,["","comment"]],[/"/,{token:"identifier.quote",bracket:"@open",next:"@quoted_identifier"}],["LEX$",{token:"keyword",bracket:"@open",next:"@identifier_until_period"}],["LEXON",{token:"keyword",bracket:"@open",next:"@semver"}],[":",{token:"delimiter",bracket:"@open",next:"@identifier_until_period"}],[/[a-z_$][\w$]*/,{cases:{"@operators":"operator","@typeKeywords":"keyword.type","@keywords":"keyword","@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d*\.\d*/,"number.semver"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"]],quoted_identifier:[[/[^\\"]+/,"identifier"],[/"/,{token:"identifier.quote",bracket:"@close",next:"@pop"}]],space_identifier_until_period:[[":","delimiter"],[" ",{token:"white",next:"@identifier_rest"}]],identifier_until_period:[{include:"@whitespace"},[":",{token:"delimiter",next:"@identifier_rest"}],[/[^\\.]+/,"identifier"],[/\./,{token:"delimiter",bracket:"@close",next:"@pop"}]],identifier_rest:[[/[^\\.]+/,"identifier"],[/\./,{token:"delimiter",bracket:"@close",next:"@pop"}]],semver:[{include:"@whitespace"},[":","delimiter"],[/\d*\.\d*\.\d*/,{token:"number.semver",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"]]}};e.conf=t,e.language=i,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/liquid-CLJYelW6",["exports","./editor-KLE6jdfb"],(function(e,t){"use strict";const i=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,brackets:[["<!--","-->"],["<",">"],["{{","}}"],["{%","%}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"%",close:"%"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${i.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:t.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${i.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:t.languages.IndentAction.Indent}}]},o={defaultToken:"",tokenPostfix:"",builtinTags:["if","else","elseif","endif","render","assign","capture","endcapture","case","endcase","comment","endcomment","cycle","decrement","for","endfor","include","increment","layout","raw","endraw","render","tablerow","endtablerow","unless","endunless"],builtinFilters:["abs","append","at_least","at_most","capitalize","ceil","compact","date","default","divided_by","downcase","escape","escape_once","first","floor","join","json","last","lstrip","map","minus","modulo","newline_to_br","plus","prepend","remove","remove_first","replace","replace_first","reverse","round","rstrip","size","slice","sort","sort_natural","split","strip","strip_html","strip_newlines","times","truncate","truncatewords","uniq","upcase","url_decode","url_encode","where"],constants:["true","false"],operators:["==","!=",">","<",">=","<="],symbol:/[=><!]+/,identifier:/[a-zA-Z_][\w]*/,tokenizer:{root:[[/\{\%\s*comment\s*\%\}/,"comment.start.liquid","@comment"],[/\{\{/,{token:"@rematch",switchTo:"@liquidState.root"}],[/\{\%/,{token:"@rematch",switchTo:"@liquidState.root"}],[/(<)([\w\-]+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)([\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/</,"delimiter.html"],[/\{/,"delimiter.html"],[/[^<{]+/]],comment:[[/\{\%\s*endcomment\s*\%\}/,"comment.end.liquid","@pop"],[/./,"comment.content.liquid"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@liquidState.otherTag"}],[/\{\%/,{token:"@rematch",switchTo:"@liquidState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],liquidState:[[/\{\{/,"delimiter.output.liquid"],[/\}\}/,{token:"delimiter.output.liquid",switchTo:"@$S2.$S3"}],[/\{\%/,"delimiter.tag.liquid"],[/raw\s*\%\}/,"delimiter.tag.liquid","@liquidRaw"],[/\%\}/,{token:"delimiter.tag.liquid",switchTo:"@$S2.$S3"}],{include:"liquidRoot"}],liquidRaw:[[/^(?!\{\%\s*endraw\s*\%\}).+/],[/\{\%/,"delimiter.tag.liquid"],[/@identifier/],[/\%\}/,{token:"delimiter.tag.liquid",next:"@root"}]],liquidRoot:[[/\d+(\.\d+)?/,"number.liquid"],[/"[^"]*"/,"string.liquid"],[/'[^']*'/,"string.liquid"],[/\s+/],[/@symbol/,{cases:{"@operators":"operator.liquid","@default":""}}],[/\./],[/@identifier/,{cases:{"@constants":"keyword.liquid","@builtinFilters":"predefined.liquid","@builtinTags":"predefined.liquid","@default":"variable.liquid"}}],[/[^}|%]/,"variable.liquid"]]}};e.conf=n,e.language=o,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,2 @@
define("vs/lspLanguageFeatures-BIkJOWLw",["exports","./main-DsK8pnKg","./editor-KLE6jdfb"],(function(l,i,u){"use strict";class b{constructor(e,s,a){this._languageId=e,this._worker=s,this._disposables=[],this._listener=Object.create(null);const o=n=>{let c=n.getLanguageId();if(c!==this._languageId)return;let m;this._listener[n.uri.toString()]=n.onDidChangeContent(()=>{window.clearTimeout(m),m=window.setTimeout(()=>this._doValidate(n.uri,c),500)}),this._doValidate(n.uri,c)},r=n=>{u.editor.setModelMarkers(n,this._languageId,[]);let c=n.uri.toString(),m=this._listener[c];m&&(m.dispose(),delete this._listener[c])};this._disposables.push(u.editor.onDidCreateModel(o)),this._disposables.push(u.editor.onWillDisposeModel(r)),this._disposables.push(u.editor.onDidChangeModelLanguage(n=>{r(n.model),o(n.model)})),this._disposables.push(a(n=>{u.editor.getModels().forEach(c=>{c.getLanguageId()===this._languageId&&(r(c),o(c))})})),this._disposables.push({dispose:()=>{u.editor.getModels().forEach(r);for(let n in this._listener)this._listener[n].dispose()}}),u.editor.getModels().forEach(o)}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables.length=0}_doValidate(e,s){this._worker(e).then(a=>a.doValidation(e.toString())).then(a=>{const o=a.map(n=>I(e,n));let r=u.editor.getModel(e);r&&r.getLanguageId()===s&&u.editor.setModelMarkers(r,s,o)}).then(void 0,a=>{console.error(a)})}}function w(t){switch(t){case i.DiagnosticSeverity.Error:return u.MarkerSeverity.Error;case i.DiagnosticSeverity.Warning:return u.MarkerSeverity.Warning;case i.DiagnosticSeverity.Information:return u.MarkerSeverity.Info;case i.DiagnosticSeverity.Hint:return u.MarkerSeverity.Hint;default:return u.MarkerSeverity.Info}}function I(t,e){let s=typeof e.code=="number"?String(e.code):e.code;return{severity:w(e.severity),startLineNumber:e.range.start.line+1,startColumn:e.range.start.character+1,endLineNumber:e.range.end.line+1,endColumn:e.range.end.character+1,message:e.message,code:s,source:e.source}}class D{constructor(e,s){this._worker=e,this._triggerCharacters=s}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(e,s,a,o){const r=e.uri;return this._worker(r).then(n=>n.doComplete(r.toString(),h(s))).then(n=>{if(!n)return;const c=e.getWordUntilPosition(s),m=new u.Range(s.lineNumber,c.startColumn,s.lineNumber,c.endColumn),G=n.items.map(d=>{const f={label:d.label,insertText:d.insertText||d.label,sortText:d.sortText,filterText:d.filterText,documentation:d.documentation,detail:d.detail,command:F(d.command),range:m,kind:E(d.kind)};return d.textEdit&&(R(d.textEdit)?f.range={insert:g(d.textEdit.insert),replace:g(d.textEdit.replace)}:f.range=g(d.textEdit.range),f.insertText=d.textEdit.newText),d.additionalTextEdits&&(f.additionalTextEdits=d.additionalTextEdits.map(p)),d.insertTextFormat===i.InsertTextFormat.Snippet&&(f.insertTextRules=u.languages.CompletionItemInsertTextRule.InsertAsSnippet),f});return{isIncomplete:n.isIncomplete,suggestions:G}})}}function h(t){if(t)return{character:t.column-1,line:t.lineNumber-1}}function k(t){if(t)return{start:{line:t.startLineNumber-1,character:t.startColumn-1},end:{line:t.endLineNumber-1,character:t.endColumn-1}}}function g(t){if(t)return new u.Range(t.start.line+1,t.start.character+1,t.end.line+1,t.end.character+1)}function R(t){return typeof t.insert<"u"&&typeof t.replace<"u"}function E(t){const e=u.languages.CompletionItemKind;switch(t){case i.CompletionItemKind.Text:return e.Text;case i.CompletionItemKind.Method:return e.Method;case i.CompletionItemKind.Function:return e.Function;case i.CompletionItemKind.Constructor:return e.Constructor;case i.CompletionItemKind.Field:return e.Field;case i.CompletionItemKind.Variable:return e.Variable;case i.CompletionItemKind.Class:return e.Class;case i.CompletionItemKind.Interface:return e.Interface;case i.CompletionItemKind.Module:return e.Module;case i.CompletionItemKind.Property:return e.Property;case i.CompletionItemKind.Unit:return e.Unit;case i.CompletionItemKind.Value:return e.Value;case i.CompletionItemKind.Enum:return e.Enum;case i.CompletionItemKind.Keyword:return e.Keyword;case i.CompletionItemKind.Snippet:return e.Snippet;case i.CompletionItemKind.Color:return e.Color;case i.CompletionItemKind.File:return e.File;case i.CompletionItemKind.Reference:return e.Reference}return e.Property}function p(t){if(t)return{range:g(t.range),text:t.newText}}function F(t){return t&&t.command==="editor.action.triggerSuggest"?{id:t.command,title:t.title,arguments:t.arguments}:void 0}class A{constructor(e){this._worker=e}provideHover(e,s,a){let o=e.uri;return this._worker(o).then(r=>r.doHover(o.toString(),h(s))).then(r=>{if(r)return{range:g(r.range),contents:T(r.contents)}})}}function M(t){return t&&typeof t=="object"&&typeof t.kind=="string"}function S(t){return typeof t=="string"?{value:t}:M(t)?t.kind==="plaintext"?{value:t.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}:{value:t.value}:{value:"```"+t.language+`
`+t.value+"\n```\n"}}function T(t){if(t)return Array.isArray(t)?t.map(S):[S(t)]}class y{constructor(e){this._worker=e}provideDocumentHighlights(e,s,a){const o=e.uri;return this._worker(o).then(r=>r.findDocumentHighlights(o.toString(),h(s))).then(r=>{if(r)return r.map(n=>({range:g(n.range),kind:x(n.kind)}))})}}function x(t){switch(t){case i.DocumentHighlightKind.Read:return u.languages.DocumentHighlightKind.Read;case i.DocumentHighlightKind.Write:return u.languages.DocumentHighlightKind.Write;case i.DocumentHighlightKind.Text:return u.languages.DocumentHighlightKind.Text}return u.languages.DocumentHighlightKind.Text}class H{constructor(e){this._worker=e}provideDefinition(e,s,a){const o=e.uri;return this._worker(o).then(r=>r.findDefinition(o.toString(),h(s))).then(r=>{if(r)return[C(r)]})}}function C(t){return{uri:u.Uri.parse(t.uri),range:g(t.range)}}class L{constructor(e){this._worker=e}provideReferences(e,s,a,o){const r=e.uri;return this._worker(r).then(n=>n.findReferences(r.toString(),h(s))).then(n=>{if(n)return n.map(C)})}}class P{constructor(e){this._worker=e}provideRenameEdits(e,s,a,o){const r=e.uri;return this._worker(r).then(n=>n.doRename(r.toString(),h(s),a)).then(n=>N(n))}}function N(t){if(!t||!t.changes)return;let e=[];for(let s in t.changes){const a=u.Uri.parse(s);for(let o of t.changes[s])e.push({resource:a,versionId:void 0,textEdit:{range:g(o.range),text:o.newText}})}return{edits:e}}class V{constructor(e){this._worker=e}provideDocumentSymbols(e,s){const a=e.uri;return this._worker(a).then(o=>o.findDocumentSymbols(a.toString())).then(o=>{if(o)return o.map(r=>W(r)?K(r):{name:r.name,detail:"",containerName:r.containerName,kind:_(r.kind),range:g(r.location.range),selectionRange:g(r.location.range),tags:[]})})}}function W(t){return"children"in t}function K(t){return{name:t.name,detail:t.detail??"",kind:_(t.kind),range:g(t.range),selectionRange:g(t.selectionRange),tags:t.tags??[],children:(t.children??[]).map(e=>K(e))}}function _(t){let e=u.languages.SymbolKind;switch(t){case i.SymbolKind.File:return e.File;case i.SymbolKind.Module:return e.Module;case i.SymbolKind.Namespace:return e.Namespace;case i.SymbolKind.Package:return e.Package;case i.SymbolKind.Class:return e.Class;case i.SymbolKind.Method:return e.Method;case i.SymbolKind.Property:return e.Property;case i.SymbolKind.Field:return e.Field;case i.SymbolKind.Constructor:return e.Constructor;case i.SymbolKind.Enum:return e.Enum;case i.SymbolKind.Interface:return e.Interface;case i.SymbolKind.Function:return e.Function;case i.SymbolKind.Variable:return e.Variable;case i.SymbolKind.Constant:return e.Constant;case i.SymbolKind.String:return e.String;case i.SymbolKind.Number:return e.Number;case i.SymbolKind.Boolean:return e.Boolean;case i.SymbolKind.Array:return e.Array}return e.Function}class U{constructor(e){this._worker=e}provideLinks(e,s){const a=e.uri;return this._worker(a).then(o=>o.findDocumentLinks(a.toString())).then(o=>{if(o)return{links:o.map(r=>({range:g(r.range),url:r.target}))}})}}class j{constructor(e){this._worker=e}provideDocumentFormattingEdits(e,s,a){const o=e.uri;return this._worker(o).then(r=>r.format(o.toString(),null,v(s)).then(n=>{if(!(!n||n.length===0))return n.map(p)}))}}class z{constructor(e){this._worker=e,this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(e,s,a,o){const r=e.uri;return this._worker(r).then(n=>n.format(r.toString(),k(s),v(a)).then(c=>{if(!(!c||c.length===0))return c.map(p)}))}}function v(t){return{tabSize:t.tabSize,insertSpaces:t.insertSpaces}}class B{constructor(e){this._worker=e}provideDocumentColors(e,s){const a=e.uri;return this._worker(a).then(o=>o.findDocumentColors(a.toString())).then(o=>{if(o)return o.map(r=>({color:r.color,range:g(r.range)}))})}provideColorPresentations(e,s,a){const o=e.uri;return this._worker(o).then(r=>r.getColorPresentations(o.toString(),s.color,k(s.range))).then(r=>{if(r)return r.map(n=>{let c={label:n.label};return n.textEdit&&(c.textEdit=p(n.textEdit)),n.additionalTextEdits&&(c.additionalTextEdits=n.additionalTextEdits.map(p)),c})})}}class O{constructor(e){this._worker=e}provideFoldingRanges(e,s,a){const o=e.uri;return this._worker(o).then(r=>r.getFoldingRanges(o.toString(),s)).then(r=>{if(r)return r.map(n=>{const c={start:n.startLine+1,end:n.endLine+1};return typeof n.kind<"u"&&(c.kind=$(n.kind)),c})})}}function $(t){switch(t){case i.FoldingRangeKind.Comment:return u.languages.FoldingRangeKind.Comment;case i.FoldingRangeKind.Imports:return u.languages.FoldingRangeKind.Imports;case i.FoldingRangeKind.Region:return u.languages.FoldingRangeKind.Region}}class q{constructor(e){this._worker=e}provideSelectionRanges(e,s,a){const o=e.uri;return this._worker(o).then(r=>r.getSelectionRanges(o.toString(),s.map(h))).then(r=>{if(r)return r.map(n=>{const c=[];for(;n;)c.push({range:g(n.range)}),n=n.parent;return c})})}}l.CompletionAdapter=D,l.DefinitionAdapter=H,l.DiagnosticsAdapter=b,l.DocumentColorAdapter=B,l.DocumentFormattingEditProvider=j,l.DocumentHighlightAdapter=yLine truncated
@@ -0,0 +1 @@
define("vs/lua-DtygF91M",["exports"],(function(e){"use strict";const n={comments:{lineComment:"--",blockComment:["--[[","]]"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},o={defaultToken:"",tokenPostfix:".lua",keywords:["and","break","do","else","elseif","end","false","for","function","goto","if","in","local","nil","not","or","repeat","return","then","true","until","while"],brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],operators:["+","-","*","/","%","^","#","==","~=","<=",">=","<",">","=",";",":",",",".","..","..."],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/(,)(\s*)([a-zA-Z_]\w*)(\s*)(:)(?!:)/,["delimiter","","key","","delimiter"]],[/({)(\s*)([a-zA-Z_]\w*)(\s*)(:)(?!:)/,["@brackets","","key","","delimiter"]],[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],whitespace:[[/[ \t\r\n]+/,""],[/--\[([=]*)\[/,"comment","@comment.$1"],[/--.*$/,"comment"]],comment:[[/[^\]]+/,"comment"],[/\]([=]*)\]/,{cases:{"$1==$S2":{token:"comment",next:"@pop"},"@default":"comment"}}],[/./,"comment"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}};e.conf=n,e.language=o,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/m3-CsR4AuFi",["exports"],(function(e){"use strict";const t={comments:{blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"(*",close:"*)"},{open:"<*",close:"*>"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}]},o={defaultToken:"",tokenPostfix:".m3",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["AND","ANY","ARRAY","AS","BEGIN","BITS","BRANDED","BY","CASE","CONST","DIV","DO","ELSE","ELSIF","END","EVAL","EXCEPT","EXCEPTION","EXIT","EXPORTS","FINALLY","FOR","FROM","GENERIC","IF","IMPORT","IN","INTERFACE","LOCK","LOOP","METHODS","MOD","MODULE","NOT","OBJECT","OF","OR","OVERRIDES","PROCEDURE","RAISE","RAISES","READONLY","RECORD","REF","REPEAT","RETURN","REVEAL","SET","THEN","TO","TRY","TYPE","TYPECASE","UNSAFE","UNTIL","UNTRACED","VALUE","VAR","WHILE","WITH"],reservedConstNames:["ABS","ADR","ADRSIZE","BITSIZE","BYTESIZE","CEILING","DEC","DISPOSE","FALSE","FIRST","FLOAT","FLOOR","INC","ISTYPE","LAST","LOOPHOLE","MAX","MIN","NARROW","NEW","NIL","NUMBER","ORD","ROUND","SUBARRAY","TRUE","TRUNC","TYPECODE","VAL"],reservedTypeNames:["ADDRESS","ANY","BOOLEAN","CARDINAL","CHAR","EXTENDED","INTEGER","LONGCARD","LONGINT","LONGREAL","MUTEX","NULL","REAL","REFANY","ROOT","TEXT"],operators:["+","-","*","/","&","^","."],relations:["=","#","<","<=",">",">=","<:",":"],delimiters:["|","..","=>",",",";",":="],symbols:/[>=<#.,:;+\-*/&^]+/,escapes:/\\(?:[\\fnrt"']|[0-7]{3})/,tokenizer:{root:[[/_\w*/,"invalid"],[/[a-zA-Z][a-zA-Z0-9_]*/,{cases:{"@keywords":{token:"keyword.$0"},"@reservedConstNames":{token:"constant.reserved.$0"},"@reservedTypeNames":{token:"type.reserved.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[0-9]+\.[0-9]+(?:[DdEeXx][\+\-]?[0-9]+)?/,"number.float"],[/[0-9]+(?:\_[0-9a-fA-F]+)?L?/,"number"],[/@symbols/,{cases:{"@operators":"operators","@relations":"operators","@delimiters":"delimiter","@default":"invalid"}}],[/'[^\\']'/,"string.char"],[/(')(@escapes)(')/,["string.char","string.escape","string.char"]],[/'/,"invalid"],[/"([^"\\]|\\.)*$/,"invalid"],[/"/,"string.text","@text"]],text:[[/[^\\"]+/,"string.text"],[/@escapes/,"string.escape"],[/\\./,"invalid"],[/"/,"string.text","@pop"]],comment:[[/\(\*/,"comment","@push"],[/\*\)/,"comment","@pop"],[/./,"comment"]],pragma:[[/<\*/,"keyword.pragma","@push"],[/\*>/,"keyword.pragma","@pop"],[/./,"keyword.pragma"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/<\*/,"keyword.pragma","@pragma"]]}};e.conf=t,e.language=o,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1,15 @@
define("vs/main-BEx-Fmlo",["exports"],(function(U){"use strict";function z(e,l=!1){const t=e.length;let n=0,u="",s=0,g=16,w=0,a=0,v=0,m=0,b=0;function L(f,r){let i=0,k=0;for(;i<f;){let c=e.charCodeAt(n);if(c>=48&&c<=57)k=k*16+c-48;else if(c>=65&&c<=70)k=k*16+c-65+10;else if(c>=97&&c<=102)k=k*16+c-97+10;else break;n++,i++}return i<f&&(k=-1),k}function F(f){n=f,u="",s=0,g=16,b=0}function o(){let f=n;if(e.charCodeAt(n)===48)n++;else for(n++;n<e.length&&V(e.charCodeAt(n));)n++;if(n<e.length&&e.charCodeAt(n)===46)if(n++,n<e.length&&V(e.charCodeAt(n)))for(n++;n<e.length&&V(e.charCodeAt(n));)n++;else return b=3,e.substring(f,n);let r=n;if(n<e.length&&(e.charCodeAt(n)===69||e.charCodeAt(n)===101))if(n++,(n<e.length&&e.charCodeAt(n)===43||e.charCodeAt(n)===45)&&n++,n<e.length&&V(e.charCodeAt(n))){for(n++;n<e.length&&V(e.charCodeAt(n));)n++;r=n}else b=3;return e.substring(f,r)}function N(){let f="",r=n;for(;;){if(n>=t){f+=e.substring(r,n),b=2;break}const i=e.charCodeAt(n);if(i===34){f+=e.substring(r,n),n++;break}if(i===92){if(f+=e.substring(r,n),n++,n>=t){b=2;break}switch(e.charCodeAt(n++)){case 34:f+='"';break;case 92:f+="\\";break;case 47:f+="/";break;case 98:f+="\b";break;case 102:f+="\f";break;case 110:f+=`
`;break;case 114:f+="\r";break;case 116:f+=" ";break;case 117:const c=L(4);c>=0?f+=String.fromCharCode(c):b=4;break;default:b=5}r=n;continue}if(i>=0&&i<=31)if(y(i)){f+=e.substring(r,n),b=2;break}else b=6;n++}return f}function A(){if(u="",b=0,s=n,a=w,m=v,n>=t)return s=t,g=17;let f=e.charCodeAt(n);if(W(f)){do n++,u+=String.fromCharCode(f),f=e.charCodeAt(n);while(W(f));return g=15}if(y(f))return n++,u+=String.fromCharCode(f),f===13&&e.charCodeAt(n)===10&&(n++,u+=`
`),w++,v=n,g=14;switch(f){case 123:return n++,g=1;case 125:return n++,g=2;case 91:return n++,g=3;case 93:return n++,g=4;case 58:return n++,g=6;case 44:return n++,g=5;case 34:return n++,u=N(),g=10;case 47:const r=n-1;if(e.charCodeAt(n+1)===47){for(n+=2;n<t&&!y(e.charCodeAt(n));)n++;return u=e.substring(r,n),g=12}if(e.charCodeAt(n+1)===42){n+=2;const i=t-1;let k=!1;for(;n<i;){const c=e.charCodeAt(n);if(c===42&&e.charCodeAt(n+1)===47){n+=2,k=!0;break}n++,y(c)&&(c===13&&e.charCodeAt(n)===10&&n++,w++,v=n)}return k||(n++,b=1),u=e.substring(r,n),g=13}return u+=String.fromCharCode(f),n++,g=16;case 45:if(u+=String.fromCharCode(f),n++,n===t||!V(e.charCodeAt(n)))return g=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return u+=o(),g=11;default:for(;n<t&&_(f);)n++,f=e.charCodeAt(n);if(s!==n){switch(u=e.substring(s,n),u){case"true":return g=8;case"false":return g=9;case"null":return g=7}return g=16}return u+=String.fromCharCode(f),n++,g=16}}function _(f){if(W(f)||y(f))return!1;switch(f){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function I(){let f;do f=A();while(f>=12&&f<=15);return f}return{setPosition:F,getPosition:()=>n,scan:l?I:A,getToken:()=>g,getTokenValue:()=>u,getTokenOffset:()=>s,getTokenLength:()=>n-s,getTokenStartLine:()=>a,getTokenStartCharacter:()=>s-m,getTokenError:()=>b}}function W(e){return e===32||e===9}function y(e){return e===10||e===13}function V(e){return e>=48&&e<=57}var R;(function(e){e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.space=32]="space",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.asterisk=42]="asterisk",e[e.backslash=92]="backslash",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.plus=43]="plus",e[e.slash=47]="slash",e[e.formFeed=12]="formFeed",e[e.tab=9]="tab"})(R||(R={}));const O=new Array(20).fill(0).map((e,l)=>" ".repeat(l)),E=200,h={" ":{"\n":new Array(E).fill(0).map((e,l)=>`
`+" ".repeat(l)),"\r":new Array(E).fill(0).map((e,l)=>"\r"+" ".repeat(l)),"\r\n":new Array(E).fill(0).map((e,l)=>`\r
`+" ".repeat(l))}," ":{"\n":new Array(E).fill(0).map((e,l)=>`
`+" ".repeat(l)),"\r":new Array(E).fill(0).map((e,l)=>"\r"+" ".repeat(l)),"\r\n":new Array(E).fill(0).map((e,l)=>`\r
`+" ".repeat(l))}},K=[`
`,"\r",`\r
`];function x(e,l,t){let n,u,s,g,w;if(l){for(g=l.offset,w=g+l.length,s=g;s>0&&!q(e,s-1);)s--;let i=w;for(;i<e.length&&!q(e,i);)i++;u=e.substring(s,i),n=d(u,t)}else u=e,n=0,s=0,g=0,w=e.length;const a=C(t,e),v=K.includes(a);let m=0,b=0,L;t.insertSpaces?L=O[t.tabSize||4]??j(O[1],t.tabSize||4):L=" ";const F=L===" "?" ":" ";let o=z(u,!1),N=!1;function A(){if(m>1)return j(a,m)+j(L,n+b);const i=L.length*(n+b);return!v||i>h[F][a].length?a+j(L,n+b):i<=0?a:h[F][a][i]}function _(){let i=o.scan();for(m=0;i===15||i===14;)i===14&&t.keepLines?m+=1:i===14&&(m=1),i=o.scan();return N=i===16||o.getTokenError()!==0,i}const I=[];function f(i,k,c){!N&&(!l||k<w&&c>g)&&e.substring(k,c)!==i&&I.push({offset:k,length:c-k,content:i})}let r=_();if(t.keepLines&&m>0&&f(j(a,m),0,0),r!==17){let i=o.getTokenOffset()+s,k=L.length*n<20&&t.insertSpaces?O[L.length*n]:j(L,n);f(k,s,i)}for(;r!==17;){let i=o.getTokenOffset()+o.getTokenLength()+s,k=_(),c="",B=!1;for(;m===0&&(k===12||k===13);){let H=o.getTokenOffset()+s;f(O[1],i,H),i=o.getTokenOffset()+o.getTokenLength()+s,B=k===12,c=B?A():"",k=_()}if(k===2)r!==1&&b--,t.keepLines&&m>0||!t.keepLines&&r!==1?c=A():t.keepLines&&(c=O[1]);else if(k===4)r!==3&&b--,t.keepLines&&m>0||!t.keepLines&&r!==3?c=A():t.keepLines&&(c=O[1]);else{switch(r){case 3:case 1:b++,t.keepLines&&m>0||!t.keepLines?c=A():c=O[1];break;case 5:t.keepLines&&m>0||!t.keepLines?c=A():c=O[1];break;case 12:c=A();break;case 13:m>0?c=A():B||(c=O[1]);break;case 6:t.keepLines&&m>0?c=A():B||(c=O[1]);break;case 10:t.keepLines&&m>0?c=A():k===6&&!B&&(c="");break;case 7:case 8:case 9:case 11:case 2:case 4:t.keepLines&&m>0?c=A():(k===12||k===13)&&!B?c=O[1]:k!==5&&k!==17&&(N=!0);break;case 16:N=!0;break}m>0&&(k===12||k===13)&&(c=A())}k===17&&(t.keepLines&&m>0?c=A():c=t.insertFinalNewline?a:"");const Q=o.getTokenOffset()+s;f(c,i,Q),r=k}return I}function j(e,l){let t="";for(let n=0;n<l;n++)t+=e;return t}function d(e,l){let t=0,n=0;const u=l.tabSize||4;for(;t<e.length;){let s=e.charAt(t);if(s===O[1])n++;else if(s===" ")n+=u;else break;t++}return Math.floor(n/u)}function C(e,l){for(let t=0;t<l.length;t++){const n=l.charAt(t);if(n==="\r")return t+1<l.length&&l.charAt(t+1)===`
`?`\r
`:"\r";if(n===`
`)return`
`}return e&&e.eol||`
`}function q(e,l){return`\r
`.indexOf(e.charAt(l))!==-1}var S;(function(e){e.DEFAULT={allowTrailingComma:!1}})(S||(S={}));function ee(e,l=[],t=S.DEFAULT){let n=null,u=[];const s=[];function g(a){Array.isArray(u)?u.push(a):n!==null&&(u[n]=a)}return te(e,{onObjectBegin:()=>{const a={};g(a),s.push(u),u=a,n=null},onObjectProperty:a=>{n=a},onObjectEnd:()=>{u=s.pop()},onArrayBegin:()=>{const a=[];g(a),s.push(u),u=a,n=null},onArrayEnd:()=>{u=s.pop()},onLiteralValue:g,onError:(a,v,m)=>{l.push({error:a,offset:v,length:m})}},t),u[0]}function G(e){if(!e.parent||!e.parent.children)return[];const l=G(e.parent);if(e.parent.type==="property"){const t=e.parent.children[0].value;l.push(t)}else if(e.parent.type==="array"){const t=e.parent.children.indexOf(e);t!==-1&&l.push(t)}return l}function $(e){switch(e.type){case"array":return e.children.map($);case"object":const l=Object.create(null);for(let t of e.children){const n=t.children[1];n&&(l[t.children[0].value]=$(n))}return l;case"null":case"string":case"number":case"boolean":return e.value;default:return}}function ne(e,l,t=!1){return l>=e.offset&&l<e.offset+e.length||t&&l===e.offset+e.length}function J(e,l,t=!1){if(ne(e,l,t)){const n=e.children;if(Array.isArray(n))for(let u=0;u<n.length&&n[u].offset<=l;u++){const s=J(n[u],l,t);if(s)return s}return e}}function te(e,l,t=S.DEFAULT){const n=z(e,!1),u=[];function s(p){return p?()=>p(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}function g(p){return p?()=>p(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>u.slice()):()=>!0}function w(p){return p?T=>p(T,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}function a(p){return p?T=>p(T,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>u.slice()):()=>!0}const v=g(l.onObjectBegin),m=a(l.onObjectProperty),b=s(l.onObjectEnd),L=g(l.onArrayBegin),F=s(l.onArrayEnd),o=a(l.onLiteralValue),N=w(l.onSeparator),A=s(l.onComment),_=w(l.onError),I=t&&t.disallowComments,f=t&&t.allowTrailingComma;function r(){for(;;){const p=n.scan();switch(n.getTokenError()){case 4:i(14);break;case 5:i(15);break;case 3:i(13);break;case 1:I||i(11);break;case 2:i(12);break;case 6:i(16);break}switch(p){case 12:case 13:I?i(10):A();break;case 16:i(1);break;case 15:case 14:break;default:return p}}}function i(p,T=[],P=[]){if(_(p),T.length+P.length>0){let D=n.getToken();for(;D!==17;){if(T.indexOf(D)!==-1){r();break}else if(P.indexOf(D)!==-1)break;D=r()}}}function k(p){const T=n.getTokenValue();return p?o(T):(m(T),u.push(T)),r(),!0}function c(){switch(n.getToken()){case 11:const p=n.getTokenValue();let T=Number(p);isNaN(T)&&(i(2),T=0),o(T);break;case 7:o(null);break;case 8:o(!0);break;case 9:o(!1);break;default:return!1}return r(),!0}function B(){return n.getToken()!==10?(i(3,[],[2,5]),!1):(k(!1),n.getToken()===6?(N(":"),r(),M()||i(4,[],[2,5])):i(5,[],[2,5]),u.pop(),!0)}function Q(){v(),r();let p=!1;for(;n.getToken()!==2&&n.getToken()!==17;){if(n.getToken()===5){if(p||i(4,[],[]),N(","),r(),n.getToken()===2&&f)break}else p&&i(6,[],[]);B()||i(4,[],[2,5]),p=!0}return b(),n.getToken()!==2?i(7,[2],[]):r(),!0}function H(){L(),r();let p=!0,T=!1;for(;n.getToken()!==4&&n.getToken()!==17;){if(n.getToken()===5){if(T||i(4,[],[]),N(","),r(),n.getToken()===4&&f)break}else T&&i(6,[],[]);p?(u.push(0),p=!1):u[u.length-1]++,M()||i(4,[],[4,5]),T=!0}return F(),p||u.pop(),n.getToken()!==4?i(8,[4],[]):r(),!0}function M(){switch(n.getToken()){case 3:return H();case 1:return Q();case 10:return k(!0);default:return c()}}return r(),n.getToken()===17?t.allowEmptyContent?!0:(i(4,[],[]),!1):M()?(n.getToken()!==17&&i(9,[],[]),!0):(i(4,[],[]),!1)}const ie=z;var X;(function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",e[e.InvalidCharacter=6]="InvalidCharacter"})(X||(X={}));var Y;(function(e){e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.Unknown=16]="Unknown",e[e.EOF=17]="EOF"})(Y||(Y={}));const le=ee,fe=J,ue=G,ce=$;var Z;(function(e){e[e.InvalidSymbol=1]="InvalidSymbol",e[e.InvalidNumberFormat=2]="InvalidNumberFormat",e[e.PropertyNameExpected=3]="PropertyNameExpected",e[e.ValueExpected=4]="ValueExpected",e[e.ColonExpected=5]="ColonExpected",e[e.CommaExpected=6]="Com Line truncated
@@ -0,0 +1,3 @@
define("vs/main-DsK8pnKg",["exports"],(function(c){"use strict";var F;(function(e){function r(i){return typeof i=="string"}e.is=r})(F||(F={}));var I;(function(e){function r(i){return typeof i=="string"}e.is=r})(I||(I={}));var O;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function r(i){return typeof i=="number"&&e.MIN_VALUE<=i&&i<=e.MAX_VALUE}e.is=r})(O||(O={}));var L;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function r(i){return typeof i=="number"&&e.MIN_VALUE<=i&&i<=e.MAX_VALUE}e.is=r})(L||(L={})),c.Position=void 0,(function(e){function r(t,n){return t===Number.MAX_VALUE&&(t=L.MAX_VALUE),n===Number.MAX_VALUE&&(n=L.MAX_VALUE),{line:t,character:n}}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&a.uinteger(n.line)&&a.uinteger(n.character)}e.is=i})(c.Position||(c.Position={})),c.Range=void 0,(function(e){function r(t,n,u,d){if(a.uinteger(t)&&a.uinteger(n)&&a.uinteger(u)&&a.uinteger(d))return{start:c.Position.create(t,n),end:c.Position.create(u,d)};if(c.Position.is(t)&&c.Position.is(n))return{start:t,end:n};throw new Error(`Range#create called with invalid arguments[${t}, ${n}, ${u}, ${d}]`)}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&c.Position.is(n.start)&&c.Position.is(n.end)}e.is=i})(c.Range||(c.Range={})),c.Location=void 0,(function(e){function r(t,n){return{uri:t,range:n}}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&c.Range.is(n.range)&&(a.string(n.uri)||a.undefined(n.uri))}e.is=i})(c.Location||(c.Location={}));var C;(function(e){function r(t,n,u,d){return{targetUri:t,targetRange:n,targetSelectionRange:u,originSelectionRange:d}}e.create=r;function i(t){let n=t;return a.objectLiteral(n)&&c.Range.is(n.targetRange)&&a.string(n.targetUri)&&c.Range.is(n.targetSelectionRange)&&(c.Range.is(n.originSelectionRange)||a.undefined(n.originSelectionRange))}e.is=i})(C||(C={}));var E;(function(e){function r(t,n,u,d){return{red:t,green:n,blue:u,alpha:d}}e.create=r;function i(t){const n=t;return a.objectLiteral(n)&&a.numberRange(n.red,0,1)&&a.numberRange(n.green,0,1)&&a.numberRange(n.blue,0,1)&&a.numberRange(n.alpha,0,1)}e.is=i})(E||(E={}));var X;(function(e){function r(t,n){return{range:t,color:n}}e.create=r;function i(t){const n=t;return a.objectLiteral(n)&&c.Range.is(n.range)&&E.is(n.color)}e.is=i})(X||(X={}));var $;(function(e){function r(t,n,u){return{label:t,textEdit:n,additionalTextEdits:u}}e.create=r;function i(t){const n=t;return a.objectLiteral(n)&&a.string(n.label)&&(a.undefined(n.textEdit)||c.TextEdit.is(n))&&(a.undefined(n.additionalTextEdits)||a.typedArray(n.additionalTextEdits,c.TextEdit.is))}e.is=i})($||($={})),c.FoldingRangeKind=void 0,(function(e){e.Comment="comment",e.Imports="imports",e.Region="region"})(c.FoldingRangeKind||(c.FoldingRangeKind={}));var W;(function(e){function r(t,n,u,d,f,l){const s={startLine:t,endLine:n};return a.defined(u)&&(s.startCharacter=u),a.defined(d)&&(s.endCharacter=d),a.defined(f)&&(s.kind=f),a.defined(l)&&(s.collapsedText=l),s}e.create=r;function i(t){const n=t;return a.objectLiteral(n)&&a.uinteger(n.startLine)&&a.uinteger(n.startLine)&&(a.undefined(n.startCharacter)||a.uinteger(n.startCharacter))&&(a.undefined(n.endCharacter)||a.uinteger(n.endCharacter))&&(a.undefined(n.kind)||a.string(n.kind))}e.is=i})(W||(W={}));var y;(function(e){function r(t,n){return{location:t,message:n}}e.create=r;function i(t){let n=t;return a.defined(n)&&c.Location.is(n.location)&&a.string(n.message)}e.is=i})(y||(y={})),c.DiagnosticSeverity=void 0,(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(c.DiagnosticSeverity||(c.DiagnosticSeverity={}));var z;(function(e){e.Unnecessary=1,e.Deprecated=2})(z||(z={}));var H;(function(e){function r(i){const t=i;return a.objectLiteral(t)&&a.string(t.href)}e.is=r})(H||(H={})),c.Diagnostic=void 0,(function(e){function r(t,n,u,d,f,l){let s={range:t,message:n};return a.defined(u)&&(s.severity=u),a.defined(d)&&(s.code=d),a.defined(f)&&(s.source=f),a.defined(l)&&(s.relatedInformation=l),s}e.create=r;function i(t){var n;let u=t;return a.defined(u)&&c.Range.is(u.range)&&a.string(u.message)&&(a.number(u.severity)||a.undefined(u.severity))&&(a.integer(u.code)||a.string(u.code)||a.undefined(u.code))&&(a.undefined(u.codeDescription)||a.string((n=u.codeDescription)===null||n===void 0?void 0:n.href))&&(a.string(u.source)||a.undefined(u.source))&&(a.undefined(u.relatedInformation)||a.typedArray(u.relatedInformation,y.is))}e.is=i})(c.Diagnostic||(c.Diagnostic={})),c.Command=void 0,(function(e){function r(t,n,...u){let d={title:t,command:n};return a.defined(u)&&u.length>0&&(d.arguments=u),d}e.create=r;function i(t){let n=t;return a.defined(n)&&a.string(n.title)&&a.string(n.command)}e.is=i})(c.Command||(c.Command={})),c.TextEdit=void 0,(function(e){function r(u,d){return{range:u,newText:d}}e.replace=r;function i(u,d){return{range:{start:u,end:u},newText:d}}e.insert=i;function t(u){return{range:u,newText:""}}e.del=t;function n(u){const d=u;return a.objectLiteral(d)&&a.string(d.newText)&&c.Range.is(d.rLine truncated
`,u==="\r"&&n+1<i.length&&i.charAt(n+1)===`
`&&n++}t&&i.length>0&&r.push(i.length),this._lineOffsets=r}return this._lineOffsets}positionAt(r){r=Math.max(Math.min(r,this._content.length),0);let i=this.getLineOffsets(),t=0,n=i.length;if(n===0)return c.Position.create(0,r);for(;t<n;){let d=Math.floor((t+n)/2);i[d]>r?n=d:t=d+1}let u=t-1;return c.Position.create(u,r-i[u])}offsetAt(r){let i=this.getLineOffsets();if(r.line>=i.length)return this._content.length;if(r.line<0)return 0;let t=i[r.line],n=r.line+1<i.length?i[r.line+1]:this._content.length;return Math.max(Math.min(t+r.character,n),t)}get lineCount(){return this.getLineOffsets().length}}var a;(function(e){const r=Object.prototype.toString;function i(o){return typeof o<"u"}e.defined=i;function t(o){return typeof o>"u"}e.undefined=t;function n(o){return o===!0||o===!1}e.boolean=n;function u(o){return r.call(o)==="[object String]"}e.string=u;function d(o){return r.call(o)==="[object Number]"}e.number=d;function f(o,V,En){return r.call(o)==="[object Number]"&&V<=o&&o<=En}e.numberRange=f;function l(o){return r.call(o)==="[object Number]"&&-2147483648<=o&&o<=2147483647}e.integer=l;function s(o){return r.call(o)==="[object Number]"&&0<=o&&o<=2147483647}e.uinteger=s;function g(o){return r.call(o)==="[object Function]"}e.func=g;function v(o){return o!==null&&typeof o=="object"}e.objectLiteral=v;function h(o,V){return Array.isArray(o)&&o.every(V)}e.typedArray=h})(a||(a={}))}));
@@ -0,0 +1 @@
define("vs/markdown-C_rD0bIw",["exports"],(function(e){"use strict";const t={comments:{blockComment:["<!--","-->"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*<!--\\s*#?region\\b.*-->"),end:new RegExp("^\\s*<!--\\s*#?endregion\\b.*-->")}}},n={defaultToken:"",tokenPostfix:".md",control:/[\\`*_\[\]{}()#+\-\.!]/,noncontrol:/[^\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,jsescapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],tokenizer:{root:[[/^\s*\|/,"@rematch","@table_header"],[/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/,["white","keyword","keyword","keyword"]],[/^\s*(=+|\-+)\s*$/,"keyword"],[/^\s*((\*[ ]?)+)\s*$/,"meta.separator"],[/^\s*>+/,"comment"],[/^\s*([\*\-+:]|\d+\.)\s/,"keyword"],[/^(\t|[ ]{4})[^ ].*$/,"string"],[/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/,{token:"string",next:"@codeblock"}],[/^\s*```\s*((?:\w|[\/\-#])+).*$/,{token:"string",next:"@codeblockgh",nextEmbedded:"$1"}],[/^\s*```\s*$/,{token:"string",next:"@codeblock"}],{include:"@linecontent"}],table_header:[{include:"@table_common"},[/[^\|]+/,"keyword.table.header"]],table_body:[{include:"@table_common"},{include:"@linecontent"}],table_common:[[/\s*[\-:]+\s*/,{token:"keyword",switchTo:"table_body"}],[/^\s*\|/,"keyword.table.left"],[/^\s*[^\|]/,"@rematch","@pop"],[/^\s*$/,"@rematch","@pop"],[/\|/,{cases:{"@eos":"keyword.table.right","@default":"keyword.table.middle"}}]],codeblock:[[/^\s*~~~\s*$/,{token:"string",next:"@pop"}],[/^\s*```\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblockgh:[[/```\s*$/,{token:"string",next:"@pop",nextEmbedded:"@pop"}],[/[^`]+/,"variable.source"]],linecontent:[[/&\w+;/,"string.escape"],[/@escapes/,"escape"],[/\b__([^\\_]|@escapes|_(?!_))+__\b/,"strong"],[/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/,"strong"],[/\b_[^_]+_\b/,"emphasis"],[/\*([^\\*]|@escapes)+\*/,"emphasis"],[/`([^\\`]|@escapes)+`/,"variable"],[/\{+[^}]+\}+/,"string.target"],[/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/,["string.link","","string.link"]],[/(!?\[)((?:[^\]\\]|@escapes)*)(\])/,"string.link"],{include:"html"}],html:[[/<(\w+)\/>/,"tag"],[/<(\w+)(\-|\w)*/,{cases:{"@empty":{token:"tag",next:"@tag.$1"},"@default":{token:"tag",next:"@tag.$1"}}}],[/<\/(\w+)(\-|\w)*\s*>/,{token:"tag"}],[/<!--/,"comment","@comment"]],comment:[[/[^<\-]+/,"comment.content"],[/-->/,"comment","@pop"],[/<!--/,"comment.content.invalid"],[/[<\-]/,"comment.content"]],tag:[[/[ \t\r\n]+/,"white"],[/(type)(\s*=\s*)(")([^"]+)(")/,["attribute.name.html","delimiter.html","string.html",{token:"string.html",switchTo:"@tag.$S2.$4"},"string.html"]],[/(type)(\s*=\s*)(')([^']+)(')/,["attribute.name.html","delimiter.html","string.html",{token:"string.html",switchTo:"@tag.$S2.$4"},"string.html"]],[/(\w+)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name.html","delimiter.html","string.html"]],[/\w+/,"attribute.name.html"],[/\/>/,"tag","@pop"],[/>/,{cases:{"$S2==style":{token:"tag",switchTo:"embeddedStyle",nextEmbedded:"text/css"},"$S2==script":{cases:{$S3:{token:"tag",switchTo:"embeddedScript",nextEmbedded:"$S3"},"@default":{token:"tag",switchTo:"embeddedScript",nextEmbedded:"text/javascript"}}},"@default":{token:"tag",next:"@pop"}}}]],embeddedStyle:[[/[^<]+/,""],[/<\/style\s*>/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/</,""]],embeddedScript:[[/[^<]+/,""],[/<\/script\s*>/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/</,""]]}};e.conf=t,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/mdx-CpzZIPHF",["exports","./editor-KLE6jdfb"],(function(t,e){"use strict";const o={comments:{blockComment:["{/*","*/}"]},brackets:[["{","}"]],autoClosingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"“",close:"”"},{open:"‘",close:"’"},{open:"`",close:"`"},{open:"{",close:"}"},{open:"(",close:")"},{open:"_",close:"_"},{open:"**",close:"**"},{open:"<",close:">"}],onEnterRules:[{beforeText:/^\s*- .+/,action:{indentAction:e.languages.IndentAction.None,appendText:"- "}},{beforeText:/^\s*\+ .+/,action:{indentAction:e.languages.IndentAction.None,appendText:"+ "}},{beforeText:/^\s*\* .+/,action:{indentAction:e.languages.IndentAction.None,appendText:"* "}},{beforeText:/^> /,action:{indentAction:e.languages.IndentAction.None,appendText:"> "}},{beforeText:/<\w+/,action:{indentAction:e.languages.IndentAction.Indent}},{beforeText:/\s+>\s*$/,action:{indentAction:e.languages.IndentAction.Indent}},{beforeText:/<\/\w+>/,action:{indentAction:e.languages.IndentAction.Outdent}},...Array.from({length:100},(s,n)=>({beforeText:new RegExp(`^${n}\\. .+`),action:{indentAction:e.languages.IndentAction.None,appendText:`${n+1}. `}}))]},i={defaultToken:"",tokenPostfix:".mdx",control:/[!#()*+.[\\\]_`{}\-]/,escapes:/\\@control/,tokenizer:{root:[[/^---$/,{token:"meta.content",next:"@frontmatter",nextEmbedded:"yaml"}],[/^\s*import/,{token:"keyword",next:"@import",nextEmbedded:"js"}],[/^\s*export/,{token:"keyword",next:"@export",nextEmbedded:"js"}],[/<\w+/,{token:"type.identifier",next:"@jsx"}],[/<\/?\w+>/,"type.identifier"],[/^(\s*)(>*\s*)(#{1,6}\s)/,[{token:"white"},{token:"comment"},{token:"keyword",next:"@header"}]],[/^(\s*)(>*\s*)([*+-])(\s+)/,["white","comment","keyword","white"]],[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/,["white","comment","number","white"]],[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/,["white","comment","number","white"]],[/^(\s*)(>*\s*)(-{3,}|\*{3,}|_{3,})$/,["white","comment","keyword"]],[/`{3,}(\s.*)?$/,{token:"string",next:"@codeblock_backtick"}],[/~{3,}(\s.*)?$/,{token:"string",next:"@codeblock_tilde"}],[/`{3,}(\S+).*$/,{token:"string",next:"@codeblock_highlight_backtick",nextEmbedded:"$1"}],[/~{3,}(\S+).*$/,{token:"string",next:"@codeblock_highlight_tilde",nextEmbedded:"$1"}],[/^(\s*)(-{4,})$/,["white","comment"]],[/^(\s*)(>+)/,["white","comment"]],{include:"content"}],content:[[/(\[)(.+)(]\()(.+)(\s+".*")(\))/,["","string.link","","type.identifier","string.link",""]],[/(\[)(.+)(]\()(.+)(\))/,["","type.identifier","","string.link",""]],[/(\[)(.+)(]\[)(.+)(])/,["","type.identifier","","type.identifier",""]],[/(\[)(.+)(]:\s+)(\S*)/,["","type.identifier","","string.link"]],[/(\[)(.+)(])/,["","type.identifier",""]],[/`.*`/,"variable.source"],[/_/,{token:"emphasis",next:"@emphasis_underscore"}],[/\*(?!\*)/,{token:"emphasis",next:"@emphasis_asterisk"}],[/\*\*/,{token:"strong",next:"@strong"}],[/{/,{token:"delimiter.bracket",next:"@expression",nextEmbedded:"js"}]],import:[[/'\s*(;|$)/,{token:"string",next:"@pop",nextEmbedded:"@pop"}]],expression:[[/{/,{token:"delimiter.bracket",next:"@expression"}],[/}/,{token:"delimiter.bracket",next:"@pop",nextEmbedded:"@pop"}]],export:[[/^\s*$/,{token:"delimiter.bracket",next:"@pop",nextEmbedded:"@pop"}]],jsx:[[/\s+/,""],[/(\w+)(=)("(?:[^"\\]|\\.)*")/,["attribute.name","operator","string"]],[/(\w+)(=)('(?:[^'\\]|\\.)*')/,["attribute.name","operator","string"]],[/(\w+(?=\s|>|={|$))/,["attribute.name"]],[/={/,{token:"delimiter.bracket",next:"@expression",nextEmbedded:"js"}],[/>/,{token:"type.identifier",next:"@pop"}]],header:[[/.$/,{token:"keyword",next:"@pop"}],{include:"content"},[/./,{token:"keyword"}]],strong:[[/\*\*/,{token:"strong",next:"@pop"}],{include:"content"},[/./,{token:"strong"}]],emphasis_underscore:[[/_/,{token:"emphasis",next:"@pop"}],{include:"content"},[/./,{token:"emphasis"}]],emphasis_asterisk:[[/\*(?!\*)/,{token:"emphasis",next:"@pop"}],{include:"content"},[/./,{token:"emphasis"}]],frontmatter:[[/^---$/,{token:"meta.content",nextEmbedded:"@pop",next:"@pop"}]],codeblock_highlight_backtick:[[/\s*`{3,}\s*$/,{token:"string",next:"@pop",nextEmbedded:"@pop"}],[/.*$/,"variable.source"]],codeblock_highlight_tilde:[[/\s*~{3,}\s*$/,{token:"string",next:"@pop",nextEmbedded:"@pop"}],[/.*$/,"variable.source"]],codeblock_backtick:[[/\s*`{3,}\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblock_tilde:[[/\s*~{3,}\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]]}};t.conf=o,t.language=i,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/mips-CiYP61RB",["exports"],(function(e){"use strict";const t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},n={defaultToken:"",ignoreCase:!1,tokenPostfix:".mips",regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:[".data",".text","syscall","trap","add","addu","addi","addiu","and","andi","div","divu","mult","multu","nor","or","ori","sll","slv","sra","srav","srl","srlv","sub","subu","xor","xori","lhi","lho","lhi","llo","slt","slti","sltu","sltiu","beq","bgtz","blez","bne","j","jal","jalr","jr","lb","lbu","lh","lhu","lw","li","la","sb","sh","sw","mfhi","mflo","mthi","mtlo","move"],symbols:/[\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\$[a-zA-Z_]\w*/,"variable.predefined"],[/[.a-zA-Z_]\w*/,{cases:{this:"variable.predefined","@keywords":{token:"keyword.$0"},"@default":""}}],[/[ \t\r\n]+/,""],[/#.*$/,"comment"],["///",{token:"regexp",next:"@hereregexp"}],[/^(\s*)(@regEx)/,["","regexp"]],[/(\,)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\:)(\s*)(@regEx)/,["delimiter","","regexp"]],[/@symbols/,"delimiter"],[/\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/0[0-7]+(?!\d)/,"number.octal"],[/\d+/,"number"],[/[,.]/,"delimiter"],[/"""/,"string",'@herestring."""'],[/'''/,"string","@herestring.'''"],[/"/,{cases:{"@eos":"string","@default":{token:"string",next:'@string."'}}}],[/'/,{cases:{"@eos":"string","@default":{token:"string",next:"@string.'"}}}]],string:[[/[^"'\#\\]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/\./,"string.escape.invalid"],[/#{/,{cases:{'$S2=="':{token:"string",next:"root.interpolatedstring"},"@default":"string"}}],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/#/,"string"]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/[^#\\'"]+/,"string"],[/['"]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/#{/,{token:"string.quote",next:"root.interpolatedstring"}],[/#/,"string"]],comment:[[/[^#]+/,"comment"],[/#/,"comment"]],hereregexp:[[/[^\\\/#]+/,"regexp"],[/\\./,"regexp"],[/#.*$/,"comment"],["///[igm]*",{token:"regexp",next:"@pop"}],[/\//,"regexp"]]}};e.conf=t,e.language=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/monaco.contribution-9cKT3C7t",["require","exports","./editor-KLE6jdfb"],(function(c,n,o){"use strict";class s{constructor(e,f,p){this._onDidChange=new o.Emitter,this._languageId=e,this.setOptions(f),this.setModeConfiguration(p)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}}const r={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:"collapse",maxPreserveNewLines:void 0,preserveNewLines:!0}},i={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},a=new s("css",r,i),u=new s("scss",r,i),g=new s("less",r,i);function l(){return new Promise((t,e)=>c(["./cssMode-CV6Ay48H"],t,e))}o.languages.onLanguage("less",()=>{l().then(t=>t.setupMode(g))}),o.languages.onLanguage("scss",()=>{l().then(t=>t.setupMode(u))}),o.languages.onLanguage("css",()=>{l().then(t=>t.setupMode(a))});const d=Object.freeze(Object.defineProperty({__proto__:null,cssDefaults:a,lessDefaults:g,scssDefaults:u},Symbol.toStringTag,{value:"Module"}));n.cssDefaults=a,n.lessDefaults=g,n.register=d,n.scssDefaults=u}));
@@ -0,0 +1 @@
define("vs/monaco.contribution-BE88ZNGY",["require","exports","./editor-KLE6jdfb"],(function(S,n,a){"use strict";const D="5.9.3";var u=(e=>(e[e.None=0]="None",e[e.CommonJS=1]="CommonJS",e[e.AMD=2]="AMD",e[e.UMD=3]="UMD",e[e.System=4]="System",e[e.ES2015=5]="ES2015",e[e.ESNext=99]="ESNext",e))(u||{}),c=(e=>(e[e.None=0]="None",e[e.Preserve=1]="Preserve",e[e.React=2]="React",e[e.ReactNative=3]="ReactNative",e[e.ReactJSX=4]="ReactJSX",e[e.ReactJSXDev=5]="ReactJSXDev",e))(c||{}),l=(e=>(e[e.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",e[e.LineFeed=1]="LineFeed",e))(l||{}),g=(e=>(e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ES2018=5]="ES2018",e[e.ES2019=6]="ES2019",e[e.ES2020=7]="ES2020",e[e.ESNext=99]="ESNext",e[e.JSON=100]="JSON",e[e.Latest=99]="Latest",e))(g||{}),b=(e=>(e[e.Classic=1]="Classic",e[e.NodeJs=2]="NodeJs",e))(b||{});class d{constructor(t,s,i,r,o){this._onDidChange=new a.Emitter,this._onDidExtraLibsChange=new a.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(t),this.setDiagnosticsOptions(s),this.setWorkerOptions(i),this.setInlayHintsOptions(r),this.setModeConfiguration(o),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(t,s){let i;if(typeof s>"u"?i=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:i=s,this._extraLibs[i]&&this._extraLibs[i].content===t)return{dispose:()=>{}};let r=1;return this._removedExtraLibs[i]&&(r=this._removedExtraLibs[i]+1),this._extraLibs[i]&&(r=this._extraLibs[i].version+1),this._extraLibs[i]={content:t,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let o=this._extraLibs[i];o&&o.version===r&&(delete this._extraLibs[i],this._removedExtraLibs[i]=r,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(t){for(const s in this._extraLibs)this._removedExtraLibs[s]=this._extraLibs[s].version;if(this._extraLibs=Object.create(null),t&&t.length>0)for(const s of t){const i=s.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,r=s.content;let o=1;this._removedExtraLibs[i]&&(o=this._removedExtraLibs[i]+1),this._extraLibs[i]={content:r,version:o}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(t){this._compilerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(t){this._diagnosticsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(t){this._workerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(t){this._inlayHintsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(t){}setEagerModelSync(t){this._eagerModelSync=t}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(void 0)}}const v=D,L={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},_=new d({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},L),f=new d({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},L),E=()=>h().then(e=>e.getTypeScriptWorker()),m=()=>h().then(e=>e.getJavaScriptWorker());function h(){return new Promise((e,t)=>S(["./tsMode-B0S_kp2q"],e,t))}a.languages.onLanguage("typescript",()=>h().then(e=>e.setupTypeScript(_))),a.languages.onLanguage("javascript",()=>h().then(e=>e.setupJavaScript(f)));const O=Object.freeze(Object.defineProperty({__proto__:null,JsxEmit:c,ModuleKind:u,ModuleResolutionKind:b,NewLineKind:l,ScriptTarget:g,getJavaScriptWorker:m,getTypeScriptWorker:E,javascriptDefaults:f,typescriptDefaults:_,typescriptVersion:v},Symbol.toStringTag,{value:"Module"}));n.JsxEmit=c,n.ModuleKind=u,n.ModuleResolutionKind=b,n.NewLineKind=l,n.ScriptTarget=g,n.getJavaScriptWorker=m,n.getTypeScriptWorker=E,n.javascriptDefaults=f,n.register=O,n.typescriptDefaults=_,n.typescriptVersion=v}));
@@ -0,0 +1 @@
define("vs/monaco.contribution-BPhsneLd",["require","exports","./editor-KLE6jdfb"],(function(a,n,s){"use strict";class g{constructor(e,d,m){this._onDidChange=new s.Emitter,this._languageId=e,this.setDiagnosticsOptions(d),this.setModeConfiguration(m)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}}const u={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},c={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},o=new g("json",u,c),i=()=>r().then(t=>t.getWorker());function r(){return new Promise((t,e)=>a(["./jsonMode-DLUiMUrI"],t,e))}s.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),s.languages.onLanguage("json",()=>{r().then(t=>t.setupMode(o))});const l=Object.freeze(Object.defineProperty({__proto__:null,getWorker:i,jsonDefaults:o},Symbol.toStringTag,{value:"Module"}));n.getWorker=i,n.jsonDefaults=o,n.register=l}));
@@ -0,0 +1 @@
define("vs/monaco.contribution-BgRy6xDf",["require","exports","./editor-KLE6jdfb"],(function(p,n,f){"use strict";class D{constructor(t,d,i){this._onDidChange=new f.Emitter,this._languageId=t,this.setOptions(d),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(t){this._options=t||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}}const o={format:{tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},suggest:{},data:{useDefaultDataProvider:!0}};function s(e){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:e===a,documentFormattingEdits:e===a,documentRangeFormattingEdits:e===a}}const a="html",m="handlebars",h="razor",u=r(a,o,s(a)),b=u.defaults,g=r(m,o,s(m)),L=g.defaults,l=r(h,o,s(h)),v=l.defaults;function S(){return new Promise((e,t)=>p(["./htmlMode-27by_KM4"],e,t))}function r(e,t=o,d=s(e)){const i=new D(e,t,d);let c;const C=f.languages.onLanguage(e,async()=>{c=(await S()).setupMode(i)});return{defaults:i,dispose(){C.dispose(),c?.dispose(),c=void 0}}}const _=Object.freeze(Object.defineProperty({__proto__:null,handlebarDefaults:L,handlebarLanguageService:g,htmlDefaults:b,htmlLanguageService:u,razorDefaults:v,razorLanguageService:l,registerHTMLLanguageService:r},Symbol.toStringTag,{value:"Module"}));n.handlebarDefaults=L,n.handlebarLanguageService=g,n.htmlDefaults=b,n.htmlLanguageService=u,n.razorDefaults=v,n.razorLanguageService=l,n.register=_,n.registerHTMLLanguageService=r}));
@@ -0,0 +1 @@
define("vs/msdax-C38-sJlp",["exports"],(function(E){"use strict";const T={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]}]},A={defaultToken:"",tokenPostfix:".msdax",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.brackets"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["VAR","RETURN","NOT","EVALUATE","DATATABLE","ORDER","BY","START","AT","DEFINE","MEASURE","ASC","DESC","IN","BOOLEAN","DOUBLE","INTEGER","DATETIME","CURRENCY","STRING"],functions:["CLOSINGBALANCEMONTH","CLOSINGBALANCEQUARTER","CLOSINGBALANCEYEAR","DATEADD","DATESBETWEEN","DATESINPERIOD","DATESMTD","DATESQTD","DATESYTD","ENDOFMONTH","ENDOFQUARTER","ENDOFYEAR","FIRSTDATE","FIRSTNONBLANK","LASTDATE","LASTNONBLANK","NEXTDAY","NEXTMONTH","NEXTQUARTER","NEXTYEAR","OPENINGBALANCEMONTH","OPENINGBALANCEQUARTER","OPENINGBALANCEYEAR","PARALLELPERIOD","PREVIOUSDAY","PREVIOUSMONTH","PREVIOUSQUARTER","PREVIOUSYEAR","SAMEPERIODLASTYEAR","STARTOFMONTH","STARTOFQUARTER","STARTOFYEAR","TOTALMTD","TOTALQTD","TOTALYTD","ADDCOLUMNS","ADDMISSINGITEMS","ALL","ALLEXCEPT","ALLNOBLANKROW","ALLSELECTED","CALCULATE","CALCULATETABLE","CALENDAR","CALENDARAUTO","CROSSFILTER","CROSSJOIN","CURRENTGROUP","DATATABLE","DETAILROWS","DISTINCT","EARLIER","EARLIEST","EXCEPT","FILTER","FILTERS","GENERATE","GENERATEALL","GROUPBY","IGNORE","INTERSECT","ISONORAFTER","KEEPFILTERS","LOOKUPVALUE","NATURALINNERJOIN","NATURALLEFTOUTERJOIN","RELATED","RELATEDTABLE","ROLLUP","ROLLUPADDISSUBTOTAL","ROLLUPGROUP","ROLLUPISSUBTOTAL","ROW","SAMPLE","SELECTCOLUMNS","SUBSTITUTEWITHINDEX","SUMMARIZE","SUMMARIZECOLUMNS","TOPN","TREATAS","UNION","USERELATIONSHIP","VALUES","SUM","SUMX","PATH","PATHCONTAINS","PATHITEM","PATHITEMREVERSE","PATHLENGTH","AVERAGE","AVERAGEA","AVERAGEX","COUNT","COUNTA","COUNTAX","COUNTBLANK","COUNTROWS","COUNTX","DISTINCTCOUNT","DIVIDE","GEOMEAN","GEOMEANX","MAX","MAXA","MAXX","MEDIAN","MEDIANX","MIN","MINA","MINX","PERCENTILE.EXC","PERCENTILE.INC","PERCENTILEX.EXC","PERCENTILEX.INC","PRODUCT","PRODUCTX","RANK.EQ","RANKX","STDEV.P","STDEV.S","STDEVX.P","STDEVX.S","VAR.P","VAR.S","VARX.P","VARX.S","XIRR","XNPV","DATE","DATEDIFF","DATEVALUE","DAY","EDATE","EOMONTH","HOUR","MINUTE","MONTH","NOW","SECOND","TIME","TIMEVALUE","TODAY","WEEKDAY","WEEKNUM","YEAR","YEARFRAC","CONTAINS","CONTAINSROW","CUSTOMDATA","ERROR","HASONEFILTER","HASONEVALUE","ISBLANK","ISCROSSFILTERED","ISEMPTY","ISERROR","ISEVEN","ISFILTERED","ISLOGICAL","ISNONTEXT","ISNUMBER","ISODD","ISSUBTOTAL","ISTEXT","USERNAME","USERPRINCIPALNAME","AND","FALSE","IF","IFERROR","NOT","OR","SWITCH","TRUE","ABS","ACOS","ACOSH","ACOT","ACOTH","ASIN","ASINH","ATAN","ATANH","BETA.DIST","BETA.INV","CEILING","CHISQ.DIST","CHISQ.DIST.RT","CHISQ.INV","CHISQ.INV.RT","COMBIN","COMBINA","CONFIDENCE.NORM","CONFIDENCE.T","COS","COSH","COT","COTH","CURRENCY","DEGREES","EVEN","EXP","EXPON.DIST","FACT","FLOOR","GCD","INT","ISO.CEILING","LCM","LN","LOG","LOG10","MOD","MROUND","ODD","PERMUT","PI","POISSON.DIST","POWER","QUOTIENT","RADIANS","RAND","RANDBETWEEN","ROUND","ROUNDDOWN","ROUNDUP","SIGN","SIN","SINH","SQRT","SQRTPI","TAN","TANH","TRUNC","BLANK","CONCATENATE","CONCATENATEX","EXACT","FIND","FIXED","FORMAT","LEFT","LEN","LOWER","MID","REPLACE","REPT","RIGHT","SEARCH","SUBSTITUTE","TRIM","UNICHAR","UNICODE","UPPER","VALUE"],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},[/[;,.]/,"delimiter"],[/[({})]/,"@brackets"],[/[a-z_][a-zA-Z0-9_]*/,{cases:{"@keywords":"keyword","@functions":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/\/\/+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N"/,{token:"string",next:"@string"}],[/"/,{token:"string",next:"@string"}]],string:[[/[^"]+/,"string"],[/""/,"string"],[/"/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/\[/,{token:"identifier.quote",next:"@bracketedIdentifier"}],[/'/,{token:"identifier.quote",next:"@quotedIdentifier"}]],bracketedIdentifier:[[/[^\]]+/,"identifier"],[/]]/,"identifier"],[/]/,{token:"identifier.quote",next:"@pop"}]],quotedIdentifier:[[/[^']+/,"identifier"],[/''/,"identifier"],[/'/,{token:"identifier.quote",next:"@pop"}]]}};E.conf=T,E.language=A,Object.defineProperty(E,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1 @@
define("vs/mysql-CdtbpvbG",["exports"],(function(E){"use strict";const T={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},S={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BIGINT","BINARY","BLOB","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHAR","CHARACTER","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEC","DECIMAL","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FLOAT","FLOAT4","FLOAT8","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LONGBLOB","LONGTEXT","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","NUMERIC","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRECISION","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","REAL","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SMALLINT","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TINYBLOB","TINYINT","TINYTEXT","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VARBINARY","VARCHAR","VARCHARACTER","VARYING","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","Area","AsBinary","AsWKB","ASCII","ASIN","AsText","AsWKT","ASYMMETRIC_DECRYPT","ASYMMETRIC_DERIVE","ASYMMETRIC_ENCRYPT","ASYMMETRIC_SIGN","ASYMMETRIC_VERIFY","ATAN","ATAN2","ATAN","AVG","BENCHMARK","BIN","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","Buffer","CAST","CEIL","CEILING","Centroid","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","Contains","CONV","CONVERT","CONVERT_TZ","ConvexHull","COS","COT","COUNT","CRC32","CREATE_ASYMMETRIC_PRIV_KEY","CREATE_ASYMMETRIC_PUB_KEY","CREATE_DH_PARAMETERS","CREATE_DIGEST","Crosses","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DES_DECRYPT","DES_ENCRYPT","DENSE_RANK","Dimension","Disjoint","Distance","ELT","ENCODE","ENCRYPT","EndPoint","Envelope","Equals","EXP","EXPORT_SET","ExteriorRing","EXTRACT","ExtractValue","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_PICO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEN_RANGE","GEN_RND_EMAIL","GEN_RND_PAN","GEN_RND_SSN","GEN_RND_US_PHONE","GeomCollection","GeomCollFromText","GeometryCollectionFromText","GeomCollFromWKB","GeometryCollectionFromWKB","GeometryCollection","GeometryN","GeometryType","GeomFromText","GeometryFromText","GeomFromWKB","GeometryFromWKB","GET_FORMAT","GET_LOCK","GLength","GREATEST","GROUP_CONCAT","GROUPING","GTID_SULine truncated
@@ -0,0 +1 @@
define("vs/nls.messages-loader",["exports"],(function(n){"use strict";function a(o,l,s,t){const e=t["vs/nls"]?.availableLanguages?.["*"];!e||e==="en"?s({}):l([`vs/nls/lang/${e}`],()=>{s({})})}n.load=a,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
+1
View File
@@ -0,0 +1 @@
export {};
@@ -0,0 +1,9 @@
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.56.0(13f0c872dcf352815cc28d92dfff496c9839ea5c)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
globalThis._VSCODE_NLS_MESSAGES=["{0} ({1})","vstup","Rozlišovat malá a velká písmena","Pouze celá slova","Použit regulární výraz","vstup","Zachovávat velikost písmen","Zkontrolujte to v přístupném zobrazení pomocí {0}.","Zkontrolujte to v přístupném zobrazení pomocí příkazu Otevřít přístupné zobrazení, které se v tuto chvíli nedá aktivovat klávesovou zkratkou.","Chyba: {0}","Upozornění: {0}","Informace: {0}"," nebo {0} pro historii"," ({0} pro historii)","Zadání se vymazalo","Nesvázáno s klávesovou zkratkou","Průběh","oddělovač","Pole výběru","Další akce...","Zadejte hledaný text","Zavřít","Zadejte hledaný text","Nenašly se žádné výsledky.","Žádné výsledky","Počet výsledků: {0}","Pro filtrování zadejte text.","Zadejte hledaný text","Filtrovat","Přibližná shoda","sbaleno","rozbaleno","(prázdné)","{0}: {1}","Došlo k systémové chybě. ({0})","Došlo k neznámé chybě. Další podrobnosti naleznete v protokolu.","Došlo k neznámé chybě. Další podrobnosti naleznete v protokolu.","{0} (celkový počet chyb: {1})","Došlo k neznámé chybě. Další podrobnosti naleznete v protokolu.","Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","Super","Control","Shift","Možnost","Příkaz","Control","Shift","Alt","Windows","Control","Shift","Alt","Super","Rozšíření","Integrovaný terminál","Chat","Telemetrie","Aktualizovat","editor","Editor není v tuto chvíli přístupný.","{0} Pokud chcete povolit režim optimalizovaný pro čtečku obrazovky, použijte {1}","{0} Pokud chcete povolit režim optimalizovaný pro čtečku obrazovky, otevřete rychlý výběr pomocí {1} a spusťte příkaz Přepnout režim přístupnosti čtečky obrazovky, který se momentálně nedá aktivovat pomocí klávesnice.","{0} Přiřaďte klávesovou zkratku k příkazu Přepnout režim přístupnosti čtečky obrazovky tak, že pomocí {1} otevřete editor klávesových zkratek a spustíte ji.","editor","Umístit na konec i u delších řádků","Umístit na konec i u delších řádků","Odebrané sekundární kurzory","&&Zpět","Zpět","Zpět","&&Znovu","Znovu","Znovu","&&Vybrat vše","Vybrat vše","Vybrat vše","Použití vykreslování založeného na modelu DOM","Určuje, jestli jsou vložená dokončování v tuto chvíli odložená","1 minuta","5 minut","10 minut","15 minut","30 minut","60 minut","{0} min (naposledy použito)","Naposledy použitá vlastní doba trvání","Vlastní...","Vyberte dobu odložení pro vložené návrhy","Doba trvání v minutách (např. 90)","Zadejte dobu odložení v minutách.","Zadejte prosím kladné číslo.","Odložit vložené návrhy","Zrušit odložení vložených návrhů","Počet kurzorů byl omezen na {0}. Zvažte použití funkce [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) pro větší změny nebo zvýšení nastavení limitu více kurzorů editoru.","Zvýšit limit více kurzorů","Přepnout sbalení nezměněných oblastí","Přepnout zobrazení přesunutých bloků kódu","Přepnout použití vloženého zobrazení, když je omezené místo","Diff Editor","Přepnout stranu","Ukončit porovnání přesunutí","Sbalit všechny nezměněné oblasti","Zobrazit všechny nezměněné oblasti","Obnovit","Prohlížeč rozdílů s podporou přístupnosti","Přejít na další rozdíl","Přejít na předchozí rozdíl","Ikona Vložit v prohlížeči rozdílů s podporou přístupnosti.","Ikona Odebrat v prohlížeči rozdílů s podporou přístupnosti.","Ikona Zavřít v prohlížeči rozdílů s podporou přístupnosti.","Zavřít","Přístupný prohlížeč rozdílů. K navigaci použijte šipku nahoru a dolů.","Nezměnily se žádné řádky.","Počet změněných řádků: 1","Počet změněných řádků: {0}","Rozdíl {0} z {1}: původní řádek {2}, {3}, změněný řádek {4}, {5}","prázdné","{0} nezměněný řádek {1}","{0} původní řádek {1} změněný řádek {2}","+ {0} změněný řádek {1}","- {0} původní řádek {1}"," pomocí {0} otevřete nápovědu k přístupnosti.","Kopírovat odstraněné řádky","Kopírovat odstraněný řádek","Kopírovat změněné řádky","Kopírovat změněný řádek","Kopírovat odstraněný řádek ({0})","Kopírovat změněný řádek ({0})","Obnovit tuto změnu","Použít vložené zobrazení, když je omezené místo","Zobrazit přesunuté bloky kódu","Obnovit blok","Obnovit výběr","Otevřít prohlížeč rozdílů s podporou přístupnosti","Sbalit nezměněnou oblast","{0} skryté čáry","Kliknutím nebo přetažením zobrazíte více nahoře.","Zobrazit nezměněnou oblast","Kliknutím nebo přetažením zobrazíte další položky níže","{0} skryté čáry","Poklikáním rozbalíte","Kód se přesunul se změnami na řádek {0}–{1}","Kód se přesunul se změnami z řádku {0}–{1}","Kód se přesunul na řádek {0}–{1}","Kód se přesunul z řádku {0}–{1}","Vrátit vybrané změny",Line truncated
globalThis._VSCODE_NLS_LANGUAGE="cs";
+1
View File
@@ -0,0 +1 @@
export {};
@@ -0,0 +1,9 @@
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.56.0(13f0c872dcf352815cc28d92dfff496c9839ea5c)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
globalThis._VSCODE_NLS_MESSAGES=["{0} ({1})","Eingabe","Groß-/Kleinschreibung beachten","Nur ganzes Wort suchen","Regulären Ausdruck verwenden","Eingabe","Groß-/Kleinschreibung beibehalten","Überprüfen Sie dies in der barrierefreien Ansicht mit \"{0}\".","Überprüfen Sie dies in der barrierefreien Ansicht über den Befehl \"Barrierefreie Ansicht öffnen\", der zurzeit nicht über eine Tastenzuordnung ausgelöst werden kann.","Fehler: {0}","Warnung: {0}","Info: {0}"," oder {0} für Verlauf"," ({0} für Verlauf)","Gelöschte Eingabe","Ungebunden","Fortschritt","Trennzeichen","Auswahlfeld","Weitere Aktionen...","Zum Suchen eingeben","Schließen","Zum Suchen eingeben","Keine Ergebnisse gefunden.","Keine Ergebnisse","{0} Ergebnisse","Zum Filtern Text eingeben","Zum Suchen eingeben","Filter","Fuzzyübereinstimmung","reduziert","erweitert","(leer)","{0}: {1}","Ein Systemfehler ist aufgetreten ({0}).","Ein unbekannter Fehler ist aufgetreten. Weitere Details dazu finden Sie im Protokoll.","Ein unbekannter Fehler ist aufgetreten. Weitere Details dazu finden Sie im Protokoll.","{0} ({1} Fehler gesamt)","Ein unbekannter Fehler ist aufgetreten. Weitere Details dazu finden Sie im Protokoll.","STRG","UMSCHALTTASTE","ALT","Windows","STRG","UMSCHALTTASTE","ALT","Super","Steuern","UMSCHALTTASTE","Option","Befehl","Steuern","UMSCHALTTASTE","ALT","Windows","Steuern","UMSCHALTTASTE","ALT","Super","Erweiterungen","Integriertes Terminal","Chat","Telemetrie","Aktualisieren","Editor","Auf den Editor kann zurzeit nicht zugegriffen werden.","{0} Um den für die Sprachausgabe optimierten Modus zu aktivieren, verwenden Sie {1}","{0} Um den für die Sprachausgabe optimierten Modus zu aktivieren, öffnen Sie die Schnellauswahl mit {1}, und führen Sie den Befehl „Barrierefreiheitsmodus der Bildschirmsprachausgabe umschalten“ aus, der derzeit nicht über die Tastatur ausgelöst werden kann.","{0} Weisen Sie eine Tastenzuordnung für den Befehl „Barrierefreiheitsmodus der Sprachausgabe umschalten“ zu, indem Sie mit auf den Editor für Tastenzuordnungen zugreifen {1} und ihn ausführen.","Editor","Auch bei längeren Zeilen am Ende bleiben","Auch bei längeren Zeilen am Ende bleiben","Sekundäre Cursor entfernt","&&Rückgängig","Rückgängig","Rückgängig","&&Wiederholen","Wiederholen","Wiederholen","&&Alles auswählen","Alle auswählen","Alle auswählen","Verwenden des DOM-basierten Renderings","Gibt an, ob der Standbymodus von Inlinevervollständigungen derzeit aktiviert ist","1 Minute","5 Minuten","10 Minuten","15 Minuten","30 Minuten","60 Minuten","{0} Minuten (zuletzt verwendet)","Zuletzt verwendete benutzerdefinierte Dauer","Benutzerdefiniert...","Dauer für Pausieren von Inlinevorschlägen auswählen","Dauer in Minuten (z. B. 90)","Geben Sie die Dauer für „Erneut erinnern“ in Minuten ein.","Geben Sie eine positive Zahl ein.","Inlinevorschläge pausieren","Pausieren von Inlinevorschlägen abbrechen","Die Anzahl der Cursor wurde auf {0} beschränkt. Erwägen Sie die Verwendung von [Suchen und Ersetzen](https://code.visualstudio.com/docs/editor/codebasics#_find-und-ersetzen) für größere Änderungen, oder erhöhen Sie die Multicursorbegrenzungseinstellung des Editors.","Erhöhen des Grenzwerts für mehrere Cursor","\"Unveränderte Bereiche reduzieren\" umschalten","\"Verschobene Codeblöcke anzeigen\" umschalten","\"Bei eingeschränktem Speicherplatz Inlineansicht verwenden\" umschalten","Diff-Editor","Seite wechseln","Vergleichsmodus beenden","Alle unveränderten Regionen reduzieren","Alle unveränderten Regionen anzeigen","Zurücksetzen","Barrierefreier Diff-Viewer","Zum nächsten Unterschied wechseln","Zum vorherigen Unterschied wechseln","Symbol für \"Einfügen\" im barrierefreien Diff-Viewer.","Symbol für \"Entfernen\" im barrierefreien Diff-Viewer.","Symbol für \"Schließen\" im barrierefreien Diff-Viewer.","Schließen","Barrierefreier Diff-Viewer. Verwenden Sie den Pfeil nach oben und unten, um zu navigieren.","keine geänderten Zeilen","1 Zeile geändert","{0} Zeilen geändert","Unterschied {0} von {1}: ursprüngliche Zeile {2}, {3}, geänderte Zeile {4}, {5}","leer","{0}: unveränderte Zeile {1}","{0} ursprüngliche Zeile {1} geänderte Zeile {2}","+ {0} geänderte Zeile(n) {1}","– {0} Originalzeile {1}"," verwenden Sie {0}, um die Hilfe zur Barrierefreiheit zu öffnen.","Gelöschte Zeilen kopieren","Gelöschte Zeile kopieren","Geänderte Zeilen kopieren","Geänderte Zeile kopieren","Gelöschte Zeile kopieren ({0})","Geänderte Zeile ({0}) kopieren","Diese Änderung rückgängig machen","Bei eingeschränktem Speicherplatz Inlineansicht verwenden","Verschobene Codeblöcke anzeigen","Block wiederherstellen","Auswahl wiederherstellen","Barrierefreien Diff-Viewer öffnen","Unveränderten Bereich falten","{0} ausgeblendete Linien","Klicken oder ziehen Sie, um oben mehr anzuzeigen.","Unveränderte Regionen anzeigen","Klicken oder ziehen Sie, um unten mehr anzuzeigen.","{0} ausgeblendete Linien","ZuLine truncated
globalThis._VSCODE_NLS_LANGUAGE="de";
+1
View File
@@ -0,0 +1 @@
export {};
@@ -0,0 +1,9 @@
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.56.0(13f0c872dcf352815cc28d92dfff496c9839ea5c)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
globalThis._VSCODE_NLS_MESSAGES=["{0} ({1})","entrada","Coincidir mayúsculas y minúsculas","Solo palabras completas","Usar expresión regular","entrada","Conservar may/min","Inspeccione esto en la vista accesible con {0}.","Inspeccione esto en la vista accesible mediante el comando Abrir vista accesible, que actualmente no se puede desencadenar mediante el enlace de teclado.","Error: {0}","Advertencia: {0}","Información: {0}"," o {0} para el historial"," ({0} para el historial)","Entrada borrada","Sin enlazar","Progreso","separador","Seleccionar cuadro","Más Acciones...","Escriba texto para buscar","Cerrar","Escriba texto para buscar","No se encontraron resultados.","No hay resultados","{0} resultados","Escriba texto para filtrar","Escriba texto para buscar","Filtrar","Coincidencia aproximada","contraído","ampliado","(vacío)","{0}: {1}","Error del sistema ({0})","Se ha producido un error desconocido. Consulte el registro para obtener más detalles.","Se ha producido un error desconocido. Consulte el registro para obtener más detalles.","{0} ({1} errores en total)","Se ha producido un error desconocido. Consulte el registro para obtener más detalles.","Ctrl","Mayús","Alt","Windows","Ctrl","Mayús","Alt","Super","Control","Mayús","Opción","Comando","Control","Mayús","Alt","Windows","Control","Mayús","Alt","Super","Extensiones","Terminal integrado","Chat","Telemetría","Actualizar","editor","No se puede acceder al editor en este momento.","{0} Para habilitar el modo optimizado para lectores de pantalla, use {1}","{0} Para habilitar el modo optimizado para lector de pantalla, abra la selección rápida con {1} y ejecute el comando Alternar modo de accesibilidad del lector de pantalla, que actualmente no se puede desencadenar mediante el teclado.","{0} Para asignar un enlace de teclado para el comando Alternar modo de accesibilidad del lector de pantalla, acceda al editor de enlaces de teclado con {1} y ejecútelo.","editor","Anclar al final incluso cuando se vayan a líneas más largas","Anclar al final incluso cuando se vayan a líneas más largas","Cursores secundarios quitados","&&Deshacer","Deshacer","Deshacer","&&Rehacer","Rehacer","Rehacer","&&Seleccionar todo","Seleccionar todo","Seleccionar todo","Uso de la representación basada en DOM","Si las finalizaciones insertadas están pospuestas actualmente","1 minuto","5 minutos","10 minutos","15 minutos","30 minutos","60 minutos","{0} minutos (Último uso)","Duración personalizada usada por última vez","Personalizado...","Seleccionar la duración de la pausa para las sugerencias insertadas","Duración en minutos (por ejemplo, 90)","Escriba la duración del aplazamiento en minutos","Escriba un número positivo","Posponer sugerencias insertadas","Cancelar posponer sugerencias insertadas","El número de cursores se ha limitado a {0}. Considere la posibilidad de usar [buscar y reemplazar](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) para realizar cambios mayores o aumentar la configuración del límite de varios cursores del editor.","Aumentar el límite de varios cursores","Alternar contraer regiones sin cambios","Alternar Mostrar bloques de código movidos","Alternar el uso de la vista insertada cuando el espacio es limitado","Editor de diferencias","Lado del conmutador","Salir de la comparación de movimientos","Contraer todas las regiones sin cambios","Mostrar todas las regiones sin cambios","Revertir","Visor de diferencias accesibles","Ir a la siguiente diferencia","Ir a la diferencia anterior","Icono de \"Insertar\" en el visor de diferencias accesible.","Icono de \"Quitar\" en el visor de diferencias accesible.","Icono de \"Cerrar\" en el visor de diferencias accesible.","Cerrar","Visor de diferencias accesible. Utilice la flecha hacia arriba y hacia abajo para navegar.","no se han cambiado líneas","1 línea cambiada","{0} líneas cambiadas","Diferencia {0} de {1}: línea original {2}, {3}, línea modificada {4}, {5}","vacío","{0} línea sin cambios {1}","{0} línea original {1} línea modificada {2}","+ {0} línea modificada {1}","- {0} línea original {1}"," use {0} para abrir la ayuda de accesibilidad.","Copiar líneas eliminadas","Copiar línea eliminada","Copiar líneas cambiadas","Copiar línea cambiada","Copiar la línea eliminada ({0})","Copiar línea cambiada ({0})","Revertir este cambio","Uso de la vista insertada cuando el espacio es limitado","Mostrar bloques de código movidos","Revertir bloque","Revertir selección","Abrir visor de diferencias accesibles","Plegar la región sin cambios","{0} líneas ocultas","Haga clic o arrastre para mostrar más arriba","Mostrar región sin cambios","Hacer clic o arrastrar para mostrar más abajo","{0} líneas ocultas","Doble clic para desplegar","Código movido con cambios en la línea {0}-{1}","Código movido con cambios de la línea {0}-{1}","Código movido a la línea {0}-{1}","Código movido de la línea {0}-{1}","Revertir los cambios seleccionados",Line truncated
globalThis._VSCODE_NLS_LANGUAGE="es";
+1
View File
@@ -0,0 +1 @@
export {};
Loaded 100 of 4082 files, more files were not shown because too many files have changed in this diff. Show more